飞行棋

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

主要运用面向过程,方法参数等

做界面:

把界面等重复用的代码写成一个方法。注意用static标注,不然在main方法中不能使用。

在main函数中用showUI();调用

分别定义名为name的字符串数组来存放玩家的姓名,name[0]代表玩家1的姓名,name[1]代表玩家2的姓名。(玩家下标也用数组存储)

注意玩家的姓名不能为空,玩家1和2的名字不能相同,这里可以用trim()方法来去掉空格。

输入完姓名之后清屏之后再画出地图

使用console.clear()来清屏

清完屏后再画一遍showUI();

画地图:

开辟一个int类型数组来存放地图

初始化地图,0代表正常,其他的分别定义

Foreach(string s in Map)

s=” ■”

把添加各种关卡封装成一个方法,InitiaLMap();

地图赋值:Map[luckyturn[i]]=1

DrowMap:

For(int i=0;i<30;i++)

{

         If(playPos[0]==i&&playpos[1]==i)

         {

                   Console.writeLine(“(在一起的标记)”);

}

Else if(playPos[0]==i)

{

         Console.write(“A”);

}

Else if(playPos[1]==i)

{

         Console.write(“B”);

}

Else

{

Switch(Map[i])

{

Case 0:………..

…………

}

}

}

注意画第一列空格要用全角

用#region和#endregion可以设一个标签,用来折叠代码

Console.ForeGroundColor=consoleColor.Red;(前景色的设置)

Console.resetcolor(还原颜色) 

掷骰子:

用whlie语句循环判断玩家位置是否小于99来进行循环,中间判断位置是否超过99或者小于0,超过99或者小于0记为99和0,超过99中间return返回。

可以把检查是否越界写成一个方法

Console.readkey(true)按下的键不再显示在控制台

随机数:

Random r=new random();

r.next(最小值,最大值)    注意是大于等于最小值,小于最大值

r.next(1,2)  永远是1

掷万骰子后判断玩家位置是否踩到对面,是否踩到地雷等判断

在字符串中使用占位符:

Msg=string.Format(“{0}”,playname[0]);

ConsoleKeyInfo rec=console.readkey();接收readkey的值

Rec.key=consolekey.tab判断用户按了哪个键,ConsoleKeyInfo是一个结构体,key是一个枚举

在飞行棋中判断暂停一回合:

设置一个标志位,bool[] isStop={true,true}

If(siStop=false)

{掷骰子

}

else

{

isStop=false;

}

把掷骰子写成方法:

判断对方用[1-i]来判断

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

原文地址:https://www.cnblogs.com/qwsdxz/p/3166037.html