디시인사이드 갤러리

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

갤러리 본문 영역

도와줘요 횽님들 ㅠ

c++도와줘요(61.72) 2011.12.08 21:19:49
조회 70 추천 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 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48785 65
2905356 입시 면접 FM 합격 솔루션(필승 전략 해법)!U 프갤러(121.142) 23:15 6 1
2905353 조갑제도 “국힘은 이적단체”…여당은 ‘내란 가짜뉴스’ 대응 중 발명도둑잡기(118.216) 22:57 10 0
2905352 해외 투자 증세에 관해 [1] 발명도둑잡기(118.216) 22:54 35 0
2905351 나님 달러 미국주식 풀매수중 ㅇㅅㅇ [4] ♥멘헤라냥덩♥갤로그로 이동합니다. 22:50 21 0
2905350 미국주식갤에서 친미매국노들 욕하다가 차단당함 [2] 손발이시립디다갤로그로 이동합니다. 22:43 18 0
2905349 이태원 발언으로 모욕죄 벌금 100만원 싸게쳤다 vs 과하다 [5] ㅇㅇ(39.7) 22:36 30 0
2905348 영어를 못해서 구글을 못가네 [1] ㅇㅇ갤로그로 이동합니다. 22:35 17 0
2905345 원티드 자격요건은 거기 직원들도 다 못할거 같은데 ㅇㅇ(182.228) 22:25 12 0
2905344 이태원 모욕죄로 100만원 벌금받았는데 걍 목매달고 죽을까 [2] ㅇㅇ(39.7) 22:24 20 0
2905343 오픈소스에서는 취약점을 감시하는 사람이 더 많다 발명도둑잡기(118.216) 22:23 13 0
2905342 사타구니 털 제모하면 이상한 사람인가요? [5] 넥도리아(220.74) 22:22 28 0
2905341 노말틱도 말해주잖아 오픈소스의 취약점 [1] ㅇㅇ(114.30) 22:17 23 0
2905340 <복면가왕> 관련 생각나는 예전 글 발명도둑잡기(118.216) 22:14 14 0
2905339 정치가 어쨌든 나라가 어쨌든 국가가 어쨌든 삶이 어쨌든 [8] 넥도리아(220.74) 22:13 38 0
2905338 이태원 모욕죄로 구약식 벌금100만원 = 재산잃고 전과남고 인생조진거지? [10] ㅇㅇ(39.7) 22:11 26 0
2905337 저좀 어떻게 성공시켜 주실 분 없나요? [2] 넥도리아(220.74) 22:07 23 0
2905335 사실 제가 틀딱이 아니라 귀여운 여자임을 인증합니다 [6] 헬마스터갤로그로 이동합니다. 21:58 41 0
2905332 페이커닮은 개발자 찾습니다 프갤러(106.101) 21:38 22 0
2905331 진짜 크게 벌리는 건 아니고… 그냥 생활비용 차트부자(1.233) 21:35 16 0
2905325 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ [1] ♥멘헤라냥덩♥갤로그로 이동합니다. 20:52 22 0
2905324 프로그래머, 내가 하다 하다 3D 공부한다. [4] 프갤러(59.16) 20:52 43 1
2905319 출퇴근길에 소소하게 짭짤하네요 [1] 존버장군(1.233) 20:15 30 0
2905316 나 좀 찾지 말아달라고 했음 ㅇㅇ(211.234) 20:02 29 0
2905313 나 아까 실수했네 발명도둑잡기(118.216) 19:45 23 0
2905299 서울 유명 스웨디시 후기 모음집 ㅇㅇ(118.235) 18:50 28 0
2905298 어제부터 저녁에 배가 안 고픔;; [6] ♥멘헤라냥덩♥갤로그로 이동합니다. 18:49 49 0
2905297 클래스 101 결제해본 사람있나 ㅇㅇ(140.248) 18:28 26 0
2905296 국비 말고 혼자 자격증 따서 취직하는것도 가능함? [1] ㅇㅇ갤로그로 이동합니다. 18:27 31 0
2905294 후 시발 이런건 15분만에 최라락 써서 뚝딱 해야하는건데 프갤러(14.52) 17:56 31 0
2905293 회원가입 겨우 완성했다. 프갤러(14.52) 17:53 32 0
2905292 <서울 자가에 대기업 다니는 김부장 이야기>관련 생각나는 글 발명도둑잡기(118.216) 17:31 35 0
2905291 맨땅에 헤딩하기에는 c가 가장 적절한듯 ㅇㅇ(118.235) 17:29 22 0
2905289 AI 로 뚝딱해서 돈 벌었다는 사람 통장 까봐. 프갤러(59.16) 17:09 31 1
2905288 미디어에서 AI 로 1 분만에 뚝딱 개발했다니까 정말 그런줄 알아. 프갤러(59.16) 17:04 30 1
2905287 프로그래머가 되려면 꿈과 희망을 버려라. [3] 프갤러(59.16) 16:57 51 0
2905284 “시간이 돈을 버는 구조 만들기: 매달 ‘짭짤한 복리’ 얻는 방식” 88아재 (119.15) 16:32 18 0
2905283 <우주메리미>가 인기래서 생각나는 예전 글 발명도둑잡기(118.216) 16:28 20 0
2905282 면접문제를 만들어봤다. 프갤러(49.165) 16:11 31 0
2905281 "찬송가 부르고 주식 사"‥ 이불말이는 주가 올리는 '제물' 발명도둑잡기(118.216) 16:03 13 0
2905280 시대의 어르신들이 하나 둘 돌아가시는게 참 먹먹하구낭.. [3] ♥멘헤라냥덩♥갤로그로 이동합니다. 15:55 37 0
2905279 바지가 내려가 넥도리아(223.38) 15:49 34 0
2905278 ■si회사갈거면 포트폴리오 프론트엔드 뭘로하는게 좋냐? [9] ㅇㅇ갤로그로 이동합니다. 15:47 58 0
2905277 Ada 인생 40 년 갈아 넣었습니다. 프갤러(59.16) 15:33 28 0
2905276 착한 중국인 환영⭐+ ♥멘헤라냥덩♥갤로그로 이동합니다. 15:30 24 0
2905275 Ada 언어는 공부하면 할수록 너무 신기하다.. ㅎㅎ 나르시갤로그로 이동합니다. 15:14 26 0
2905274 나님 왤케 소중하실깡..?⭐+ [2] ♥멘헤라냥덩♥갤로그로 이동합니다. 15:08 42 0
2905272 SK네트웍스 FAMILY AI 캠프 24기 프갤러(118.235) 14:46 26 0
2905271 미국정치 갤러리 이미지, 동영상 첨부 차단 중 [1] 발명도둑잡기(118.216) 14:46 33 0
2905270 열심히 살아라 RyuDOG갤로그로 이동합니다. 14:46 32 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2