출처 : 반크_세계유산 석굴암
문제]
임의의 자연수 두개를 발생하여 더하기 게임하기.
단계마다 5개의 문제를 맞추면 다음 단계로 진행할 수 있도록 한다.
단계가 끝나면 계속 작업여부를 체크한다.
작업을 끝내면 결과를 기준으로 능려자 여부를 출력한다.
프로그램]
//Dev-C++ 5.11로 작업함.
//두뇌 개발 프로그램 Ver 0.1
//더하기 게임
#include <stdio.h>
#include <stdlib.h> //srand(), rand()
#include <time.h> //time()
int main()
{
int a,b;//문제 발생 변수
int player_answer;//문제에 대한 정답변수
int count;//맞춘 개수 변수
int total_count;//전체 문제를 세는 변수
int stage;//게임의 단계를 체크하는 변수
int N;//문제의 난이도를 결정하는 변수
char ch;//게임 계속여부를 결정하는 변수
//무작위로 문제를 발생할 수 있도록 초기값 설정
srand(time(NULL));
printf("[ 남녀노소 누구나 두뇌 개발 프로젝트! ]\n");
printf("더하기 게임을 시작합니다.\n\n");
N=10;
stage=0;
total_count=0;
while(1)
{
printf("%d단계를 시작합니다.\n",++stage);
count=0;
while(1)
{
total_count++;//발생되는 문제의 개수를 센다.
//문제를 발생한다.
a=rand()%N;
b=rand()%N;
//발생한 문제의 정답을 Player가 입력한다.
printf("%d + %d = ",a,b);
scanf("%d%*c",&player_answer); //%*c : enter key
//정답이 맞는 지 체크한다.
if((a+b)==player_answer)
{
count++;
printf("축하합니다! 정답입니다.\n\n");
}
else
{
printf("아! %d + %d = %d 이였습니다.\n",a,b,a+b);
printf("좀 더 집중해 보세요.\n");
printf("화이팅!!!\n\n");
}
if(count==5) break;
printf("현재 %d개를 맞추었습니다.\n",count);
printf("5개를 맞추면 %d단계를 통과합니다.\n\n",stage);
}
printf("축하합니다. %d단계를 통과하였습니다.\n\n",stage);
//계속여부 체크하는 부분
while(1)
{
printf("다음 단계로 진행할까요(y/n)? ");
scanf("%c%*c",&ch); //%*c : enter key
if(ch=='y' || ch=='Y' || ch=='n' || ch=='N') break;
printf("y, Y, n, N만 입력하세요.\n");
printf("다시 입력하세요...\n");
}
if(ch=='n' || ch=='N') break;
N+=5;//난이도를 높인다.
}
printf("\n총 %d개의 문제 중 ",total_count);
printf("%d개의 문제를 맞추었습니다.\n", stage*5);
if(total_count==stage*5)
printf("당신은 능력자입니다.\n");
else
printf("꾸준히 노력하면 당신도 능력자가 될 수 있습니다.\n");
printf("\n수고하셨습니다.\n");
return 0;
}
결과]
대한민국의 아름다운 영토, 독도의 겨울
'프로그램 > C언어 1000제' 카테고리의 다른 글
C언어 133제] 게임 프로젝트 1. 두뇌 개발 프로젝트 Ver 0.3 (0) | 2022.03.22 |
---|---|
C언어 132제] 게임 프로젝트 1. 두뇌 개발 프로젝트 Ver 0.2 (0) | 2022.03.16 |
C언어 130제] C언어 콘서트 CHAPTER 14 Programming 4 p548 (0) | 2022.02.11 |
C언어 129제] C언어 콘서트 CHAPTER 14 Programming 3 p547 (0) | 2022.02.11 |
C언어 128제] C언어 콘서트 CHAPTER 14 Programming 2 p547 (0) | 2022.02.09 |
댓글