작성
·
633
0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp
{
enum Playertype
{
None=0,
Knight=1,
Archer=2,
Mage=3
}
class Player:Creature
{
protected Playertype type = Playertype.None;
protected int hp = 0;
protected int attack = 0;
protected Player(Playertype type):base(CreatureType.Player)
{
this.type = type;
}
public void SetInfo(int hp, int attack)
{
this.hp = hp;
this.attack = attack;
}
public Playertype GetPlayertype() { return type; }
public int GetHp() { return hp; }
public int GetAttack() { return attack; }
public bool IsDead() { return hp <= 0; }
public void OnDamaged(int damage)
{
hp -= damage;
if (hp <= 0)
{ hp = 0; }
}
class Knight : Player
{
public Knight() : base(Playertype.Knight)
{
SetInfo(100, 10);
}
}
class Archer : Player
{
public Archer() : base(Playertype.Archer)
{
SetInfo(70, 15);
}
}
class Mage : Player
{
public Mage() : base(Playertype.Mage)
{
SetInfo(60, 20);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharp
{
enum Mode
{
None,
Lobby,
Gild,
Biliage
}
;
internal class Game
{
Player player = null;
Monster monster = null;
Mode mode = Mode.Lobby;
public void Process()
{
switch(mode)
{
case Mode.Lobby:
ProcessLobby();
break;
}
}
public void ProcessLobby()
{
while (true)
{
Console.WriteLine("직업을 선택하세요");
Console.WriteLine("[1]검사");
Console.WriteLine("[2]궁");
Console.WriteLine("[3]마법사");
string input = Console.ReadLine();
switch (input)
{
case "1":
player = new Knight();
break;
}
}
}
}
}
이렇게 있을 때 두번째 파일의 player = new Knight();
에서 심각도 오류 CS0246 'Knight' 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요.
라는 오류가 뜹니다 아무리 찾아봐도 뭐가 문젠지 모르겠어요ㅠㅠ
처음엔 오류의 원인을 찾는게 원래 이렇게 어려운건가요?
찾아볼 때 그 과정에서도 모르는 말이 너무 많아서 하나하나 찾아가다보면 이렇게 오래 걸릴 단계가 아닌 것 같은데 시간이 많이 지체되고 결국 잘못된 방향으로 찾아서 해결책도 찾지 못할 때가 많아요.
처음 공부할 때는 너무 막히면 질문하고 일단 넘어가고 나중에 돌아오는게 맞을까요? 아니면 끝까지 문제를 파악하고 넘어가야할까요?
답변 2
0
class Knight의 위치가 잘못 되었습니다.
밖에다가 만들어야 하는데 class Player 내부에다 만들어서 발생한 문제입니다.
요렇게 밖에다 해주셔야 합니다.
0
처음에 문법 헤딩은 정말 끔찍하고
별 것도 아닌 것 가지고 1시간씩 낭비하고 그런 일이 비일비재합니다.
그런 무한 헤딩과 경험이 쌓이다 보면,
나중에는 에러 메시지만 보고도 원인이 유추되는 내공이 쌓입니다.
위 내용이 보기가 어려워서 잘 모르겠는데
정말 해결이 안되면 전체 솔루션 압축해서 rookiss@naver.com 로 보내주세요.
감사합니다!! 강의 너무 재밌어요
열심히 할게요><