C 언어 로 기사 비행 바둑 게임 실현

22204 단어 C 언어비행 기
본 논문 의 사례 는 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; }
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기