컴퓨터프로그래밍(경마게임)
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

컴퓨터프로그래밍(경마게임)에 대한 보고서 자료입니다.

목차

1. 서 론
2. 관련 연구
3. 프로그램 설계
4. 프로그램 구현
5. 프로그램의 동작과 결과
6. 결과 분석 및 토의
7. 결론
8. 별첨 (소스코드와 주석)

본문내용

include "time.h" // 랜덤함수를 사용하기 위한 헤더파일
#include "stdlib.h" // exit(1)를 쓰기 위해 선언한 헤더파일
// 베이스
#define X_BASE 0
#define Y_BASE 0
// 출발선
#define X_START 1
// 도착선
#define X_END 20
void gotoxy( int x, int y )
{
COORD coord;
coord.X = x, coord.Y = y;
SetConsoleCursorPosition( GetStdHandle(STD_OUTPUT_HANDLE), coord );
}
void move( int x, int y, int number )
{
// 처음에는 x 위치에 말 번호를 출력한다.
if( x == 2 )
{
gotoxy( x, y );
}
// 먼저 앞에 말을 지운다.
else
{
if( x < X_END )
{
gotoxy( x-1, y );
printf( " " );
}
// else if( x == X_END )
else
{
gotoxy( x-1, y );
printf( " " );
gotoxy( X_END + 1, y );
}
}
printf( "%d", number );
}
int i_money=1000000,win=0,lose=0; //금액 초기 설정 100만원으로 하였다.
int main(void)
{
while(i_money>0)
{
//시작 화면
int st,ch,sa;
system("cls");
printf("*****************************\n");
printf("♡ welcome 컴 프 경 마 장 ♡\n");
printf("\t 시 작=1\n");
printf("\t 종 료=2\n");
printf("*****************************\n\n");
printf("보유금 %d\n %d전 %d 승 %d 패\n",i_money,win+lose,win,lose);
printf("-> ");
scanf("%d",&st);
system("cls");
if(st==2)
{
system("cls");
printf("종료합니다.\n");
getchar();
exit(1);
}
else if(st==1)
{
// 9명의 위치를 나타낸다.
int positions[9];
// 1,2,3 등의 인덱스
int wnnr123[3];
int iwnnr = 0;
int i;
// 시작시 포지션을 보이게 하기위하여
gotoxy( X_BASE, Y_BASE );
for( i = 0; i < 9; i++ )
{
positions[i] = 1;
printf( "%d|", i + 1);
gotoxy( X_END, Y_BASE + i );
printf( "|\n" );
}
printf("\n\n============================\n");
printf("말을 선택하여 주세요 ! 몇번말이 우승을 할까요?\n");
printf("-> ");
scanf("%d",&ch);
for (;ch>9;)
{
printf("1~9 사이의 말을 선택 하세요.\n");
scanf("%d",&ch);
}
printf("배팅금을 정하세요(1원부터100만원까지입니다.)\n 당신의 보유금은 %10d 입니다.\n",i_money);
printf("-> ");
scanf("%d",&sa);
for (;sa>i_money;)
{
printf("보유금 %d안에서 결정하세요.\n",i_money);
scanf("%d",&sa);
}
printf("\n\n게임이 시작됩니다. ");
getchar();
srand((unsigned)time(NULL));
while(1)
{
// 9명에 대하여 난수를 발생시켜 이동할 것인지를 결정한다.
for( i = 0; i < 9; i++ )
{
// 종료된 말(위치가 X_END )은 제외하고 아직 끝나지 아니한 경기자라면 난수를 얻는다.
if( positions[i] != X_END )
{
// 홀수라면 한칸 이동하여 업데이트하고 결승위치에 도달했는지 확인한다.
if( rand() % 2 )
{
positions[i]++;
move( positions[i], i, i+1 );
// 결승위치에 도달했으면 승자 명단에 말번호를 저장한다.
if( positions[i] >= X_END )
{
wnnr123[iwnnr++] = i+1;
if( iwnnr >= 3 )
break;
}
}
}
// 잠깐 머문다.
Sleep( 50 );
}
if( iwnnr >= 3 )
{
break;
}
}
gotoxy( 0, 21 );
printf( "게임 종료 ...\n" );
getchar();
system("cls");
//등수를 표시한다.
for( i = 0; i < 3; i++ )
{
printf( "%d등 : %2d번 라인\n", i+1, wnnr123[i] );
}
//배팅금을 분배한다
if(ch==wnnr123[0])
{
printf(" 와우!!!! 1등이군요!!^^ 10배인 %d 를 드립니다.\n",sa*10);
i_money = i_money + (sa*10);
win +=1;
}
else if(ch==wnnr123[1])
{
printf("아쉽게 2등이군요! 다음엔 1등을향하여!! 2배인 %d 를 드립니다.\n",sa*2);
i_money = i_money + (sa*2);
win +=1;
}
else if(ch==wnnr123[2])
{
printf("흠..3등이군요!! 1배인 %d 를 드립니다.\n",sa);
i_money = i_money + sa;
win +=1;
}
else
{
printf("졌네요..ㅠ_ㅠ. 배팅금을 잃었습니다.\n");
i_money = i_money - sa;
lose +=1;
}
printf("보유금은 %d 입니다.\n",i_money);
getchar();
}
else
{
system("cls");
printf("잘못 선택 했습니다.다시한번 선택하여 주세요^^\n");
}
}
system("cls");
printf("배팅금이 없어 종료 됩니다.돈을 구해오세요!! ㅋㅋ\n");
getchar();
}
  • 가격2,000
  • 페이지수12페이지
  • 등록일2011.10.21
  • 저작시기2011.1
  • 파일형식한글(hwp)
  • 자료번호#709548
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니