飞行棋的代码_第1页
飞行棋的代码_第2页
飞行棋的代码_第3页
飞行棋的代码_第4页
飞行棋的代码_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#include<conio.h>^include"windows.IT'charPlayer![10];charPlayer2[10];charNamel[10]=l,charNamel[10]=l,SunH;charName2[10]=MLunM;charName3[10]=MRunn;charName4[10]=MAunM;〃町选择的玩家姓名mtPlaverlX=ll;mtPlaverlY=O;mtPlaver2X=ll;mtPlaver2Y=0;〃玩家mtPlaverlX=ll;mtPlaverlY=O;mtPlaver2X=ll;mtPlaver2Y=0;〃玩家1,X的坐标〃玩家1,Y的坐标〃玩家2,X的坐标〃玩家2,Y的坐标iiitn=0;〃记录掷骰子的局数iiitn=0;mtMap[13][3O]={1,1,1,5,1,1,1,3,1,1,1,1,1,5,1,1,1,1,1,1,1,4,1,1,1,1,1,1,3,1,OQOOOOOQOOOQOgOQOOOQOOOQOQQOJ、OQOOOOOQOOOQOgOQOOOQOOOQOQQOJ、0,0O0g0Q0O0Q0g0Q0O0Q0O0,0O0Q04OQOOOOOQOOOQOgOQOOOQOOOQOQQOJ、OQOOOOOQOOOQOgOQOOOQOOOQOQQOJ、1,1,1,2,1,1,3,1,1,1,1,1,2,1,1,1,13,5,1,1,1,1,1,4,1,1,1,5,1,4Q0O0O0Q0Q0Q0Q0O0Q0O0O0Q0O0Q0O1QOOOOOQOOOQOgOQOOOQOOOQOQQOO1QOOOOOQOOOQOQOOOQOQOOOQOOOQOO5Q0O0O0Q0Q0Q0Q0O0Q0O0O0Q0O0Q0O1QOOOOOQOOOQOgOQOOOQOOOQOQQOO1,1丄4」丄5丄1,1丄4丄1,3丄1,1丄1丄4丄1丄3」丄1」};//地图的数组〃使走过的关卡变成道路voidGoToXYSpace(intx,inty)COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCuisoiPosition(hOut5pos);pnnW);

〃闯关完成的提示voidGoToXYEnd(intx,inty.iiiti){COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);printf("玩^%d闯关成功!!!!”,i);}〃抹掉幸运轮盘底部的提示voidGOToK(intx,inty){COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);}〃地图底部的提示voidGoToPiompt(iiitx、mty.iiitnumLiiitnuni2jnti){COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);fflush(stdm);回合玩家%01掷骰子pnntf(”玩家%<1掷出了%<回合玩家%01掷骰子,\nuin24.n,numl);}〃停止关卡的提示voidGoToStop(iiitx、inty.iiitnum){COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);fflush(stdm);prmtf("按回车键继续.第%d回合玩家%4此回合停止}〃玩家1的打印voidGoToXYPl(iiitx,mty)〃玩家1COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);prmtf(n%c%c,\Playerl[O],Player![0]);}〃玩家2的打印voidGoToXYP2(iiitx,mty)〃玩家2{COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);prmtftn%c%cnTlayer2[0],Player2[0]);}〃幸运轮盘的提示voidGoToLuck(intx,iiity){COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);fflush(stdm);pnntf(”恭喜你可以实现一个愿望,请选择:1.与对方交换位置\n”);pmitfC' 2.轰炸对方使其退后6步®”);请选择:”);}〃游戏开始的提示voidGoToStart(mtx.inty)//开始{COORDpos={x,y};HANDLEhOut=GetStdHaiidle(STD_OUTPUT_HANDLE);SetConsoleCmsorPosition(hOut,pos);fflush(stdm);pnntf(”按回车键开始.玩家1开始掷骰子”);}〃产生随机数iiitRandoniQsrand(time(NULL));retuin(iaiid()%6+l);〃对玩家1的各种判断voidDicel(iiiti){if(PlayeilX==Player2X&&Player1Y==Player2Y)GoToXYP2(Player1X,Player1Y);elseGoToXYSpace(Player1X.Player1Y);〃打印道路Map[Player1Y][(Player1X-U)/2]=1;if(PlayeilX<69&&Player1Y==0)〃第一横行{PlayerlX+=i*2;if(PlayerlX>69){PlayerlY+=(PlayedX-69)/2;PlayeilX=69;}G0T0XYP1(PlayeilX,PlayerlY);}elseif(Player1X==69&&Player1Y<=6)〃第一竖行{PlayeilY+=i;if(Player!Y>6){PlayerlX-=(Player1Y-6)*2;Player1Y=6;}G0T0XYP1(PlayeilX,PlaverlY);}elseif(PlayerlX<69&&Player1Y==6)//逆行{PlayerlX-=i*2;if(PlayerlX<ll){PlayerlY+=(ll-PlaverlX)/2;PlayeilX=ll;}G0T0XYP1(PlayeilX,PlaverlY);}elseif(PlayeilX==ll&&Player1Y>=6)//第二竖行PlayerlY+=i;if(PlayerlY>12)PlayeilX4-=(PlaverlY-12)*2;PlayerlY=12;GoToXYP1(PlayeilX,PlayerlY);}elseif(Player1X<=69&&Player1Y=12)//最后一行{PlayerlX+=i*2;if(PlayeilX>69)Player1X=69;GoToXYPl(PlayerlX,PlayerlY);}}〃对玩家2的各种打印,步骤如玩家1voidDice2(iiiti){if(PlayeilX==Player2X&&Player1Y==Player2Y)GoToXYPl(Player2X,Player2Y);elseGoToXYSpace(Player2X.Player2Y);Map[Player2Y][(Player2X-ll)/2]=l;if<Player2X<69&&Player2Y—0){Player2X+=i*2;if(Player2X>69){Player2Y4-=(Plaver2X-69)/2;Player2X=69;}GoToXYP2(Player2X,Player2Y);}elseif(Player2X==69&&Player2Y<=6){Playei-2Y+=i;if(Player2Y>6){Player2X-=(Player2Y-6)*2;Player2Y=6;}GoToXYP2(Player2X,Player2Y);elseif(Player2X<69&&Plaver2Y==6)//逆行{Player2X-=i*2;if(Playei-2X<ll){Player2Y+=(ll-Plaver2X)/2;Playei2X=ll;}GoToXYP2(Player2X,Player2Y);}elseif(Player2X==ll&&Player2Y>=6){Playei2Y+=i;if(Player2Y>12){Player2X4-=(Plaver2Y-12)*2;Player2Y=12;}GoToXYP2(Player2X,Player2Y);}elseif(Player2X<=69&&Player2Y=12){Player2X+=i*2;if(Playei-2X>69)Playei2X=69;GoToXYP2(Player2X,Player2Y);}}〃地图的打印voidPrmtMap(iiitMap[][30]){intij;fbi(i=O;i<13;i++)for(j=0j<30j++){if(j==O)pnntfC H);switch(Map[i][j]){case0:pnntffM);break;case1:printf(H::");bieak;case2:printf(Han);break;case3:p】intfC*”);beak;case4:pruitf(HHM);break;case5:printf(H=M);break:}if(j==29)pnntW);}〃开始界面的打印何);棋险”);何);棋险”);何);voidPrmtstan(){pnntf(Mpnntf(Mpnntf(Mpnntf(Mpnntf(H\npnntf(M请选择角色:l.Sun

