#include <stdlib.h> // rand 명령어를 쓰기위한 헤더파일
#include <time.h> // srand(time(NULL)); 을 쓰기위한 헤더파일
#include <stdlib.h> // system("pause"); 사용을 위한 헤더파일
int midnight_gambler(int); // 함수 정의
int money;
int random;
char ch;
void main(void)
{
srand(time(NULL)); // rand는 시간에 의해 랜덤한 수를 뽑게된다.
/* 설명 + 돈 입력받기 */
printf("♠미드나잇 겜블러에 오신것을 환영합니다.♠\n");
printf("\n승률은 30%%이며 이길시 원금이 200%%로 증가합니다. \n패배할 확률은 70%%로 원금의 50%%가 감소합니다.\n원금이 100원 이하가 되면 당신은 쫓겨납니다.\n\n");
printf("돈을 넣어주세요 : ");
scanf("%d", &money);
/* 돈이 있나 없나 검사하기 */
restart :
if(money <= 100)
{
printf("\n");
printf("빈 털털이가 되셨군요. 손님, 나가주셔야겠습니다.ㅡㅡ");
printf("\n");
goto end;
}
else
{
}
money = midnight_gambler(money); // 함수 호출 + money에 도박 결과값 적용하기! [1석 2조 ^오^]
ask_again :
/* 계속할꺼임? */
printf("\n\n");
printf("계속 하시겠습니까? [Y/N] : ");
scanf(" %c", &ch); // %c 앞에 한칸을 띄웠다. 이것이 바로 공백 지정자! 앞서받은 값들중 ENTER같은 공백은 받지않는다는 말이다.
if(ch == 'Y')
{
goto restart;
}
else if(ch == 'N')
{
printf("\n");
printf("당신은 %d 만큼 돈을 벌었습니다", money);
}
else
{
printf("Y 또는 N 만 입력해야 합니다.");
goto ask_again;
}
/* 엔딩 */
end :
printf("\n");
printf("[도박장을 나왔습니다.]");
printf("\n\n");
system("pause"); // 바로 종료되는것을 막기위한 명령어
}
int midnight_gambler(int money) // 함수 정의 : 도박 함수!
{
random = rand() % 10 + 1; // 1~10 랜덤수뽑기 ★#include <stdlib.h>
printf("\n");
/* 승리, 패배 판단하기 */
if(random <= 3)
{
money = money * 3;
printf("★이겼습니다!★");
}
else
{
money = money * 0.5;
printf("졌습니다...");
}
printf("\n");
printf("도박 결과 : %d \n", money);
return money;
}
소스코드는 그대로 복사 붙여넣기 하시면 됩니다.
주석은 제 스스로 복습-학습을 위해 단것들도 있으니 양해부탁드립니다. :D