C ++/C++ 게임

221206 Up&Down 게임 만들기

무면허 개발자 2022. 12. 6. 15:34
  1. Up&Down 게임만들기
    1. 1 ~ 100 사이의 랜덤 숫자 뽑기
    2. 플레이어가 1부터 100 사이의 숫자 입력하기 ( 범위 벗어나면 예외 처리 )
    3. 입력값이랑 랜덤 숫자랑 비교하기 ( 같으면 게임종료, 낮거나 높으면 높은지 낮은지 알려주고 다시 입력하기 )
    4. 클리어할때마다 난이도 높이기 ( N번 입력하면 게임 오버, 입력 범위 높이기, 컴퓨터가 일정확률로 거짓말하기 등등 )
#include <iostream>
#include <time.h>
#include <Windows.h>
using namespace std;
void UpandDown(int playerNum, int randomNum)
{
	if (playerNum > randomNum)
	{
		cout << "선택한 정수가 더 높습니다." << endl;
		Sleep(1000);
		cout << "다시 선택해주세요." << endl;
		Sleep(1000);
		system("cls");
	}
	else if (playerNum < randomNum)
	{
		cout << "선택한 정수가 더 낮습니다." << endl;
		Sleep(1000);
		cout << "다시 선택해주세요." << endl;
		Sleep(1000);
		system("cls");
	}
}
int main()
{
	int difficulty = 1;
	int randomNum;
	srand(time(NULL));
	randomNum = (rand() % 100 * difficulty - 1) + 1;
	cout << "Up&Down 게임을 시작하겠습니다." << endl;
	Sleep(1000);
	while (1)
	{
		int playerNum;
		cout << "1부터 100 사이의 정수를 선택하세요." << endl;
		cin >> playerNum;
		if (playerNum <= 0 || playerNum > 100 * difficulty)
		{
			cout << "범위 외의 숫자를 선택했습니다." << endl;
			Sleep(1000);
			cout << "다시 선택해주세요." << endl;
			Sleep(1000);
			system("cls");
			continue;
		}

		UpandDown(playerNum, randomNum);
		if (playerNum == randomNum)
		{
			cout << "축하합니다! 정답을 맞췄습니다!" << endl;
			Sleep(1000);
			cout << "클리어로 인해 난이도가 어렵게 조정됩니다." << endl;
			Sleep(2000);
			difficulty++;
			system("cls");
			continue;
		}
	}
}