C언어

(C/C++) 문자열 맞추기 게임 구현하기!

혀래이 2021. 6. 29. 17:45
  • 미리 정해놓은 5가지 문장(6글자) 중 하나를 랜덤하게 뽑아서 스펠링을 맞추는 게임을 구현해보자
  • 문장들을 추가하고 힌트를 제공하는 기능을 추가하면 더 재밌어 질 것 같다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
void main() {
    srand(time(NULL));
 
    char word[5][7= { "banana""rocket""yellow""orange""secret" };
    
    char* answer = word[rand() % 5];
    char blind[] = "______";
    char c;
    int cnt, key, life = 3;
    
    while (1) {
        cnt = 0;
        key = 0;
 
        printf("%s : ", blind);
        scanf(" %c"&c);
 
        // 입력 단어가 정답 문장에 있는지 확인
        for (int i = 0; i < 6; i++) {
            if (c == blind[i]) {
                key = 1;
                printf("이미 등록한 문자입니다!! 재입력하세요!! \n");
                break;
            }
            else if (c == answer[i]) {
                blind[i] = c;
                cnt++;
            }
        }
 
        // 이미 등록한 문자라면 재입력 받아주기
        if (key == 1) {
            continue;
        }
 
        // 하나도 없으면 목숨 1개 잃음. 3개 잃으면 게임 오버
        if (cnt == 0) {
            life--;
            if (life == 0) {
                printf("GameOver...\n");
                break;
            }
        }
 
        // 모든 단어를 다 맞췄다면 정답을 출력하고 종료
        if (strcmp(blind, answer) == 0) {
            printf("%s\n", blind);
            printf("정답!!!");
            break;
        }
    }
 
}
cs

 

게임 실행 화면