25.02.07(금) - 본 캠프 TIL 15일차 (Today I Learned)
팀 프로젝트 진행
개인과제 해설영상과 기존의 강의들을 다시 참고하여 작성및 진행된 부분까지 리더의 화면 공유로 피드백.
static void Main 에서 Main 메서드는 하나만 사용 가능
int intput = ConsoleUtility.GetInput(0, 0);
if (intput == 0)
{
//Main();
}
}
}
static public class ConsoleUtility
{
static public int GetInput(int min, int max)
{
while (true)
{
if (int.TryParse(Console.ReadLine(), out int input) && (input >= min) && (input <= max))
return input;
Console.WriteLine("잘못된 입력입니다. 다시 입력해 주세요");
}
}
}
에서 GetInput 에서 오류 발생, 클래스 안에 같은 이름 매개변수를 가진 메서드가 2개 이상 있는지 확인 필요.
중복된 메서드를 제거하거나, 다른 이름으로 변경하면 해결
랜덤값으로 추출해서 rand에 넣어놓고 rand값만큼 돌려야한다
public void MonsterPrintInfo()
{
Console.WriteLine("Battle!!");
Random random = new Random();
List<Monster> monsters = new List<Monster>
{
new Monster("솔트", 1, 10, 3),
new Monster("슈가", 2, 10, 5),
new Monster("다이콘", 3, 15, 10),
new Monster("레드파우더", 5, 25, 15)
};
List<Monster> randmonsters = new List<Monster>();
int rand = random.Next(1,monsters.Count+1); // random.Next(1, monsters.Count + 1)를 통해
1부터 monsters.Count (4) 사이의 랜덤한 숫자를 선택합니다. 즉, 1~4마리의 몬스터가 전투에 참여합니다.
for (int i = 0; i < rand; i++)
{
int monsterIndex = random.Next(monsters.Count); // rand 횟수만큼 반복하면서 monsters 리스트에서 랜덤한 몬스터를 선택합니다. 선택된 몬스터는 randmonsters 리스트에 추가됩니다.
중복될 가능성 있음 (중복을 방지하려면 List에서 몬스터를 제거하는 방식으로 수정 가능).
randmonsters.Add(monsters[monsterIndex]);
}
foreach (Monster m in randmonsters)
{
m.MonsterState(m);
}
}