C#实现飞行棋游戏

飞行棋主要是讲的方法怎么应用,充分的去理解方法和方法的调用,整体收获还是很大的。
我想的是说一下整体的思路。在编程的时间里,逻辑是最重要的,先干嘛后干嘛,对吧。
直接上个飞行棋的图,大家看看。
C#实现飞行棋游戏
文章图片

【C#实现飞行棋游戏】先从哪里下手呢?画图!对先画图,画图先画表头,还是用流程图来吧
C#实现飞行棋游戏
文章图片

画图画好了,那么就是怎么掷骰子,然后不用的样式的格子都是什么功能。
这个实现功能,是我认为最麻烦的,一大技术难点。
下面是掷骰子的方法 简单来说就是用了一个大的 if else判断语句,来判断走到哪里,执行什么操作。

public static void RowTouzi(int playerPos){Random r = new Random(); int num = r.Next(1,7); string msg = ""; Console.WriteLine("{0}按下任意键开始掷骰子", PlayerNames[playerPos]); Console.ReadKey(true); //不显示按下的键的内容 Console.WriteLine("{0}掷出了{1}", PlayerNames[playerPos], num ); Console.WriteLine("{0}按任意键开始行动......", PlayerNames[playerPos]); Console.ReadKey(true ); //不显示按下的键的内容 PlayerPos[playerPos] += num ; CheckPos(); if (PlayerPos[playerPos] == PlayerPos[1- playerPos])//如果相等就退6格子{msg=string.Format ("玩家{0}踩到了玩家{1},玩家{2}退6格",PlayerNames[playerPos], PlayerNames[1- playerPos], PlayerNames[1-playerPos]); PlayerPos[1- playerPos] -= 6; CheckPos(); }else{switch (Map[PlayerPos[playerPos]]) //判断格子的数字{case 0: msg =("行动完成"); break; case 1:msg = string.Format("{0}走到幸运轮盘,1--交换位置,2--轰炸对方", PlayerNames[playerPos]); int number = ReadInt(msg, 1, 2); if (number == 1){int temp = 0; temp = PlayerPos[0]; PlayerPos[0] = PlayerPos[1]; PlayerPos[1] = temp; msg =string .Format ("玩家{0}他选择了与玩家{1}交换位置", PlayerNames[playerPos], PlayerNames[1- playerPos]); }else{PlayerPos[1- playerPos] = 0; msg=string .Format ("玩家{0}选择了轰炸玩家{1}",PlayerNames [playerPos],PlayerNames [1- playerPos]); }break; case 2://踩到地雷了msg="恭喜你能踩到地雷,百年不遇!退6格"; PlayerPos[playerPos] -= 6; CheckPos(); break; case 3: msg ="踩到暂停了"; flag[playerPos ]= true; break; case 4:msg="恭喜你,前进10格"; PlayerPos[playerPos] += 10; CheckPos(); break; }}//清空,重新加载地图Console.Clear(); DrawMap(); Console.WriteLine(msg ); }//掷骰子

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    推荐阅读