내일배움캠프

내일배움캠프 Unity - 사전캠프 (팀원과 함께해요 1)

달시_Dalsi 2025. 1. 7. 15:04
728x90

행맨 게임

사용자로부터 문자를 입력받아 숨겨진 단어를 맞추는 행맨 게임을 작성하세요.
사용자가 단어의 모든 문자를 맞추거나 주어진 기회 내에 맞추지 못할 때까지 반복합니다.

  • 게임 설명: 행맨 게임은 사용자가 단어를 추측하는 게임입니다. 사용자는 알파벳을 하나씩 입력하고, 맞출 때마다 단어의 해당 위치에 문자가 표시됩니다. 틀릴 경우, 기회가 줄어듭니다.
  • 배열 사용: char[] 배열을 사용하여 단어를 저장하고, 추측된 문자를 저장합니다.
  • 반복문 사용: 게임은 사용자가 단어를 맞추거나 기회가 끝날 때까지 반복됩니다.
  • 조건문 사용: 각 입력된 문자가 단어에 포함되는지 확인합니다.

사용 변수 설명

  • secretWord: 맞춰야 할 단어입니다. 예제에서는 "hangman"으로 설정되어 있습니다.
  • guessWord: 사용자가 맞춘 문자를 저장하는 문자 배열로, 초기에는 언더스코어(_)로 채워져 있습니다.
  • attempts: 사용자가 틀릴 수 있는 기회의 수로, 초기에는 6으로 설정되어 있습니다.
  • wordGuessed: 사용자가 단어를 모두 맞췄는지를 나타내는 불리언 변수입니다.
char[] secretWord = { 'h', 'a', 'n', 'g', 'm', 'a', 'n' };
char[] guessWord = new char[7];
int attempts = 7;
bool wordGuessed = false;

for (int i = 0; i < guessWord.Length; i++)
{
    guessWord[i] = '_';
}

while (attempts > 0)
{
    Console.Write("현재 추측된 문자 : " + new string(guessWord));
    Console.Write("알파벳을 입력하세요: ");
    Console.Write("기회는 " + attempts + "번 남았습니다.");

    char input = Console.ReadLine()[0];

    bool checkInput = false;

    for (int i = 0; i < secretWord.Length; i++)
    {
        if (secretWord[i] == input && guessWord[i] == '_')
        {
            Console.Write("정답입니다.");
            guessWord[i] = input;
            checkInput = true;
            break;
        }
    }

    if (!checkInput)
    {
        Console.Write("오답입니다.");
        attempts--;
    }

    if (new string(secretWord) == new string(guessWord))
    {
        wordGuessed = true;
        break;
    }
}

if(wordGuessed)
{
    Console.WriteLine("모두 맞췄습니다.");
    return;
}
Console.WriteLine("모든 기회를 소모하여 실패했습니다.");
728x90