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