소스 분석좀 부탁드릴께요~!!
세찬
이 소스는 경마 소스 입니다. 주석과 직접 짜진 않았찌만 소스 구성 및 설계 배경등 보고서하나 작성해주실분 쪽지 부탁드립니다. 꼭 사례하겠습니다....
#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);
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |
2691542 | /=의 용도를 알려주세요 ㅠㅠ! (2) | 아라 | 2025-04-14 |