가위 바위 보 게임을 c언어로 제작해 보았습니다

 

게임은 첫 번째 화면에서는 금액을 입력하면 두 번째 화면으로 넘어가게되고

금액에 따라 게임 횟수가 결정이됩니다

 

두 번째 화면에서는 가위, 바위, 보 중에서 선택을 하는 화면이고 남은 게임 횟수가 표시됩니다

무엇을 낼지 입력하였다면 세 번째 화면으로 넘어갑니다

 

세 번째 화면에서는 가위, 바위, 보가 처음에는 빠르게 돌아가다 점차 느려지게되며 네 번째 화면으로 넘어갑니다

 

네 번째 화면에서는 컴퓨터가 낸것과 유저가 낸것이 같이 나타나게 되며 게임 결과를 알려주고

이겼을시에는 랜덤으로 게임횟수가 증가하고 비겼을 시에는 게임횟수가 그대로 졌을시에는 게임 횟수가 1 차감됩니다

 

게임 횟수가 0이될 때 까지 네 번째 화면에서 엔터를 누르면 다시 두 번째 화면으로 돌아가 게임을 계속 진행하게 됩니다

 

금액 입력란에 금액을 입력해주세요
가위, 바위, 보 입력란에 해당 숫자에 맞춰 숫자를 입력해주세요
재미를 살려서 가위, 바위, 보가 돌아가는 것처럼 꾸며 본 화면입니다
컴퓨터가 낸것과 유저가 낸것이 보이고 결과가 출렵됩니다

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>

