2024-05-03 TIL

조창일·2024년 5월 3일

내배캠

목록 보기
15/51
post-thumbnail

팀 프로젝트

캐릭터 생성하기

 if(status == null)  // status == null이면
 {
     Console.WriteLine("스파르타 던전에 오신 여러분 환영합니다.");
     Console.WriteLine("원하시는 이름을 설정해주세요.\n");
     Console.Write(">> ");

     string nameInput = Console.ReadLine();

직업 선택하기

    while (true)
    {
        Console.Clear();

        Console.WriteLine("원하는 직업을 선택해주세요.\n");
        Console.WriteLine("1. 전사");
        Console.WriteLine("2. 마법사");
        Console.WriteLine("3. 도적");
        Console.WriteLine("4. 궁수");
        Console.WriteLine("5. ?????\n");
        Console.Write(">> ");

        Random random = new Random();

        string jobInput = Console.ReadLine();
        int jobNumInput;

        if (int.TryParse(jobInput, out jobNumInput))
        {
            if (jobNumInput == 1)
            {
                status = new Player(10, 100, 5, 1, nameInput, "전사", 1500);    // Player 객체 생성
                break;
            }
            else if (jobNumInput == 2)
            {
                status = new Player(13, 90, 5, 1, nameInput, "마법사", 1500);
                break;
            }
            else if (jobNumInput == 3)
            {
                status = new Player(15, 85, 5, 1, nameInput, "도적", 1500);
                break;
            }
            else if (jobNumInput == 4)
            {
                status = new Player(18, 80, 5, 1, nameInput, "궁수", 1500);
                break;
            }
            else if (jobNumInput == 5)
            {
                status = new Player(random.Next(10, 21), random.Next(80,101), 5, 1, nameInput, "?????", random.Next(0, 10001));
                break;
            }
            else
            {
                Program.InputError();
            }
        }
        else
        {
            Program.InputError();
        }
    }
}

플레이어 공격에 오차범위 넣기

        public void PlayerAttack(Monster monster)
        {
            Random rand = new Random();  // 랜덤객채를 생성
            int error = (int)Math.Ceiling(0.1f * Attack);
            random_attackErrorrange = rand.Next((Attack - error), (Attack + error + 1));         // 공격력 오차범위 생성

            // monster의 hp에서 player의 attack을 뺌
            monster.Hp -= random_attackErrorrange;
            // monster의 hp가 0 이하라면
            if (monster.Hp <= 0)
            {
                // monster의 hp = 0
                monster.Hp = 0;
            }
        }

cotinue

Continue는 현재 반복 실행중인 반복문을 중지하고 다음 반복문으로 이동한다.

profile
안녕하세요.

0개의 댓글