목차
1. 서 론
2. 관련 연구
3. 프로그램 설계
4. 프로그램 구현
5. 프로그램의 동작과 결과
6. 결과 분석 및 토의
7. 결론
8. 별첨 (소스코드와 주석)
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();
}
#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();
}
추천자료
게임산업의문제점과 발전방향제시
국산게임, 그리고 애니메이션 - 문화사업으로서의 가치와 문제점
온라인게임
컴퓨터 게임 음악
[게임중독]게임중독의 원인과 게임중독의 영향 및 예방(게임의 종류, 중독의 일반적 개념, 게...
e-sports산업의 발전과 기업스폰서쉽의 효과와 영향에 대한 연구분석
실크로드 게임 분석과 장단점
온라인게임의 시장현황 및 해외진출 사례 분석
비디오 게임 산업에 대한 고찰
게임산업의 세계화
미적분학이 컴퓨터 분야에 어떻게 사용되는가?
(A+) 인터넷 게임 중독
[보건교육A형 4학년]초중고학생의 게임중독증에 대한 보건교육 - [그린의 PRECEDE-PROCEED모...
모바일 게임 산업과 향후 전망에 대하여
소개글