가위 바위 보 게임을 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 |