소스 분석좀 부탁드릴께요~!!
세찬
이 소스는 경마 소스 입니다. 주석과 직접 짜진 않았찌만 소스 구성 및 설계 배경등 보고서하나 작성해주실분 쪽지 부탁드립니다. 꼭 사례하겠습니다....
#include stdio.h
#include stdlib.h
#include time.h
#include conio.h
#define NUM 5
void burst(int a[NUM]);
int race(int a[NUM], int bet_h);
void rank(int b[NUM]);
void swap(int *p, int *q);
void start_screen();
int bet(int my_money);
void three_second ();
void print_3();
void print_2();
void print_1();
int main(void)
{
int my_money = 10000;
start_screen();
do{
my_money = bet(my_money);
}while(my_money 0);
printf(거지되따!);
printf(수고하셨습니다.);
printf(\n\n);
return 0;
}
void start_screen(){
printf( *************************************\n);
printf( ********* *********\n);
printf( ********* 경 마 게 임 *********\n);
printf( ********* *********\n);
printf( *************************************\n);
printf( 검은별 마사회\n\n);
printf(\n--- 저희 말들을 소개 하겠습니다 ---\n\n);
printf(1번마 하이페리온 ┏┓ˇ∋-\n);
printf(2번마 피닉스 ┌┐˚>-\n);
printf(3번마 적토마 ┎┒'≫-\n);
printf(4번마 뜨는 해 ┍┑`⊃-\n);
printf(5번마 만파식적 ┏┓º⊇-\n\n);
}
int bet(int money){
int i, bet_m = 1, bet_h, match=1,
winhorse, betting[NUM], im[NUM], myrule = 0;
srand(time(NULL));
for(i=0; i NUM; ++i) //배당율을 지정한다.
betting[i] = (rand() % 10) + 1;
printf( -----------------------------------------------------\n);
printf(| | 1번 | 2번 | 3번 | 4번 | 5번 |\n);
printf(| 배당률 | %3d | %3d | %3d | %3d | %3d |\n,betting[0], betting[1], betting[2], betting[3], betting[4]);
printf( -----------------------------------------------------\n);
printf(\n내 돈 %d원\n, money);
while(match 6){ //말번호를 잘못 입력하면 다시 입력
printf(몇번마 : );
scanf(%d, &bet_h);
match = bet_h;
match = match + 5; // 이렇게 함으로써 while문을 빠져나간다.
if(bet_h 5 || bet_h 1){
printf(다시 입력하십시오\n);
match = 1;
}
}
match = 1; //다음 while문에 쓰기 때문에 다시 1로 배정
while(match = money){ //배팅하려는돈이 자기돈보다 많으면 다시 입력
printf(배팅 액수 : );
scanf(%d, &bet_m);
match = bet_m;
match = match + money;
if(bet_m money){
printf(자신이 가진돈보다 많은 돈을 배팅하셨습니다.\n다시 입력하십시오\n);
match = money;
}
}
do{
myrule = 0;
for(i=0;iNUM;++i){
im[i] = rand()%2 + 1;
if (im[i] == 1)
myrule = myrule + 1;
}
}while(myrule == 0);
winhorse = race(&im[0], bet_h);
if(winhorse == 1){
money = money + (bet_m * betting[bet_h - 1]);
printf(%d원 벌음\n, bet_m * betting[bet_h - 1]);
}
else{
money = money - bet_m;
printf(%d원 잃음\n, bet_m);
}
return money;
}
int race(int a[NUM], int bet_h){
int i, j, z, count[NUM], final;
srand(time(NULL));
for(z=0;zNUM;++z)
count[z] = 0;
three_second();
printf(\a);
for (j = 0; j 69 ; ++j){
system(cls);
printf(①하이페리온\n);
for (i = rand()%2 ; ij ; i = i + a[0]){
printf( );
if(j == 68)
count[0] = count[0] + 1;
}
if (j 40)
printf(┏┓ˇ∋-);
else if (j % 2 == 0 )
printf(/ ̄\ˇ∋-);
else
printf(< ̄>ˇ∋-);
printf(\n\n);
printf(②피닉스\n);
for (i = rand()%3 ; ij ; i = i + a[1]){
printf( );
if(j == 68)
count[1] = count[1] + 1;
}
if (j 40)
printf(┌┐˚>-);
else if (j % 2 == 0)
printf(/ ̄\˚>-);
else
printf(< ̄>˚>-);
printf(\n\n);
printf(③적토마\n);
for (i = rand()%2 + 1 ; ij ; i = i + a[2]){
printf( );
if(j == 68)
count[2] = count[2] + 1;
}
if (j 40)
printf(┎┒'≫-);
else if (j % 2 == 0)
printf(/ ̄\'≫-);
else
printf(< ̄>'≫-);
printf(\n\n);
printf(④뜨는 해\n);
for (i = (rand() + 1) % 2 ; ij ; i = i + a[3]){
printf( );
if(j == 68)
count[3] = count[3] + 1;
}
if (j 40)
printf(┍┑`⊃-);
else if (j % 2 == 0)
printf(/ ̄\`⊃-);
else
printf(< ̄>`⊃-);
printf(\n\n);
printf(⑤만파식적\n);
for (i = rand()%3 + 1 ; ij ; i = i + a[4]){
printf( );
if(j == 68)
count[4] = count[4] + 1;
}
if (j 40)
printf(┏┓º⊇-);
else if (j % 2 == 0)
printf(/ ̄\º⊇-);
else
printf(< ̄>º⊇-);
printf(\n\n);
if (j == 45)
burst(&a[0]);
_sleep(200);
if (i=50)
_sleep(50 * a[0]);
}
final = count[bet_h - 1];
rank(&count[0]);
if(final == count[0])
return 1;
else
return 0;
}
void three_second (){
int first, last, result;
first = time(NULL);
last = time(NULL);
do{
result = (last - first);
switch (result) {
case 1 :
system(cls);
print_3();
break;
case 2 :
system(cls);
print_2();
break;
case 3 :
system(cls);
print_1();
break;
default :
break;
}
last = time(NULL);
}while (result !=4);
}
void rank(int b[NUM]){
int i, j;
for(i=0;iNUM-1;++i)
for(j=NUM-1;ji;--j)
if(b[j-1] b[j])
swap(&b[j-1], &b[j]);
}
void swap(int *p, int *q){
int tmp;
tmp = *p;
*p = *q;
*q = tmp;
}
void burst(int a[NUM]){
int free, i;
srand(time(NULL));
for(i = 0; i 10; ++i){
free = rand()%4;
swap(&a[free], &a[free+1]);
}
}
void print_3(){
printf(\n\n\n\n\n\n);
printf( ***************************\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
printf( ***************************\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
printf( ***************************\n);
}
void print_2(){
printf(\n\n\n\n\n\n);
printf( ***************************\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
printf( ***************************\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
printf( ***************************\n);
}
void print_1(){
printf(\n\n\n\n\n\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
prin
printf( ******\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
printf( ******\n);
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2676182 | 숫자 순서대로 배열하는법 | 권뉴 | 2024-11-24 |
2676152 | 기본적인거 하나 질문드립니다. | 개미 | 2024-11-24 |
2676124 | 함수선언관련 질문이에요~...털썩..수정완료 (2) | 가지 | 2024-11-24 |
2676092 | C언어 책 (2) | 아서 | 2024-11-24 |
2676065 | 웹사이트 또는 메신저 등에서 원하는 텍스트를 검사하는방법?? (1) | 모든 | 2024-11-23 |
2676033 | 배열 기초연습중 발생하는 에러 ㅠㅜ... | Creative | 2024-11-23 |
2676005 | keybd_event 게임 제어 | 영글 | 2024-11-23 |
2675900 | 진짜기본적인질문 | 글길 | 2024-11-22 |
2675845 | 수정좀해주세요ㅠㅠㅠ | 해골 | 2024-11-21 |
2675797 | 병합 정렬 소스 코드 질문입니다. (2) | 도래솔 | 2024-11-21 |
2675771 | 큐의 활용이 정확히 어떻게 되죠?? | 해긴 | 2024-11-21 |
2675745 | 도서관리 프로그램 질문이요 | 도리도리 | 2024-11-20 |
2675717 | 2진수로 변환하는것! (3) | 동생몬 | 2024-11-20 |
2675599 | for문 짝수 출력하는 법 (5) | 널위해 | 2024-11-19 |
2675575 | Linux 게시판이 없어서.. | 첫삥 | 2024-11-19 |
2675545 | 구조체 이용할 때 함수에 자료 넘겨주는 것은 어떻게 해야 하나요? | 아연 | 2024-11-19 |
2675518 | 사각형 가로로 어떻게 반복해서 만드는지좀.. 내용 | 신당 | 2024-11-18 |
2675491 | !느낌표를 입력하는것은 어떻게합니까~~?ㅠㅠ (5) | 사지타리우스 | 2024-11-18 |
2675411 | 파일입출력으로 받아온 파일의 중복문자열을 제거한 뒤 파일출력 | 앨버트 | 2024-11-17 |
2675385 | 링크드리스트 주소록 질문드립니다. (1) | 겨루 | 2024-11-17 |