本⽂实例为⼤家分享了C#实现飞⾏棋⼩游戏的具体代码,供⼤家参考,具体内容如下
逻辑图
以下是掷⾊⼦的⼀个代码,⽐较有代表性,⾥⾯的逻辑和内容都已注释,可通过注释了解这⼀⽅法的运作模式。
public static void RowTouZi(int playerPos) //掷⾊⼦ {
//产⽣随机数,掷⾊⼦的随机数 Random r = new Random(); int num = r.Next(1, 7); //定义⼀个字符串变量 string msg = \"\";
//提⽰⽤户信息
Console.WriteLine(\"{0}按任意键开始掷⾊⼦\
//不显⽰⽤户按下的任意键 Console.ReadKey(true);
//根据不同的变量的值显⽰不同的情况
Console.WriteLine(\"{0}掷出了{1}\ //提⽰⽤户谁开始⾏动了
Console.WriteLine(\"{0}按任意键开始⾏动...\ Console.ReadKey(true);
//⽤户的坐标开始改变
PlayerPos[playerPos] += num;
//判断两个⽤户坐标可能出现的问题(重叠的问题) if (PlayerPos[playerPos] == PlayerPos[1- playerPos]) {
msg=string.Format(\"玩家{0}踩到了玩家{1},玩家{2}退6格\ PlayerPos[1- playerPos] -= 6; } else {
//检查是否出界 CheckPos();
switch (Map[PlayerPos[playerPos]]) {
//没有障碍 case 0:
msg =\"⾏动完了\"; break;
//踩到幸运轮盘 case 1:
msg = string.Format(\"{0}⾛到了幸运轮盘,请选择1--交换位置,2---轰炸对⽅\
//进⾏选择,调⽤Readint⽅法,只可以让⽤户输⼊1或2; int number = ReadInt(msg, 1, 2);
//进⾏判断⽤户选择的哪个⽅案,进⾏执⾏相应的代码 if (number == 1) {
//交换位置 int temp = 0;
temp = PlayerPos[playerPos]; temp = PlayerPos[playerPos];
PlayerPos[playerPos] = PlayerPos[1- playerPos]; PlayerPos[1- playerPos] = temp;
msg=string.Format(\"玩家{0}选择了玩家{1}交换位置\ } else {
PlayerPos[1- playerPos] = 0;
msg = string.Format(\"玩家{0}选择了轰炸玩家{1}\ }
break;
//踩到地雷了 case 2:
msg=\"踩到地雷了,后退6步\"; //坐标后退6
PlayerPos[playerPos] -= 6; //检查是否出界 CheckPos(); break;
//踩到暂停了 case 3:
msg =\"踩到暂停了\";
//将flag数组中的false,改为true,执⾏true相应的代码 flag[playerPos] = true; break;
//踩到了时空隧道 case 4:
msg = string.Format(\"恭喜你,踩到时空隧道,前进10步\"); //坐标前进10
PlayerPos[playerPos] += 10; //判断是否出界 CheckPos(); break; } }
Console.Clear(); //清除掉原来的地图 DrawMap(); //在画⼀边地图
//因为只有⼀种情况出现,所以msg的值经过判断之后也是只有⼀种,然后将其内容显⽰出来 Console.WriteLine(msg); }
⼩知识总结:
可以通过判断,显⽰内容
case 0:
msg=string.Format(\"玩家{0}踩到了玩家{1},玩家{2}退6格\case 1:
msg = string.Format(\"{0}⾛到了幸运轮盘,请选择1--交换位置,2---轰炸对⽅\
Console.WriteLine(msg);
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
因篇幅问题不能全部显示,请点此查看更多更全内容