I ,I骑 士 飞 行I|cs3C83C83C82ammmma|\iiH);两人对战\n\n”);\n”);〃游戏说明的打印〃游戏说明的打印voidPrmtEx(){pnntf(M

pnntf(M

pnntf(M

pnntf(M

pnntf(M

pnntf(M

pnntf(M

pnntf(M

pnntf(MS');pnntf(M

pnntf(M

pnntf(MprintfC 2・Lim\n”);printfC 3.Run\ir);printfC 4.AunJ;}|cs3C83C83C82ammmaaa|\iiH);I M);|游 戏 说 明血”);I M);|cs3C83C83C82ammmma|\iiH);玩家选择的角色以两个首字母为代表如Saber(SS)\iT);\ii图标::代表普通道路\11”);\ii图标■代表暂停一回合掷骰子\1T);\ii图标★代表地雷踩中退后6步\1T);\n图标Q代表幸运轮盘町选择与对方互换或轰炸对方\ii图标=代表时空隧道前进10步\n”);\n地图共100步,谁率先到达终点则胜利5”);按回车键开始游戏:”);〃角色的选择voidSelectQ{inti;printfC'^请玩家1选择角色:”);scanff%d”,&i);if(i==l)strcpv(Playeil.Nainel);elseif(i==2)strcpv(Playeil,Naine2);elseif(i==3)strcpv(Playeil,Naine3);elseif(i==4)strcpv(Playeil,Naine4);printfC'^请玩家2选择角色:”);scanff%d”,&i);if(i==l)strcpy(Player2,Naine1);elseif(i==2)strcpy(Player2,Naine2);elseif(i==3)strcpy(Player2,Naine3);elseif(i==4)strcpy(Player2,Naine4);}〃主函数iiitmain(){system(HcolofaH);〃打印开始〃角色〃清屏charch;〃打印开始〃角色〃清屏Pnntstart();SelectQ;system(nclsM);PnntExQ;ch=getch();system(nclsM);PrintMap(Map);//打印地图while(l)D++;//记录局数mtij.a;if(PlayeilX=ll&&Player1Y==O)//开始提示的条件{GoToStan(ll?15);ch=getch();}if(Map[Player1Y][(PlayerlX-11)/2]=4)〃是否暂停{Map[PlaverlY][(Player1X-11)/2]=1;GoToStop(ll,15,1);getcharQ;GoToPrompt(11,15,2,1j);getcharQ;}else{i=Random();Dicel(i);if(Player1X—69&&Player!Y=12)//是否到终点{GoToXYEnd(24,20,l);getchar();return0;}GoToPrompt(11?15,2?1j);if(Map[PlaverlY][(PlayerlX-11)/2]==5)〃是否时空隧道{i=10;Dicel(i);}if(Map[PlaverlY][(PlayerlX-11)/2]==3)〃炸弹{i=-6;Dicel(i);}if(Map[PlaverlY][(PlayerlX-11)/2]==2)〃幸运轮盘{GoToLuck(ll,16);scanf(”%d气&j);getchar();a=PlaverlX;J zPlayerlX=Playei-2X;Plaver2X=a;Ja=PlaverlY;J 7PlayerlY=Playei-2Y;Plaver2Y=a;GoToXYP1(Player!X.PlayerlY);GoToXYP2(Player2X.Player2Y);}if(J==2){i=-6;Dice2(i);}G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论