C 언어 로 기사 비행 바둑 게임 실현
수요 분석
게임 규칙 은 전통 적 인 비행 바둑 과 마찬가지 로 두 사람의 대전 을 지지한다.
100 칸 짜 리 미니 게임 바둑판 을 채택 하 다
게임 규칙:대전 쌍방 이 돌아 가면 서 주사 위 를 던 져 자신의 기병 의 전진 이나 후퇴 를 제어 하고 게임 바둑판 에 관문 을 설치한다.
수수 하 다
지뢰
일시 정지
시공 터널
행운 의 룰렛(두 가지 운 제공:위치 교환 과 폭격)
바둑판 의 관문 은 기병 이 처음 이동 할 때 만 유효 합 니 다.
#include<stdio.h>
#include<windows.h> //
#include<string.h>
#include<conio.h> //
#include<stdlib.h>
#include<time.h> //
struct node //
{
char name[20];
} people[4];
int map[100]=
{
0,0,0,0,0,2,1,0,0,3,0,0,0,2,0,0,0,2,0,0,4,0,0,1,0,4,0,3,0,0,
0,0,0,2,0,
0,0,0,2,0,1,0,0,0,0,4,0,0,0,0,2,0,0,0,0,1,0,0,0,0,3,0,0,4,2,
0,0,0,0,1,
0,0,4,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,4,0,4,0,0,3,2,0,0,0,0,0
}; //
int number1,number2; // 1
int numstep1,numstep2; // 1
int rand(void); //
void srand(unsigned int n); //
void showmap(int map[]) //
{
int i,j,k;
printf("\t\t\t
");
printf("'∷' ,'¤' ,'★' ,'■' ,'〓'
");
for(i=0; i<31; i++)
{
if(map[i]==0)
printf("∷");
else if(map[i]==1)
printf("¤");
else if(map[i]==2)
printf("★");
else if(map[i]==3)
printf("■");
else if(map[i]==4)
printf("〓");
else if(map[i]==10)
printf("A");
else if(map[i]==20)
printf("B");
else if(map[i]==30)
printf("@@");
}
printf("
");
for(k=0; k<4; k++)
{
for(j=0; j<30; j++)
{
printf(" ");
}
if(map[i]==0)
printf("∷");
else if(map[i]==1)
printf("¤");
else if(map[i]==2)
printf("★");
else if(map[i]==3)
printf("■");
else if(map[i]==4)
printf("〓");
else if(map[i]==10)
printf("A");
else if(map[i]==20)
printf("B");
else if(map[i]==30)
printf("@@");
i++;
printf("
");
}
for(i=65; i>=35; i--)
{
if(map[i]==0)
printf("∷");
else if(map[i]==1)
printf("¤");
else if(map[i]==2)
printf("★");
else if(map[i]==3)
printf("■");
else if(map[i]==4)
printf("〓");
else if(map[i]==10)
printf("A");
else if(map[i]==20)
printf("B");
else if(map[i]==30)
printf("@@");
}
printf("
");
i=66;
for(j=0; j<3; j++)
{
if(map[i]==0)
printf("∷");
else if(map[i]==1)
printf("¤");
else if(map[i]==2)
printf("★");
else if(map[i]==3)
printf("■");
else if(map[i]==4)
printf("〓");
else if(map[i]==10)
printf("A");
else if(map[i]==20)
printf("B");
else if(map[i]==30)
printf("@@");
i++;
printf("
");
}
for(i=69; i<100; i++)
{
if(map[i]==0)
printf("∷");
else if(map[i]==1)
printf("¤");
else if(map[i]==2)
printf("★");
else if(map[i]==3)
printf("■");
else if(map[i]==4)
printf("〓");
else if(map[i]==10)
printf("A");
else if(map[i]==20)
printf("B");
else if(map[i]==30)
printf("@@");
}
printf("
");
}
void cleana(int map[]) // A,
{
int i;
for(i=0; i<100; i++)
{
if(map[i]==10)
{
if(i==6||i==23||i==40||i==55||i==69||i==83) //‘¤'
map[i]=1;
else if(i==5||i==13||i==17||i==33||i==38||i==50||i==64||i==80||i==94) //‘★'
map[i]=2;
else if(i==9||i==27||i==60||i==93) //‘■'
map[i]=3;
else if(i==20||i==25||i==45||i==63||i==72||i==88||i==90) //‘〓'
map[i]=4;
else
map[i]=0;
}
}
}
void cleanb(int map[]) // B,
{
int i;
for(i=0; i<100; i++)
{
if(map[i]==20)
{
if(i==6||i==23||i==40||i==55||i==69||i==83) //‘¤'
map[i]=1;
else if(i==5||i==13||i==17||i==33||i==38||i==50||i==64||i==80||i==94) //‘★'
map[i]=2;
else if(i==9||i==27||i==60||i==93) //‘■'
map[i]=3;
else if(i==20||i==25||i==45||i==63||i==72||i==88||i==90) //‘〓'
map[i]=4;
else
map[i]=0;
}
}
}
void showprocess(int map[]) //
{
int flag1=2,flag2=2; //
numstep1=0; // 1
numstep2=0; // 2
int numtou; //
int t; //
int number; //
system("cls"); //
showmap(map); // showmap(map)
printf("
");
while(numstep1<100&&numstep2<100) //
{
system("pause"); // “ . .
printf("
");
cleana(map); // A
cleanb(map); // B
if(flag1==2) //
{
if(flag2==0||flag2==1)
{
flag2++;
}
srand(time(NULL)); // ,
numtou=rand()%6+1; //
numstep1+=numtou;
Sleep(500); // 0.5
printf("
1 %d
",numtou);
if(numstep1>=100) // 100 ,
{
map[99]=10; // A
Sleep(1000); // 1
system("cls"); //
showmap(map); // showmap(map)
printf("
");
printf(" !
");
break;
}
else
{
printf(" 1%s, %d
",people[number1-1].name,numstep1);
Sleep(800);
if(map[numstep1-1]==0) // '∷'
{
map[numstep1-1]=10;
if(numstep1==numstep2) // 1, 2
{
printf("
2%s !
",people[number2-1].name);
numstep2=0;
printf(" 2%s, %d
",people[number2-1].name,numstep2);
}
if(numstep2!=0)
map[numstep2-1]=20;
Sleep(1000); // 1
system("cls"); //
showmap(map); //
printf("
");
}
else if(map[numstep1-1]==1) // '¤',
{
printf("
1%s, !
",people[number1-1].name);
printf(" :
");
printf("1.
2. ( )
");
scanf("%d",&number); //
if(number==1) //
{
t=numstep1;
numstep1=numstep2;
numstep2=t;
printf(" 1%s, %d
",people[number1-1].name,numstep1);
printf("
2%s, %d
",people[number2-1].name,numstep2);
if(numstep1==0)
{
map[numstep2-1]=20;
}
else
{
map[numstep1-1]=10;
map[numstep2-1]=20;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800); // 1.8
system("cls"); //
showmap(map); //
printf("
");
}
else if(number==2) //
{
map[numstep1-1]=10;
if(numstep2>=6)
{
numstep2-=6;
}
else numstep2=0;
printf(" 2%s, %d
",people[number2-1].name,numstep2);
if(numstep2!=0)
{
map[numstep2-1]=20;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800); // 1.8
system("cls"); //
showmap(map); //
printf("
");
}
}
else if(map[numstep1-1]==2) // '★',
{
printf("
SORRY , 6 ●n●
");
if(numstep1>=6)
numstep1-=6;
else numstep1=0;
printf("
1%s, %d
",people[number1-1].name,numstep1);
if(numstep1==0&&numstep2!=0)
{
map[numstep2-1]=20;
}
else if(numstep1!=0&&numstep2==0)
{
map[numstep1-1]=10;
}
else if(numstep1!=0&&numstep2!=0)
{
map[numstep1-1]=10;
map[numstep2-1]=20;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800); // 1.8
system("cls"); //
showmap(map); //
printf("
");
}
else if(map[numstep1-1]==3) // '■',
{
flag1=0;
printf("
~~>_<~~ !
");
map[numstep1-1]=10;
if(numstep2!=0)
{
map[numstep2-1]=20;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800); // 1.8
system("cls"); //
showmap(map); //
printf("
");
}
else if(map[numstep1-1]==4) // '〓',
{
printf("
Oh My God , !! ^_^
");
numstep1+=10;
if(numstep1>=100)
{
map[99]=10;
Sleep(1000);
system("cls");
showmap(map);
printf("
");
printf(" !
");
break;
}
printf("
1%s, %d
",people[number1-1].name,numstep1);
map[numstep1-1]=10;
if(numstep2!=0)
{
map[numstep2-1]=20;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800); // 1.8
system("cls"); //
showmap(map); //
printf("
");
}
}
}
else if(flag1!=2) // 1
{
flag1++;
}
system("pause"); // " ....."
printf("
");
cleana(map); // A
cleanb(map); // B
if(flag2==2) // 2
{
if(flag1==0||flag1==1)
{
flag1++;
}
srand(time(NULL)); // ,
numtou=rand()%6+1; //
numstep2+=numtou;
Sleep(500); // 0.5
printf("
2 %d
",numtou);
if(numstep2>=100) // 100 ,
{
map[99]=20; // B
Sleep(1000); // 1
system("cls"); //
showmap(map); //
printf("
");
printf(" !
");
break;
}
else
{
printf(" 2%s, %d
",people[number2-1].name,numstep2);
Sleep(1000); // 1
if(map[numstep2-1]==0) // '∷'
{
map[numstep2-1]=20;
if(numstep1==numstep2)
{
printf("
1%s !
",people[number1-1].name);
numstep1=0;
printf(" 1%s, %d
",people[number1-1].name,numstep1);
}
if(numstep1!=0)
map[numstep1-1]=10;
Sleep(1000);
system("cls");
showmap(map);
printf("
");
}
else if(map[numstep2-1]==1) // '¤',
{
printf("
2%s, !
",people[number2-1].name);
printf(" :
");
printf("1.
2. ( )
");
scanf("%d",&number);
if(number==1) //
{
t=numstep1;
numstep1=numstep2;
numstep2=t;
printf("
1%s, %d
",people[number1-1].name,numstep1);
printf("
2%s, %d
",people[number2-1].name,numstep2);
if(numstep2==0)
{
map[numstep1-1]=10;
}
else
{
map[numstep1-1]=10;
map[numstep2-1]=20;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800);
system("cls");
showmap(map);
printf("
");
}
else if(number==2) //
{
map[numstep2-1]=20;
if(numstep1>=6)
{
numstep1-=6;
}
else numstep1=0;
printf(" 1%s, %d
",people[number1-1].name,numstep1);
if(numstep1!=0)
{
map[numstep1-1]=10;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800);
system("cls");
showmap(map);
printf("
");
}
}
else if(map[numstep2-1]==2) // '★',
{
printf("
SORRY , 6 ●n●
");
if(numstep2>=6)
numstep2-=6;
else numstep2=0;
printf("
2%s, %d
",people[number2-1].name,numstep2);
if(numstep2==0&&numstep1!=0)
{
map[numstep1-1]=10;
}
else if(numstep2!=0&&numstep1==0)
{
map[numstep2-1]=20;
}
else if(numstep1!=0&&numstep2!=0)
{
map[numstep1-1]=10;
map[numstep2-1]=20;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800);
system("cls");
showmap(map);
printf("
");
}
else if(map[numstep2-1]==3) // '■',
{
flag2=0;
printf("
~~>_<~~
");
map[numstep2-1]=20;
if(numstep1!=0)
{
map[numstep1-1]=10;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800);
system("cls");
showmap(map);
printf("
");
}
else if(map[numstep2-1]==4) // '〓',
{
printf("
Oh My God , !! ^_^
");
numstep2+=10;
if(numstep1>=100) // 100,
{
map[99]=10;
Sleep(1000);
system("cls");
showmap(map);
printf("
");
printf(" !
");
break;
}
printf("
2%s, %d
",people[number2-1].name,numstep2);
map[numstep2-1]=20;
if(numstep1!=0)
{
map[numstep1-1]=10;
}
if(numstep1==numstep2&&numstep1!=0)
{
map[numstep1-1]=30;
}
Sleep(1800);
system("cls");
showmap(map);
printf("
");
}
}
}
else if(flag2!=0)
{
flag2++;
}
}
if(numstep1>numstep2) //
printf("
1%s, !!!!
",people[number1-1].name);
else printf("
2%s, !!!!
",people[number2-1].name);
}
void showready()
{
int i;
printf(" ――");
for(i=0; i<15; i++)
{
printf(".");
Sleep(100);
}
system("cls");
showmap(map);
printf("
");
printf(" 1%s, 0
",people[number1-1].name);
printf(" 2%s, 0
",people[number2-1].name);
system("pause");
printf("
!
1
");
Sleep(1000);
showprocess(map);
}
void showstart() //
{
int i;
int choose;
system("color 71");
printf("**************************************************
");
printf("// //
");
printf("// //
");
printf("// //
");
printf("// //
");
printf("// //
");
printf("**************************************************
");
for(i=0; i<5; i++)
{
printf("
");
}
printf("~~~~~~~~~~~ ~~~~~~~~~~~
");
printf(" :");
strcpy(people[0].name," ");
strcpy(people[1].name," ");
strcpy(people[2].name," ");
strcpy(people[3].name," ");
for(i=1; i<=4; i++)
{
printf("%d.%s ",i,people[i-1].name);
}
printf("
");
printf(" 1 ( ):");
scanf("%d",&number1);
printf(" 2 ( ):");
scanf("%d",&number2);
printf("
");
printf("1. 2.
");
scanf("%d",&choose);
if(choose==1)
{
showready();
}
else if(choose==2) //
{
system("cls");
printf("
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
");
printf("1. , ,
");
printf("2. , 6
");
printf("3. , ,
");
printf("4. 6
");
printf("5.
");
printf("6. 10
");
printf(" :
");
Sleep(1800);
system("pause");
printf("
");
showready();
}
}
int main()
{
char str[10];
showstart();
printf("
? : (Yes/No)
"); //
scanf("%s",str);
if(strcmp(str,"Yes")==0)
{
system("cls");
cleana(map);
cleanb(map);
showstart();
}
if(strcmp(str,"No")==0)
return 0;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.