소스 분석좀 부탁드릴께요~!!
세찬
이 소스는 경마 소스 입니다. 주석과 직접 짜진 않았찌만 소스 구성 및 설계 배경등 보고서하나 작성해주실분 쪽지 부탁드립니다. 꼭 사례하겠습니다....
#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);
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700562 | 함수포인터에서요 (7) | 소심한여자 | 2025-07-06 |
2700530 | 전처리문 질문입니다. (1) | 아놀드 | 2025-07-05 |
2700510 | c언어를 어케하면 잘할수 있을까요.. | 연연두 | 2025-07-05 |
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |