디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

도와줘요 횽님들 ㅠ

c++도와줘요(61.72) 2011.12.08 21:19:49
조회 69 추천 0 댓글 1

int race(int bet_h);  //레이스를 실행해주는 함수 선언
void start_screen();  //경마게임의 시작화면 및 경주마 소개 프린트 함수 선언
int bet(int my_money);  //경주마를 선택하고 베팅을 하기 위한 함수 선언
void three_second ();  //경주가 시작되기전  카운트 3초를 프린트 해주는 함수 선언
void print_3();  //숫자\'3\'를 나타내기 위한 프린트 함수 선언
void print_2();  //숫자\'2\'를 나타내기 위한 프린트 함수 선언
void print_1();  //숫자\'1\'를 나타내기 위한 프린트 함수 선언
void print_go(); //\'Go!\'를 나타내기 위한 프린트 함수 선언

int win_count;   //1등한 경주마의 번호 저장 변수 선언
int race_count;  //레이스의 횟수 저장 변수 선언
int win_num[NUM];//각 경주마의 우승 횟수 저장 배열 선언
double win_rate[NUM];  //각 경주마의 승률 저장 배열 선언
char User_name[20];    //게임 User의 이름 저장 배열 선언

int main()
{
 int my_money = 10000;  //초기 자본 10000원으로 지정

 printf ("\\n\\n\\t\\t미니 경마장에 오신 것을 환영합니다!!!!");
 
 printf ("\\n\\n\\n\\n\\n\\t\\t\\t이름을 입력해주세요 : ");
 scanf (" %s", &User_name);

 printf ("\\n\\n\\t\\t\\t %s 님 어서오세요~!\\n\\n\\n\\t\\t\\t즐거운 시간 보내세요!!\\n\\n", User_name);

 [...];

 [...];

 start_screen();  //start_screen 함수 호출
 
 while(my_money>0)
 {
  my_money = bet(my_money); //bet 함수 호출
 }

 printf("%s 님 돈을 모두 잃으셨습니다.~!", User_name);
 printf("%s 님 수고하셨습니다.\\n %s 님 다시 또 오세요~!", User_name, User_name);
 printf("\\n\\n");
 
 [...];

 return 0;
}


void start_screen()
{
 printf("\\t\\t**********************************************\\n");
 printf("\\t\\t*********    미니 경마장             *********\\n");
 printf("\\t\\t**********************************************\\n");
 printf("\\t\\t\\t\\t\\t\\t<마사회>\\n\\n");
 printf("\\t------------------- <경주마 정보> ----------------------\\n");
 printf("\\t| 마번  |       마명           |  산지  |  성별 |  연령 |\\n");
 printf("\\t--------------------------------------------------------\\n");
 printf("\\t| 1번마 | 날쌘돌이마 ┏┓ˇ∋- |  미국  |  수   |   5   |\\n");
 printf("\\t| 2번마 | 바람돌이마 ┌┐˚>- |  호주  |  암   |   6   |\\n");
 printf("\\t| 3번마 | 허리케인마 ┎┒'≫- |  한국  |  수   |   4   |\\n");
 printf("\\t| 4번마 | 번개돌이마 ┍┑`⊃- |  일본  |  거   |  10   |\\n");
 printf("\\t| 5번마 | 미친듯이마 ┏┓º⊇- |  영국  |  암   |   7   |\\n");
 printf("\\t--------------------------------------------------------\\n");
}


int bet(int money)
{
 int i;
    int bet_h, bet_m = 1; //User가 베팅한 경주마와 베팅금액을 저장시켜주기 위한 변수 선언
    int match=1;
    int result, betting[NUM]; // 레이스의 결과 저장 변수, 배당률 저장 배열 선언
 
 srand(time(NULL));

 switch (win_count)  //각 경주마의 우승횟수를 저장하고 레이스의 횟수를 카운터 해준다.
 {
 case 1:
  win_num[0] = win_num[0]++;
  race_count++;
  break;
 case 2:
  win_num[1] = win_num[1]++;
  race_count++;
  break;
 case 3:
  win_num[2] = win_num[2]++;
  race_count++;
  break;
 case 4:
  win_num[3] = win_num[3]++;
  race_count++;
  break;
 case 5:
  win_num[4] = win_num[4]++;
  race_count++;
  break;
 default:
  break;
 }


 for(i=0; i < NUM; i++) //배당율을 지정한다.
  betting[i] = (rand() % 10) + 5;    // 배당율은 최소 5배부터 14배까지 지정

 printf("\\t\\t ---------------------------------------\\n");
 printf("\\t\\t|  | 1번 | 2번 | 3번 | 4번 | 5번 |\\n");
 printf("\\t\\t| 배당률 | 2 | %3d | %3d | %3d | %3d |\\n",betting[0], betting[1], betting[2], betting[3], betting[4]);
 printf("\\t\\t| 승  률 | %3.0f | %3.0f | %3.0f | %3.0f | %3.0f |\\n",win_rate[0], win_rate[1], win_rate[2], win_rate[3], win_rate[4]);
 printf("\\t\\t ---------------------------------------\\n");
 printf("\\n%s님의 보유액 %d원\\n", User_name, money);

 while(match == 1)
 { //말번호를 잘못 입력하면 다시 입력
  printf("몇번마 : ");
  scanf("\\n%d", &bet_h);
 
  match = 0; // 이렇게 함으로써 while문을 빠져나간다.
  
  switch (bet_h)
  {
  case 1:
   printf (" %s님은 1번마를 선택하셨습니다.\\n", User_name);
   break;
  case 2:
   printf (" %s님은 2번마를 선택하셨습니다.\\n", User_name);
   break;
  case 3:
   printf (" %s님은 3번마를 선택하셨습니다.\\n", User_name);
   break;
  case 4:
   printf (" %s님은 4번마를 선택하셨습니다.\\n", User_name);
   break;
  case 5:
   printf (" %s님은 5번마를 선택하셨습니다.\\n", User_name);
   break;
  default:
   printf (" 해당하는 말이 없습니다. 다시 선택해주세요\\n");
   match = 1;
   break;
  }
 }

 match = 1; //다음 while문에 쓰기 때문에 다시 1로 배정

 while(match <= money)
 {
  printf("배팅 액수 : ");
  scanf("%d", &bet_m);
       
  match = bet_m + money; 
  
  if(bet_m > money) //배팅하려는돈이 자기돈보다 많으면 다시 입력
  {
   printf("%님이 가진돈보다 많은 돈을 배팅하셨습니다.\\n다시 입력하세요.\\n", User_name);
   match = money;
  }
 }
 
 result = race(bet_h); //레이스의 결과값을 bet함수에서 return 받음.

 if(result == 1) // 베팅한 경주마가 우승했을 경우
 {
  printf ("\\n\\n선택말의 배팅율은 %d배 입니다.\\n", betting[bet_h - 1]);
  printf ("배팅액은 %d원 입니다.\\n", bet_m);
  money = money + (bet_m * betting[bet_h - 1]);
  printf("%s 님 축하합니다! 승리하셨습니다.\\n", User_name);
  printf("%s 님 %d원을 따셨습니다.\\n", User_name, bet_m * betting[bet_h - 1]);
 }
 else if (result == 2) //베팅한 경주마가 2등을 했을 경우
 {
  printf ("\\n\\n선택말의 배팅율은 %d배 입니다.\\n", betting[bet_h - 1]);
  printf ("배팅액은 %d원 입니다.\\n", bet_m);
  money = money + ((bet_m * betting[bet_h - 1])/2);
  printf("%s 님 아쉽게도 2등을 하였습니다.\\n", User_name);
  printf("%s 님 배당금의 1/2인 %d원을 따셨습니다.\\n", User_name, ((bet_m * betting[bet_h - 1])/2));
 }
 else if (result == 3) //베팅한 경주마가 3등을 했을 경우
 {
  printf ("\\n\\n선택말의 배팅율은 %d배 입니다.\\n", betting[bet_h - 1]);
  printf ("배팅액은 %d원 입니다.\\n", bet_m);
  money = money + ((bet_m * betting[bet_h - 1])/4);
  printf("%s 님 아쉽게도 3등을 하였습니다.\\n", User_name);
  printf("%s 님 배당금의 1/4인 %d원을 따셨습니다.\\n", User_name, ((bet_m * betting[bet_h - 1])/4));
 }
 else //베팅한 경주마가 1~3등 안에 못 들어왔을 경우
 {
  money = money - bet_m;
  printf("\\n\\n%s 님 안타깝군요~!\\n\\n", User_name);
  printf("%s 님 %d원을 잃었습니다.\\n", User_name, bet_m);
 }

 return money; //베팅한 후 첫 자본에 가감액을 더해준 후 나머지 액수 Return.
}

int race(int bet_h)
{
 int end[NUM] = {0};  //각 경주마의 골인 유무 배열 선언
    int rank[NUM] = {0}; //경주마의 순위 저장 배열 선언
 int distance[NUM]={0}; // 각 경주마의 이동거리 변수 선언
 int i, j=0;
    int horse_num[NUM], count[NUM]={0}; // 경주마의 번호 저장 배열 및 경주마의 골인한 순서 저장 배열 선언
 
 srand(time(NULL));
 
 three_second(); //카운트 3초 함수 호출
 
 printf("\\a");   //제어문을 이용한 효과음 
 
 while (j < 7)
 {
  [...];

  printf ("\\n");
  printf ("================================================================================");
  printf ("\\n");

  printf("① 날쌘돌이마\\n");

  if(end[0]==0)
  {
   distance[0] = distance[0] + (rand()%MAX_SPEED+1); //난수함수를 이용, 각 경주마의 이동거리 차별화
  
   for (i = 0 ; i<distance[0]; i++)
   {
    printf(" ");

    if(i >= 66) //1번 경주마 골인하였을 경우
    {
     end[0] = 1;
     horse_num[0] = 1;
     count[0] = ++j;
    }

    if (end[0] == 1)
     break;
   }
   
   if (distance[0] < 40) 
    printf("┏┓ˇ∋-");
   else if (distance[0] % 2 == 0 )
    printf("/ ̄\ˇ∋-");
   else
    printf("< ̄>ˇ∋-");
  }

  printf ("\\n");
  printf ("================================================================================");
  printf ("\\n");

  printf("② 바람돌이마\\n");

  if(end[1] == 0)
  {
   distance[1] = distance[1] + (rand()%MAX_SPEED+1);

   for (i = 0 ; i<distance[1]; i++)
   {
    printf(" ");
    
    if(i >= 66) //2번 경주마 골인하였을 경우
    {
     end[1] = 1;
     horse_num[1] = 2;
     count[1] = ++j;
    }

    if (end[1] == 1)
     break;
   }

   if (distance[1] < 40)
    printf("┌┐˚>-");
   else if (distance[1] % 2 == 0)
    printf("/ ̄\˚>-");
   else
    printf("< ̄>˚>-");
  }
  
  printf ("\\n");
  printf ("================================================================================");
  printf ("\\n");

  printf("③ 허리케인마\\n");

  if(end[2] == 0)
  {
   distance[2] = distance[2] + (rand()%MAX_SPEED+1);
   
   for (i = 0 ; i<distance[2]; i++)
   {
    printf(" ");
    
    if(i >= 66) //3번 경주마 골인하였을 경우
    {
     end[2] = 1;
     horse_num[2] = 3;
     count[2] = ++j;
    }

    if (end[2] == 1)
     break;
   }

   if (distance[2] < 40)
    printf("┎┒'≫-");
   else if (distance[2] % 2 == 0)
    printf("/ ̄\'≫-");
   else
    printf("< ̄>'≫-");
  }

  printf ("\\n");
  printf ("================================================================================");
  printf ("\\n");

  printf("④ 번개돌이마\\n");

  if(end[3] == 0)
  {
   distance[3] = distance[3] + (rand()%MAX_SPEED+1);
   
   for (i = 0 ; i<distance[3]; i++)
   {
    printf(" ");

    if(i >= 66) //4번 경주마 골인하였을 경우
    {
     end[3] = 1;
     horse_num[3] = 4;
     count[3] = ++j;
    }

    if (end[3] == 1)
     break;
   }

   if (distance[3] < 40)
    printf("┍┑`⊃-");
   else if (distance[3] % 2 == 0)
    printf("/ ̄\`⊃-");
   else
    printf("< ̄>`⊃-");
  }

  printf ("\\n");
  printf ("================================================================================");
  printf ("\\n");

  printf("⑤ 미친듯이마\\n");

  if(end[4]==0)
  {
   distance[4] = distance[4] + (rand()%MAX_SPEED+1);

   for (i = 0 ; i<distance[4]; i++)
   {
    printf(" ");
   
    if(i >= 66) //5번 경주마 골인하였을 경우
    {
     end[4] = 1;
     horse_num[4] = 5;
     count[4] = ++j;
    }

    if (end[4] == 1)
     break;
   }

   if (distance[4] < 40)
    printf("┏┓º⊇-");
   else if (distance[4] % 2 == 0)
    printf("/ ̄\º⊇-");
   else
    printf("< ̄>º⊇-");
  }

  printf ("\\n");
  printf ("================================================================================");
  printf ("\\n");

  _sleep(200); //0.2초 지연시켜주는 함수

  if(j == 6) //모든 경주마가 골인하였을 경우
  {
   j = 7; //while 문을 빠져나오기 위한 변수 올림
   printf("배팅 하신 말   : %d\\n", bet_h);
   
   for (i = 0 ; i < NUM ; i++) //순서대로 골인한 경주마의 번호를 rank에 저장
   {
    if (count[i] == 1)
     rank[0] = horse_num[i];
    else if (count[i] == 2)
     rank[1] = horse_num[i];
    else if (count[i] == 3)
     rank[2] = horse_num[i];
    else if (count[i] == 4)
     rank[3] = horse_num[i];
    else
     rank[4] = horse_num[i];
   }

   for (i = 0 ; i < NUM ; i++) //골인한 순위 프린트
    printf ("\\n %d 등 : %d 번 말", i+1, rank[i]);

   win_count = rank[0]; //우승한 경주마의 번호를 win_count에 저장

   if (rank[0] == bet_h)
    return 1;
   else if (rank[1] == bet_h)
    return 2;
   else if (rank[2] == bet_h)
    return 3;
   else
    return 0;
  }

  if (j == 5)
   ++j;

 }
}
====================================================이건데형님들 이게임을2명에서 하게 바꾸고싶어요========================

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
293502 주무십시다 ㅎ 캐슈ㅣ발닭(121.88) 11.12.10 68 0
293500 SW 문화 인식제고 사업 설문 조사 / 상품 아이패드2, 레이디가가이어폰 아이패드(121.160) 11.12.10 64 0
293499 뭐 좀 물어봐도 대나.. [1] 이기적충동갤로그로 이동합니다. 11.12.10 63 0
293498 횽들 다음이나 싸이같은데 게시글에서 아이피 어떻게 봐? [1] 센트리(116.33) 11.12.10 64 0
293497 이직하고 싶다. -쏭-갤로그로 이동합니다. 11.12.10 81 0
293496 비전공자가 알고리즘이나 자료구조 공부하고 싶으면 [1] ㅇㅇ(183.102) 11.12.10 183 0
293495 안드로이드마켓 미친 성장률 [1] 시불라미갤로그로 이동합니다. 11.12.10 139 0
293494 한국이 일등먹었떠요 시불라미갤로그로 이동합니다. 11.12.10 110 0
293493 횽들 C++ 뉴비가 질문합니다. [4] 척추접이(61.247) 11.12.10 145 0
293492 일욜날싸트라ㅠ밤새는데 울랄라베이베갤로그로 이동합니다. 11.12.10 50 0
293491 IT산업체 가본 형들 있어? 히든포커스갤로그로 이동합니다. 11.12.10 82 0
293490 하 내가 너무 무능력한거같음 [5] g.w.갤로그로 이동합니다. 11.12.10 154 0
293489 제발좀 도와주세요. 루시엘(220.78) 11.12.10 39 0
293488 분식파티 하고싶다던 놈 (61.102) 11.12.10 77 0
293487 대단한 정보의바다야...참., [1] 三didas갤로그로 이동합니다. 11.12.10 83 0
293486 어우 오랜만에 오네 [2] 써니덕후갤로그로 이동합니다. 11.12.10 47 0
293484 쿄스케형 Lover♥갤로그로 이동합니다. 11.12.10 38 0
293483 방금 획기적인 걸 만듬 [1] 116.44(203.229) 11.12.10 131 0
293482 퇴근! [2] 알탱o갤로그로 이동합니다. 11.12.10 53 0
293480 최면자위 관련 정보 많은데 알려주리? [5] Lover♥갤로그로 이동합니다. 11.12.09 208 0
293479 발열 쩌는게 뭔지 아냐? [3] `-'갤로그로 이동합니다. 11.12.09 113 0
293478 고데레 [5] Lover♥갤로그로 이동합니다. 11.12.09 93 0
293475 혹시 아이폰잘하는형 ? [3] AnonyMous갤로그로 이동합니다. 11.12.09 82 0
293473 c++ 콘솔창이 너무 느려 형들 [2] ㅇㅇㅇ(121.128) 11.12.09 69 0
293471 크롬 확장 만들어봤슴 ㅋ 초간단 TO-DO 리스트 [4] [성대아싸]갤로그로 이동합니다. 11.12.09 137 0
293470 알탱이 꼬꼬였다니, [2] ㅋㄱ(183.96) 11.12.09 60 0
293469 심심한데 재밌는거 없을까? [2] 좋은아버지갤로그로 이동합니다. 11.12.09 60 0
293468 구구싱 [2] 정수정•‿•갤로그로 이동합니다. 11.12.09 61 0
293467 넷프레임워크 오류 ㅠㅠ 제발 살려주셋요 [1] 님들앙(121.139) 11.12.09 57 0
293466 횽들 릴리즈모드에 대해서 질문좀.. [2] 어린화공갤로그로 이동합니다. 11.12.09 41 0
293464 학교에서 잘하는 애들 보면 열등감 느껴진다... [6] (218.209) 11.12.09 174 0
293462 학원수강중인데 진도 이정도면 보통인가요?? [3] 죄송합니다(58.122) 11.12.09 171 0
293460 한성주 비디오 유출됐던데 그게 무슨 상관잇나??? [3] 에이시아(125.31) 11.12.09 429 9
293459 어제 시팔 존나 인생의 쓴맛을 봤다. [4] PoRO갤로그로 이동합니다. 11.12.09 89 0
293458 릴레이서버,매니페스트,스크립트,솔루션 [2] +어게인갤로그로 이동합니다. 11.12.09 66 0
293456 내가 제일 잘했다고 생각한 일은 군대 일찍 갔다온거임 [4] 알탱o갤로그로 이동합니다. 11.12.09 121 0
293455 니들은 나 보고 싶지도 않았지? ㅇvㅇ [14] PoRO갤로그로 이동합니다. 11.12.09 99 0
293454 C언어 독학하려는데 [3] 팥트랏슈갤로그로 이동합니다. 11.12.09 168 0
293453 이직하고 싶다 [12] PoRO갤로그로 이동합니다. 11.12.09 157 0
293452 취업할때 학점이 어느정도 중요함??? [8] ㅇㅇ(121.150) 11.12.09 161 0
293451 나는 그런 프로그래밍 만들고 싶어. [8] 좋은아버지갤로그로 이동합니다. 11.12.09 153 0
293450 갤럭시노트 살려고 하는 사람있음? [2] 폐인의세계갤로그로 이동합니다. 11.12.09 69 0
293449 회색과 황금색의 차이 [9] 딘윈체스터.갤로그로 이동합니다. 11.12.09 116 0
293448 횽들은 제일 하기 싫은 일이 뭐에요 [8] 알탱o갤로그로 이동합니다. 11.12.09 153 0
293447 스마트폰 파실분 없음 ?? [7] 알오티씨플머(121.137) 11.12.09 88 0
293446 이 과정 어때보임? ㅇㅇ(183.102) 11.12.09 95 0
293445 잘 하면 나도 신문에 날 수 있을 듯 [3] 분당살람갤로그로 이동합니다. 11.12.09 86 0
293444 분식 파티 하고 싶다. [10] 좋은아버지갤로그로 이동합니다. 11.12.09 100 0
293440 헤헤 스키장 가는중 [3] McHello갤로그로 이동합니다. 11.12.09 71 0
293439 출근 2일차 후기 [16] +어게인갤로그로 이동합니다. 11.12.09 204 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2