首页 > 代码库 > 333

333

类与类之间的关系图详见http://www.cnblogs.com/ywqu/archive/2009/12/06/1618184.html

 

代码要实现的功能(闲的蛋疼 就瞎搞了一下)

1、能够上下左右移动,且无法出墙

2、地图中会随机出现五个东西,你要在规定的时间内吃掉这五个东西,如果你用的步数是最少且没有超时,则分数加100,否则生命减1.

打代码前的构思

1、MAP类(地图)

     包含的属性:数组Map[,] ,常量mapsize(地图尺寸)

     包含的方法:draw(绘制6×6地图)

 

3、Pos类(位置)

     包含的属性:玩家位置playerpos,五个东西的位置pos[],静态变量isEnd(初始值为5)

     包含的方法:suiji(随机五个东西的位置和玩家位置)

 

4、GUI类(界面)

     包含的属性:静态变量生命值life,静态变量时间time,静态变量分数score,静态变量称号name

     包含的方法:Life(在地图右侧绘制"life:"life  ps:前者是文字)、Time(地图右侧绘制"time:"time  ps:前者是文字)

                       Name(根据分数score的值赋予不同的称号)

                        

 

5、Function类(功能)

     包含的属性:来自Pos类的玩家位置和五个东西的位置,玩家步数playermove,最少步数leastmove

     包含的方法:PlayerMove(接收上下左右后移动位置且记录步数),LeastMove类(计算最少步数)

                        IsLeast(判断是否是最少步数,如果是则score+=100,如果不是life-=1)

                        IsEnd(利用isend的值判断五个东西是否被吃完)

                        inicialize(调用Pos类的两个方法,对life time score name isend playermove leastmove重新赋值)

 

6、ESC类(退出)

     包含的属性:无

     包含的方法:Esc(按下Esc的时候或生命值为0的时候 退出程序)

 

7、Main方法(实时调用time方法,life方法,Name方法)

     1、实例化Map类,生成对象map,调用draw方法,绘制地图

          实例化GUI类,生成对象gui

     2、实例化Function类。生成对象fun,调用inicialize方法,初始化游戏

     3、循环1

          循环退出条件:调用Esc方法

          循环体:循环2、调用fun中的LeastMove方法和IsLeast、调用GUI中Name方法、

 

     4、循环2

          循环退出条件:对象fun中IsEnd 的返回值为真的时候

          循环体:调用fun中的PlayerMove方法

333