int main()
{
	int user = 0;		// 사용자가 입력한 값을 담는 변수
	int com = 0;		// 랜덤 값을 담는 변수
	int coin = 0;		// 게임을 진행할 수 있는 횟수를 나타내는 변수
	int tmp = 0;		// 게임에서 이겼을 경우 coin의 증가를 위한 변수
	int ct = 0;			// 반복되는 모양을 위한 카운트 변수

	srand((unsigned)time(NULL));

	printf("=======가위 바위 보 게임========= \n");
	printf("=                               = \n");
	printf("=     게임을 시작하려면         = \n");
	printf("=        코인을 넣어            = \n");
	printf("=          주세요               = \n");
	printf("=      (한판에 100원)           = \n");
	printf("=                               = \n");
	printf("=                     #####     = \n");
	printf("=                     # | #     = \n");
	printf("=    동전 투입 --->   # | #     = \n");
	printf("=                     # | #     = \n");
	printf("=                     #####     = \n");
	printf("================================= \n\n");

	printf("금액을 입력하세요 : ");
	scanf("%d", &coin);

	system("cls");

	printf("금액 : %d , 게임횟수 : %d \n\n", coin, coin / 100);
	coin = coin / 100 * 100;

	while (coin)
	{
		printf("=== 가위 바위 보 게임 ===\n");
		printf("=== 남은 코인수 : %d  ===\n\n", coin / 100);

		printf("숫자를 입력해주세요(1. 가위 / 2. 바위 / 3. 보) :");
		scanf(" %c", &user);

		if (user == 'x' || user == 'X')
		{
			break;
		}
		else
		{
			user -= 0x30;
		}
		user = user % 3;                   

		if (!user)
		{
			user = 3;
		}

		com = rand() % 3 + 1;

		for (ct = 1; ct < 300; ct += 30)
		{
			printf("=== 가위 바위 보 게임 ===\n");
			printf("=== 남은 코인수 : %d  ===\n\n", coin / 100);
			printf("    ====        ===		\n");
			printf("   ======      =====	\n");
			printf("   ======      =====	\n");
			printf("   ======      =====	\n");
			printf("    ======    ===== 	\n");
			printf("  ===================	\n");
			printf("  ===================	\n");
			printf("   =================    \n");
			Sleep(ct);
			system("cls");

			printf("=== 가위 바위 보 게임 ===\n");
			printf("=== 남은 코인수 : %d  ===\n\n", coin / 100);
			printf("\n");
			printf("  ===== ===== ===== =====\n");
			printf("  ===== ===== ===== =====\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf("   =====================  \n");
			Sleep(ct);
			system("cls");

			printf("=== 가위 바위 보 게임 ===\n");
			printf("=== 남은 코인수 : %d  ===\n\n", coin / 100);
			printf("\n");
			printf("      === === === ===	\n");
			printf("      === === === ===	\n");
			printf("      === === === ===	\n");
			printf(" ==   === === === ===	\n");
			printf(" ==== ===============	\n");
			printf("  === ===============	\n");
			printf("  ===================	\n");
			printf("     ===============  \n");
			Sleep(ct);
			system("cls");
		}

		switch (com)
		{
		case 1:
		{
			printf("=== 가위 바위 보 게임 ===\n");
			printf("=== 남은 코인수 : %d  ===\n\n", coin / 100);
			printf("\n");
			printf("    ====        ===		\n");
			printf("   ======      =====	\n");
			printf("   ======      =====	\n");
			printf("   ======      =====	\n");
			printf("    ======    ===== 	\n");
			printf("  ===================	\n");
			printf("  ===================	\n");
			printf("   =================    \n");
			printf("\n   com == 가위 \n");
			break;
		}
		case 2:
		{
			printf("=== 가위 바위 보 게임 ===\n");
			printf("=== 남은 코인수 : %d  ===\n\n", coin / 100);
			printf("\n");
			printf("  ===== ===== ===== =====\n");
			printf("  ===== ===== ===== =====\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf("   =====================  \n");
			printf("\n     com == 바위 \n");
			break;
		}
		case 3:
		{
			printf("=== 가위 바위 보 게임 ===\n");
			printf("=== 남은 코인수 : %d  ===\n\n", coin / 100);
			printf("\n");
			printf("      === === === ===	\n");
			printf("      === === === ===	\n");
			printf("      === === === ===	\n");
			printf(" ==   === === === ===	\n");
			printf(" ==== ===============	\n");
			printf("  === ===============	\n");
			printf("  ===================	\n");
			printf("     ===============  \n");
			printf("\n     com == 보 \n");
			break;
		}
		default:
			break;
		}

		if (user == 1)												
		{
			printf("\n");
			printf("    ====        ===		\n");
			printf("   ======      =====	\n");
			printf("   ======      =====	\n");
			printf("   ======      =====	\n");
			printf("    ======    ===== 	\n");
			printf("  ===================	\n");
			printf("  ===================	\n");
			printf("   =================    \n");
			printf("\n   user == 가위 \n");
		}
		else if (user == 2)
		{
			printf("\n");
			printf("  ===== ===== ===== =====\n");
			printf("  ===== ===== ===== =====\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf(" =========================\n");
			printf("   =====================  \n");
			printf("\n     user == 바위 \n");
		}
		else
		{
			printf("\n");
			printf("      === === === ===	\n");
			printf("      === === === ===	\n");
			printf("      === === === ===	\n");
			printf(" ==   === === === ===	\n");
			printf(" ==== ===============	\n");
			printf("  === ===============	\n");
			printf("  ===================	\n");
			printf("     ===============  \n");
			printf("\n     user == 보 \n");
		}													

		if (user == com)
		{
			printf(" \n비겼습니다.\n");
		}
		else
		{
			coin -= 100;

			if ((user == 1 && com == 3) || (user == 2 && com == 1) || (user == 3 && com == 2))
			{
				printf("\n이겼습니다.^^\n");
				tmp = (rand() % 3 + 1) * 100;
				printf("\n 포인트 : %d \n", tmp);
				coin += tmp;
			}
			else
			{
				printf("\n졌습니다.ㅠㅠ\n");
			}
		}
		getchar();
		getchar();
		system("cls");
	}
	return 0;
}

 

'C언어' 카테고리의 다른 글

값을 교환해주는 함수 (C언어)  (0) 2020.11.05
간단한 구구단 코딩 (C언어)  (0) 2020.11.05
로또 게임 제작 (C언어)  (0) 2020.11.04

+ Recent posts