c#骑士飞行器数据操作类.docx
《c#骑士飞行器数据操作类.docx》由会员分享,可在线阅读,更多相关《c#骑士飞行器数据操作类.docx(15页珍藏版)》请在冰点文库上搜索。
c#骑士飞行器数据操作类
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
官场小说
namespace骑士飞行棋
{
classClass
staticint[]playerPos={0,0};//存储玩家的坐标,playerPos{0}代表玩家A,playerPos{1}代表玩家B!
staticint[]map=newint[100];//定义地图数组
staticintmeetCount=0;//用于给2个玩家相遇循环用的变量meetcount代表相遇计数
staticintPD=0;
publicstaticboolSuspend()
if(PD==0)
returntrue;
}
else
returnfalse;
///
///显示游戏的界面
publicvoidShowUi()//这里没有加static修饰符,在调用这个方法的时候必须先实例化类才可以用实例名点方法名调用
Console.WriteLine("*************************************************************");
Console.WriteLine("**");
Console.WriteLine("*骑士飞行棋*");
///绘制地图的关卡
publicstaticvoidInitialMap()
//定义地图中关卡的数组
//在数组中用:
□0代表普通
//◎1代表幸运轮盘
//☆2代表地雷
//▲3代表暂停
//※4代表时光隧道
int[]luckyTurn={6,23,40,55,68,83};//◎幸运轮盘
int[]landMine={5,13,17,33,38,50,65,80,98};//☆地雷
int[]pause={9,27,60,93};//▲暂停
int[]timeTunnel={20,25,45,64,72};//※时光隧道
//给地图输入幸运轮盘坐标
for(inti=0;i{map[luckyTurn[i]]=1;}//给地图输入地雷坐标for(inti=0;i{map[landMine[i]]=2;}//给地图输入暂停坐标for(inti=0;i{map[pause[i]]=3;}//给地图输入时光隧道坐标for(inti=0;i{map[timeTunnel[i]]=4;}}//////绘制地图///publicstaticvoidDrawMap(){Console.WriteLine("图例:◎1代表幸运轮盘☆2代表地雷▲3代表暂停※4代表时光隧道");//第一行:绘制下标0-29格的地图for(inti=0;i<=29;i++){Console.Write(JudgeMap(i));}Console.WriteLine();//第二行:绘制下标30-34格的地图for(inti=30;i<=34;i++){for(intj=0;j<29;j++){Console.Write("");}Console.WriteLine(JudgeMap(i));}//第三行:绘制下标35-64格的地图for(inti=64;i>=35;i--){Console.Write(JudgeMap(i));}Console.WriteLine();//第四行:绘制下标65-69格的地图for(inti=65;i<=69;i++){Console.WriteLine(JudgeMap(i));}//第五行:绘制下标70-99格的地图for(inti=70;i<=99;i++){Console.Write(JudgeMap(i));}Console.WriteLine();}//////判断地图关卡//////接收的值///publicstaticstringJudgeMap(inti){if(playerPos[0]==i&&playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"<>";}elseif(playerPos[0]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"A";}elseif(playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"B";}else{switch(map[i]){case0:Console.ForegroundColor=ConsoleColor.White;return"□";case1:Console.ForegroundColor=ConsoleColor.Red;return"◎";case2:Console.ForegroundColor=ConsoleColor.DarkGray;return"☆";case3:Console.ForegroundColor=ConsoleColor.Blue;return"▲";case4:Console.ForegroundColor=ConsoleColor.Green;return"※";}}return"";}//////判断玩家坐标的方法以及关卡的判断//////用来接收玩家A跟玩家B地址的位置///用来接收玩家A跟玩家B掷出来的点数///publicstaticintPlayerPos(inti,intj){intresult=0;PD=0;if(i==0){//接收玩家掷出来的点数付给玩家A的位置,playerPos[0]+j把之前的点数加上新掷出的点数付给玩家A的位置playerPos[0]=playerPos[0]+j;meetCount++;while(meetCount>1){if(playerPos[0]==playerPos[1]&&i==0){playerPos[1]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[0],Program.name[1],Program.name[1]);Console.ReadKey(true);}break;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//关卡判断if(map[playerPos[0]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[1]-=6;if(playerPos[1]<0){playerPos[1]=0;}lebel=false;Console.WriteLine("玩家{0}将把玩家{1}炸退了6步!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);}elseif(result==2){Console.WriteLine("玩家{0}将与玩家{1}交换位置!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);inttemporary=playerPos[0];playerPos[0]=playerPos[1];playerPos[1]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[0]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[0]-=6;}elseif(map[playerPos[0]]==3){PD=1;}elseif(map[playerPos[0]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[0]+=6;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//返回玩家A的位置returnplayerPos[0];}//接收玩家掷出来的点数付给玩家B的位置,playerPos[1]+j把之前的点数加上新掷出的点数付给玩家B的位置playerPos[1]=playerPos[1]+j;while(meetCount>1){if(playerPos[1]==playerPos[0]&&i==1){playerPos[0]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[1],Program.name[0],Program.name[0]);Console.ReadKey(true);}break;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//关卡判断if(map[playerPos[1]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[0]-=6;if(playerPos[0]<0){playerPos[0]=0;}lebel=false;}elseif(result==2){inttemporary=playerPos[1];playerPos[1]=playerPos[0];playerPos[0]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[1]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[1]-=6;}elseif(map[playerPos[1]]==3){PD=1;}elseif(map[playerPos[1]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[1]+=6;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//返回玩家B的位置returnplayerPos[1];}//////返回玩家的位置//////判断玩家A跟玩家B,0是A,1是B///publicstaticintPlayerLocation(inti){if(i==0){returnplayerPos[0];}else{returnplayerPos[1];}}}}灵域
map[luckyTurn[i]]=1;
//给地图输入地雷坐标
for(inti=0;i{map[landMine[i]]=2;}//给地图输入暂停坐标for(inti=0;i{map[pause[i]]=3;}//给地图输入时光隧道坐标for(inti=0;i{map[timeTunnel[i]]=4;}}//////绘制地图///publicstaticvoidDrawMap(){Console.WriteLine("图例:◎1代表幸运轮盘☆2代表地雷▲3代表暂停※4代表时光隧道");//第一行:绘制下标0-29格的地图for(inti=0;i<=29;i++){Console.Write(JudgeMap(i));}Console.WriteLine();//第二行:绘制下标30-34格的地图for(inti=30;i<=34;i++){for(intj=0;j<29;j++){Console.Write("");}Console.WriteLine(JudgeMap(i));}//第三行:绘制下标35-64格的地图for(inti=64;i>=35;i--){Console.Write(JudgeMap(i));}Console.WriteLine();//第四行:绘制下标65-69格的地图for(inti=65;i<=69;i++){Console.WriteLine(JudgeMap(i));}//第五行:绘制下标70-99格的地图for(inti=70;i<=99;i++){Console.Write(JudgeMap(i));}Console.WriteLine();}//////判断地图关卡//////接收的值///publicstaticstringJudgeMap(inti){if(playerPos[0]==i&&playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"<>";}elseif(playerPos[0]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"A";}elseif(playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"B";}else{switch(map[i]){case0:Console.ForegroundColor=ConsoleColor.White;return"□";case1:Console.ForegroundColor=ConsoleColor.Red;return"◎";case2:Console.ForegroundColor=ConsoleColor.DarkGray;return"☆";case3:Console.ForegroundColor=ConsoleColor.Blue;return"▲";case4:Console.ForegroundColor=ConsoleColor.Green;return"※";}}return"";}//////判断玩家坐标的方法以及关卡的判断//////用来接收玩家A跟玩家B地址的位置///用来接收玩家A跟玩家B掷出来的点数///publicstaticintPlayerPos(inti,intj){intresult=0;PD=0;if(i==0){//接收玩家掷出来的点数付给玩家A的位置,playerPos[0]+j把之前的点数加上新掷出的点数付给玩家A的位置playerPos[0]=playerPos[0]+j;meetCount++;while(meetCount>1){if(playerPos[0]==playerPos[1]&&i==0){playerPos[1]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[0],Program.name[1],Program.name[1]);Console.ReadKey(true);}break;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//关卡判断if(map[playerPos[0]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[1]-=6;if(playerPos[1]<0){playerPos[1]=0;}lebel=false;Console.WriteLine("玩家{0}将把玩家{1}炸退了6步!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);}elseif(result==2){Console.WriteLine("玩家{0}将与玩家{1}交换位置!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);inttemporary=playerPos[0];playerPos[0]=playerPos[1];playerPos[1]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[0]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[0]-=6;}elseif(map[playerPos[0]]==3){PD=1;}elseif(map[playerPos[0]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[0]+=6;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//返回玩家A的位置returnplayerPos[0];}//接收玩家掷出来的点数付给玩家B的位置,playerPos[1]+j把之前的点数加上新掷出的点数付给玩家B的位置playerPos[1]=playerPos[1]+j;while(meetCount>1){if(playerPos[1]==playerPos[0]&&i==1){playerPos[0]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[1],Program.name[0],Program.name[0]);Console.ReadKey(true);}break;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//关卡判断if(map[playerPos[1]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[0]-=6;if(playerPos[0]<0){playerPos[0]=0;}lebel=false;}elseif(result==2){inttemporary=playerPos[1];playerPos[1]=playerPos[0];playerPos[0]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[1]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[1]-=6;}elseif(map[playerPos[1]]==3){PD=1;}elseif(map[playerPos[1]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[1]+=6;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//返回玩家B的位置returnplayerPos[1];}//////返回玩家的位置//////判断玩家A跟玩家B,0是A,1是B///publicstaticintPlayerLocation(inti){if(i==0){returnplayerPos[0];}else{returnplayerPos[1];}}}}灵域
map[landMine[i]]=2;
//给地图输入暂停坐标
for(inti=0;i{map[pause[i]]=3;}//给地图输入时光隧道坐标for(inti=0;i{map[timeTunnel[i]]=4;}}//////绘制地图///publicstaticvoidDrawMap(){Console.WriteLine("图例:◎1代表幸运轮盘☆2代表地雷▲3代表暂停※4代表时光隧道");//第一行:绘制下标0-29格的地图for(inti=0;i<=29;i++){Console.Write(JudgeMap(i));}Console.WriteLine();//第二行:绘制下标30-34格的地图for(inti=30;i<=34;i++){for(intj=0;j<29;j++){Console.Write("");}Console.WriteLine(JudgeMap(i));}//第三行:绘制下标35-64格的地图for(inti=64;i>=35;i--){Console.Write(JudgeMap(i));}Console.WriteLine();//第四行:绘制下标65-69格的地图for(inti=65;i<=69;i++){Console.WriteLine(JudgeMap(i));}//第五行:绘制下标70-99格的地图for(inti=70;i<=99;i++){Console.Write(JudgeMap(i));}Console.WriteLine();}//////判断地图关卡//////接收的值///publicstaticstringJudgeMap(inti){if(playerPos[0]==i&&playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"<>";}elseif(playerPos[0]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"A";}elseif(playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"B";}else{switch(map[i]){case0:Console.ForegroundColor=ConsoleColor.White;return"□";case1:Console.ForegroundColor=ConsoleColor.Red;return"◎";case2:Console.ForegroundColor=ConsoleColor.DarkGray;return"☆";case3:Console.ForegroundColor=ConsoleColor.Blue;return"▲";case4:Console.ForegroundColor=ConsoleColor.Green;return"※";}}return"";}//////判断玩家坐标的方法以及关卡的判断//////用来接收玩家A跟玩家B地址的位置///用来接收玩家A跟玩家B掷出来的点数///publicstaticintPlayerPos(inti,intj){intresult=0;PD=0;if(i==0){//接收玩家掷出来的点数付给玩家A的位置,playerPos[0]+j把之前的点数加上新掷出的点数付给玩家A的位置playerPos[0]=playerPos[0]+j;meetCount++;while(meetCount>1){if(playerPos[0]==playerPos[1]&&i==0){playerPos[1]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[0],Program.name[1],Program.name[1]);Console.ReadKey(true);}break;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//关卡判断if(map[playerPos[0]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[1]-=6;if(playerPos[1]<0){playerPos[1]=0;}lebel=false;Console.WriteLine("玩家{0}将把玩家{1}炸退了6步!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);}elseif(result==2){Console.WriteLine("玩家{0}将与玩家{1}交换位置!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);inttemporary=playerPos[0];playerPos[0]=playerPos[1];playerPos[1]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[0]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[0]-=6;}elseif(map[playerPos[0]]==3){PD=1;}elseif(map[playerPos[0]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[0]+=6;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//返回玩家A的位置returnplayerPos[0];}//接收玩家掷出来的点数付给玩家B的位置,playerPos[1]+j把之前的点数加上新掷出的点数付给玩家B的位置playerPos[1]=playerPos[1]+j;while(meetCount>1){if(playerPos[1]==playerPos[0]&&i==1){playerPos[0]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[1],Program.name[0],Program.name[0]);Console.ReadKey(true);}break;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//关卡判断if(map[playerPos[1]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[0]-=6;if(playerPos[0]<0){playerPos[0]=0;}lebel=false;}elseif(result==2){inttemporary=playerPos[1];playerPos[1]=playerPos[0];playerPos[0]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[1]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[1]-=6;}elseif(map[playerPos[1]]==3){PD=1;}elseif(map[playerPos[1]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[1]+=6;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//返回玩家B的位置returnplayerPos[1];}//////返回玩家的位置//////判断玩家A跟玩家B,0是A,1是B///publicstaticintPlayerLocation(inti){if(i==0){returnplayerPos[0];}else{returnplayerPos[1];}}}}灵域
map[pause[i]]=3;
//给地图输入时光隧道坐标
for(inti=0;i{map[timeTunnel[i]]=4;}}//////绘制地图///publicstaticvoidDrawMap(){Console.WriteLine("图例:◎1代表幸运轮盘☆2代表地雷▲3代表暂停※4代表时光隧道");//第一行:绘制下标0-29格的地图for(inti=0;i<=29;i++){Console.Write(JudgeMap(i));}Console.WriteLine();//第二行:绘制下标30-34格的地图for(inti=30;i<=34;i++){for(intj=0;j<29;j++){Console.Write("");}Console.WriteLine(JudgeMap(i));}//第三行:绘制下标35-64格的地图for(inti=64;i>=35;i--){Console.Write(JudgeMap(i));}Console.WriteLine();//第四行:绘制下标65-69格的地图for(inti=65;i<=69;i++){Console.WriteLine(JudgeMap(i));}//第五行:绘制下标70-99格的地图for(inti=70;i<=99;i++){Console.Write(JudgeMap(i));}Console.WriteLine();}//////判断地图关卡//////接收的值///publicstaticstringJudgeMap(inti){if(playerPos[0]==i&&playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"<>";}elseif(playerPos[0]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"A";}elseif(playerPos[1]==i){Console.ForegroundColor=ConsoleColor.Yellow;return"B";}else{switch(map[i]){case0:Console.ForegroundColor=ConsoleColor.White;return"□";case1:Console.ForegroundColor=ConsoleColor.Red;return"◎";case2:Console.ForegroundColor=ConsoleColor.DarkGray;return"☆";case3:Console.ForegroundColor=ConsoleColor.Blue;return"▲";case4:Console.ForegroundColor=ConsoleColor.Green;return"※";}}return"";}//////判断玩家坐标的方法以及关卡的判断//////用来接收玩家A跟玩家B地址的位置///用来接收玩家A跟玩家B掷出来的点数///publicstaticintPlayerPos(inti,intj){intresult=0;PD=0;if(i==0){//接收玩家掷出来的点数付给玩家A的位置,playerPos[0]+j把之前的点数加上新掷出的点数付给玩家A的位置playerPos[0]=playerPos[0]+j;meetCount++;while(meetCount>1){if(playerPos[0]==playerPos[1]&&i==0){playerPos[1]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[0],Program.name[1],Program.name[1]);Console.ReadKey(true);}break;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//关卡判断if(map[playerPos[0]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[1]-=6;if(playerPos[1]<0){playerPos[1]=0;}lebel=false;Console.WriteLine("玩家{0}将把玩家{1}炸退了6步!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);}elseif(result==2){Console.WriteLine("玩家{0}将与玩家{1}交换位置!按任意键继续",Program.name[0],Program.name[1]);Console.ReadKey(true);inttemporary=playerPos[0];playerPos[0]=playerPos[1];playerPos[1]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[0]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[0]-=6;}elseif(map[playerPos[0]]==3){PD=1;}elseif(map[playerPos[0]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[0]+=6;}if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面{playerPos[0]=99;}elseif(playerPos[0]<0){playerPos[0]=0;}//返回玩家A的位置returnplayerPos[0];}//接收玩家掷出来的点数付给玩家B的位置,playerPos[1]+j把之前的点数加上新掷出的点数付给玩家B的位置playerPos[1]=playerPos[1]+j;while(meetCount>1){if(playerPos[1]==playerPos[0]&&i==1){playerPos[0]=0;Console.Clear();DrawMap();Console.ResetColor();//把颜色设置为默认值Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!",Program.name[1],Program.name[0],Program.name[0]);Console.ReadKey(true);}break;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//关卡判断if(map[playerPos[1]]==1&&j!=0){boollebel=true;while(lebel){Console.WriteLine("幸运轮盘!1:把对手炸退6步!2:于对手交换位置");try{result=int.Parse(Console.ReadLine());if(result==1){playerPos[0]-=6;if(playerPos[0]<0){playerPos[0]=0;}lebel=false;}elseif(result==2){inttemporary=playerPos[1];playerPos[1]=playerPos[0];playerPos[0]=temporary;lebel=false;}else{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}catch{Console.WriteLine("你的输入有误!请重新输入!");lebel=true;}}}elseif(map[playerPos[1]]==2){Console.WriteLine("踩到地雷,后退6步!");Console.ReadKey(true);playerPos[1]-=6;}elseif(map[playerPos[1]]==3){PD=1;}elseif(map[playerPos[1]]==4){Console.WriteLine("时空隧道,前进6步!");Console.ReadKey(true);playerPos[1]+=6;}if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面{playerPos[1]=99;}elseif(playerPos[1]<0){playerPos[1]=0;}//返回玩家B的位置returnplayerPos[1];}//////返回玩家的位置//////判断玩家A跟玩家B,0是A,1是B///publicstaticintPlayerLocation(inti){if(i==0){returnplayerPos[0];}else{returnplayerPos[1];}}}}灵域
map[timeTunnel[i]]=4;
///绘制地图
publicstaticvoidDrawMap()
Console.WriteLine("图例:
◎1代表幸运轮盘☆2代表地雷▲3代表暂停※4代表时光隧道");
//第一行:
绘制下标0-29格的地图
for(inti=0;i<=29;i++)
Console.Write(JudgeMap(i));
Console.WriteLine();
//第二行:
绘制下标30-34格的地图
for(inti=30;i<=34;i++)
for(intj=0;j<29;j++)
Console.Write("");
Console.WriteLine(JudgeMap(i));
//第三行:
绘制下标35-64格的地图
for(inti=64;i>=35;i--)
//第四行:
绘制下标65-69格的地图
for(inti=65;i<=69;i++)
//第五行:
绘制下标70-99格的地图
for(inti=70;i<=99;i++)
///判断地图关卡
///接收的值
publicstaticstringJudgeMap(inti)
if(playerPos[0]==i&&playerPos[1]==i)
Console.ForegroundColor=ConsoleColor.Yellow;
return"<>";
elseif(playerPos[0]==i)
return"A";
elseif(playerPos[1]==i)
return"B";
switch(map[i])
case0:
Console.ForegroundColor=ConsoleColor.White;
return"□";
case1:
Console.ForegroundColor=ConsoleColor.Red;
return"◎";
case2:
Console.ForegroundColor=ConsoleColor.DarkGray;
return"☆";
case3:
Console.ForegroundColor=ConsoleColor.Blue;
return"▲";
case4:
Console.ForegroundColor=ConsoleColor.Green;
return"※";
return"";
///判断玩家坐标的方法以及关卡的判断
///用来接收玩家A跟玩家B地址的位置
///用来接收玩家A跟玩家B掷出来的点数
publicstaticintPlayerPos(inti,intj)
intresult=0;PD=0;
if(i==0)
//接收玩家掷出来的点数付给玩家A的位置,playerPos[0]+j把之前的点数加上新掷出的点数付给玩家A的位置
playerPos[0]=playerPos[0]+j;
meetCount++;
while(meetCount>1)
if(playerPos[0]==playerPos[1]&&i==0)
playerPos[1]=0;
Console.Clear();
DrawMap();
Console.ResetColor();//把颜色设置为默认值
Console.WriteLine("玩家{0}踩到玩家{1},玩家{2}退回源点!
",Program.name[0],Program.name[1],Program.name[1]);
Console.ReadKey(true);
break;
if(playerPos[0]>99)//判断玩家A的位置是不是大于99如果是的话把玩家A的位置定在99上面
playerPos[0]=99;
elseif(playerPos[0]<0)
playerPos[0]=0;
//关卡判断
if(map[playerPos[0]]==1&&j!
=0)
boollebel=true;
while(lebel)
Console.WriteLine("幸运轮盘!
1:
把对手炸退6步!
2:
于对手交换位置");
try
result=int.Parse(Console.ReadLine());
if(result==1)
playerPos[1]-=6;
if(playerPos[1]<0)
lebel=false;
Console.WriteLine("玩家{0}将把玩家{1}炸退了6步!
按任意键继续",Program.name[0],Program.name[1]);
elseif(result==2)
Console.WriteLine("玩家{0}将与玩家{1}交换位置!
inttemporary=playerPos[0];
playerPos[0]=playerPos[1];
playerPos[1]=temporary;
Console.WriteLine("你的输入有误!
请重新输入!
");
lebel=true;
catch
elseif(map[playerPos[0]]==2)
Console.WriteLine("踩到地雷,后退6步!
playerPos[0]-=6;
elseif(map[playerPos[0]]==3)
PD=1;
elseif(map[playerPos[0]]==4)
Console.WriteLine("时空隧道,前进6步!
playerPos[0]+=6;
//返回玩家A的位置
returnplayerPos[0];
//接收玩家掷出来的点数付给玩家B的位置,playerPos[1]+j把之前的点数加上新掷出的点数付给玩家B的位置
playerPos[1]=playerPos[1]+j;
if(playerPos[1]==playerPos[0]&&i==1)
",Program.name[1],Program.name[0],Program.name[0]);
if(playerPos[1]>99)//判断玩家B的位置是不是大于99如果是的话把玩家B的位置定在99上面
playerPos[1]=99;
elseif(playerPos[1]<0)
if(map[playerPos[1]]==1&&j!
if(playerPos[0]<0)
inttemporary=playerPos[1];
playerPos[1]=playerPos[0];
playerPos[0]=temporary;
elseif(map[playerPos[1]]==2)
elseif(map[playerPos[1]]==3)
elseif(map[playerPos[1]]==4)
playerPos[1]+=6;
//返回玩家B的位置
returnplayerPos[1];
///返回玩家的位置
///判断玩家A跟玩家B,0是A,1是B
publicstaticintPlayerLocation(inti)
灵域
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2