你的位置:首页 > ASP.net教程

[ASP.net教程]骑士飞行棋 C#代码详解


这段时间看了一遍某著名教育机构某老师的C#基础教程,其中有一个编写骑士飞行棋游戏的任务,本人觉得将这个小游戏的编写作为一个阶段的学习成果的检验是不错的,这是一个控制台程序。这是代码下载地址:

http://files.cnblogs.com/files/xiaohua92/%E9%AA%91%E5%A3%AB%E9%A3%9E%E8%A1%8C%E6%A3%8B.zip

下面是代码详细介绍。

首先要了解一下 骑士飞行棋 这个游戏的游戏规则:

1)参与游戏的一共有两个人,暂且称之为A和B.两个人轮流掷筛子,根据掷得的点数在地图上移动

2)地图上有5中元素,分别是无效果:□     幸运轮盘:◎   地雷:☆   暂停:▲     时空隧道:卍   。其中当走到□时候没有任何特殊效果,当走到幸运轮盘的时候会让你选择是要跟对手交换位置还是要轰炸对手(轰炸效果为让对手后退6格),当走到地雷的时候会自动倒退6格,当走到暂时的时候下一次暂停掷筛子一次,当走到时空隧道的时候会前进10格

3)如果A踩到了B,既A在B之后到了B所在的位置,此时B将要退回原点

4)为了调试方便,在代码中给游戏加了一个作弊按钮:在掷筛子的时候,按Tab键之后再按F1键的话,会让玩家自主输入想要掷的点数

 

代码构成:

一共设立了5个类,分别是Program(Main函数所在类)\drawMap(用来绘制地图)\baseUse(一些必要的基本函数)\Initial(初始化姓名以及地图等)\match(比赛逻辑) 。其中:

Program类:定义了公共的静态变量以及Main函数

drawMap类:定义了drawMaps()函数(用来绘制地图),getMapString()函数(主要用来在绘制地图的时候,确定当前位置图标)

baseUse类:定义了ShowUI()函数(用来绘制飞行棋的名称),ReadInt(int min, int max)函数(用来读取用户输入的数字), checkPos()函数(用来检查玩家当前位                   置是否超出边界)

Initial类:InitialMap()函数(用来初始化地图信息),InitialName()函数(用来记录玩家输入的用户名)

match类:Action(int playerNumber)类(用来玩家掷筛子之后的逻辑判断)

 

 

学习总结: