C 예제.
C언어 간단한 주사위 게임!!
주사위 게임 규칙
- 사용자는 자본금 1000원을 가지고 시작.
- 한번 게임에 100원을 배팅하며, 1~6사이의 숫자 1개를 선택.
- 주사위의 숫자가 사용자가 배팅한 숫자와 일치하면 600원을 적립. (배팅금액 포함 600원)
- 자본금이 0원이 되면 게임은 자동 종료.
- 주사위 결과는 랜덤함수를 사용한다.
#include#include int main() { int n = 0; int money = 1000; int dice = 0; printf("게임을 시작 합니다.\n"); while(1){ printf("주사위를 배팅하세요(종료하려면 -1을 입력하세요) : "); scanf("%d", &n); if(n == -1){ printf("게임을 종료 합니다. 최종 금액 : %d\n", money); break; } srand(time(NULL)); dice = rand() % 6 + 1; if(dice == n) money += 500; else money -= 100; printf("주사위 결과 : %d, 배팅숫자 : %d, 현재금액 : %d\n", dice, n, money); if(money == 0){ printf("배팅금액이 모두 소진되 게임이 종료 됩니다.\n"); break; } } return 0; }
결과 화면.
( 운도 드릅게 없지...5가 한번만 나오냐... )
rand 함수를 이용해 난수를 발생 시켜 해당 난수를 6으로 나누고 +1을 해 1~6이라는 값을 렌덤으로 나오게 해서 쉽게 완료.
여기서 나름 포인트 라고 할만한 점은 srand(time(NULL) 이 부분인데,
srand 를 이용하지 않고 rand 만을 사용하면 어느순간 난수가 똑같은 패턴으로만 나온다는걸 알수가 있습니다.
rand 가 해당 시간에 따라 난수를 발생 시키기 때문인데,
그래서 일정 패턴이 없는 완전한 난수의 발생을 위해서 srand 를 이용해 줘야합니다.
srand 에 대한 더 자세한 설명은 다음에..
'C/C++ > 예제' 카테고리의 다른 글
[C 예제] 선택 정렬 과 검색. (0) | 2014.05.30 |
---|---|
[C 예제] 영화관 좌석 예매. (0) | 2014.05.30 |
[C++ 예제] 삽입, 선택 정렬 (0) | 2014.05.29 |
[C 예제] 구구단 출력 하기. (0) | 2014.05.29 |
[C 예제] 문자열 안에 있는 각문자들 카운트 (0) | 2014.05.29 |