如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
骑士飞行棋骑士飞行棋简介:《骑士飞行棋》又名《别生气》,是一款跟传统的飞行棋一模一样的小游戏。游戏中每家有4个棋兵,谁4个兵最先到达目的地谁就赢(每一家的目的地各不相同,用颜色区别,大本营是什么颜色目的就是什么颜色)。当没有活动的兵时,每家可以连续扔3次,直到扔出6点释放出一个兵。之后每轮只能扔一次,棋兵前进的格数由扔出的点数决定,扔几点就走几步。无论是前进或者后退,当棋兵最后落脚的地方踩到对方棋兵时,就把对方棋兵轰回老家,当踩到地雷就后退6格,当踩到“¤”时,就进入幸运轮盘,里面有8种运气:前进、后退、交换位置、转移、暂停一轮、奖励一次、设置HYPERLINK"http://baike.baidu.com/view/43493.htm"\t"_blank"地雷、轰炸(将对方棋兵炸退6步)。一、需求分析:1、定义一个类MAP,生成游戏中的地图,地图中包括幸运轮盘“¤”的位置,地雷位置,暂停位置,时候隧道位置。同时构造成员方法creatMap生成对战图,设置相关的成员变量;构造成员方法getGraph返回地图当前位置的对应图片。定义构造方法showLine1输出地图的奇数行(第1、3行),定义showLine2输出地图的偶数行(第2行);定义showRLine输出地图的右竖列;定义showLLine输出地图的左数列;最后定义showMap方法显示对战图。2、定义游戏类Game,定义相关的成员变量,包括对战图map,对战中玩家1的当前位置playerPos1,对战中玩家2的当前位置playerPos2,走或停标识设置goAndStop,对战角色playerName。构造成员方法init()调用生成地图方法creatMap;开始游戏方法start(),同时构造成员方法setRole设置对战角色。构造对战玩法的方法play。其中方法play中调用掷骰子成员方法throwShifter,并返回掷出的骰子数目;构造成员方法getCurPos计算玩家此次移动后的当前位置,返回移动后的位置,构造方法judge显示对战结果。3、定义类StartGame启动游戏。4、本程序是两人对战玩法。5、程序执行的命令:1)启动游戏2)创建游戏类Game3)开始游戏4)定义测试类。二、概要设计:1、定义启动游戏类StartGame://启动游戏classStartGame{publicstaticvoidmain(String[]args){Gamegame=newGame();//创建游戏类game.start();//开始游戏}}2、创建游戏类Game:publicclassGame{Mapmap;//地图intplayerPos1;//对战中玩家1的当前位置intplayerPos2;//对战中玩家2的当前位置String[]goAndStop=newString[2];//走或停标识设置String[]playerName=newString[2];//对战角色publicvoidinit(){//调用createMap()生成地图}publicvoidstart(){//两人对战开始游戏}publicvoidsetRole(intno,introle){//设置对战角色}publicvoidplay(){//两人对战玩法}publicintthrowShifter(intno){//掷骰子并返回掷出的骰子数目}publicintgetCurPos(intno,intposition,intstep){//计算玩家此次移动后的当前位置并返回移动后的位置}publicvoidjudge(){//显示对战结果}}3、定义Map类:classMap{int[]map=newint[100];//对战地图int[]luckyTurn={6,23,40,55,69,83};//幸运轮盘int[]landMine={5,13,17,33,38,50,64,80,94};//地雷位置int[]pause={9,27,60,93};//暂停int[]timeTunnel={20,25,45,63,72,88,90};//时空隧道publicvoidcreateMap(){//生成地图}publicStringgetGraph(inti,intindex,intplayerPos1,intplayerPos2){//显示地图关卡对应的图形并返回地图当前位置的对应图片}publicvoidshowLine1(intstart,intend,intplayerPos1,intplayerPos2){//输出地图的奇数行(第1、3行)}publ