飛行棋的代碼_第1頁
飛行棋的代碼_第2頁
飛行棋的代碼_第3頁
飛行棋的代碼_第4頁
飛行棋的代碼_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

#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("按回車鍵繼續(xù).第%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(”恭喜你可以實現(xiàn)一個愿望,請選擇: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);兩人對戰(zhàn)\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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論