728x90
반응형
복학전에 공부겸 심심풀이로 C++또는 파이썬으로 게임을 만들어 보기로 했다.
가장 기초적인 게임부터 하나씩 만들어 볼 거다.
오늘 만들어본건 컴공 수업을 처음 들을 때 배우는 UP DOWN GAME인데 만드는 난이도가 쉽다.
여러 헤더를 얕고 다양하게 쓸 수 있어서 만들어보면 좋은 게임 같다.
아래는 소스 코드
#include <iostream>
#include <windows.h>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
string play("play");
string help("help");
string quit("quit");
bool hp=false;
int main() {
srand((unsigned int)time(0));
while(true) {
system("cls");
cout << "■■■■■■■■■■■■■■■■■■■■■■■■■■\n";
cout << "■■■■■■■■■ UP DOWN GAME ■■■■■■■■■\n";
cout << "■■■■■■■■■■■■■■■■■■■■■■■■■■\n";
if(hp==true) {
cout << "\n 게임이 시작되면 0~100 사이의 랜덤한 숫자가 정해집니다.";
cout << "\n 정해진 숫자를 추측해서 맞추는 게임입니다.";
cout << "\n 예측한 숫자가 정답보다 낮으면 UP, 높으면 DOWN, 같으면 게임이 끝납니다.";
cout << "\n 최소 횟수로 정답을 맞춰보세요!\n";
hp=false;
}
cout << "\n ▶ play";
cout << "\n ▶ help";
cout << "\n ▶ quit \n";
string inp;
cin >> inp;
if(inp.compare(play)==0) {
system("cls");
cout << "\n S ";
Sleep(200);
system("cls");
cout << "\n S T";
Sleep(200);
system("cls");
cout << "\n S T A";
Sleep(200);
system("cls");
cout << "\n S T A R";
Sleep(200);
system("cls");
cout << "\n S T A R T";
Sleep(400);
system("cls");
int tried=0;
int answer = rand() % 101;
while(true) {
int num;
cout << "\nOkay Let Guess : ";
cin >> num;
tried++;
if(num<0 || num>100) {
tried--;
cout << "0~100사이의 숫자만 입력할 수 있습니다.";
}
else if(num == answer) {
cout << "\n축하합니다! 당신은 " << tried << "번 만에 정답을 맞췄습니다!";
cout << "\n정답은 [" << answer << "] 입니다.\n";
system("pause");
break;
}
else if(num < answer) {
cout << "UP";
}
else {
cout << "DOWN";
}
}
}
else if(inp.compare(help)==0) {
hp=true;
}
else if(inp.compare(quit)==0) {
exit(0);
return 0;
}
}
return 0;
}
728x90
반응형
'Develop(개발) > C\C++' 카테고리의 다른 글
[C/C++] memset() 함수의 사용법과 주의사항 (1) | 2023.02.05 |
---|---|
C++ string 클래스 정리 (0) | 2020.11.26 |