java骑士飞行棋

上传人:壹****1 文档编号:507303302 上传时间:2022-09-10 格式:DOC 页数:14 大小:89KB
返回 下载 相关 举报
java骑士飞行棋_第1页
第1页 / 共14页
java骑士飞行棋_第2页
第2页 / 共14页
java骑士飞行棋_第3页
第3页 / 共14页
java骑士飞行棋_第4页
第4页 / 共14页
java骑士飞行棋_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《java骑士飞行棋》由会员分享,可在线阅读,更多相关《java骑士飞行棋(14页珍藏版)》请在金锄头文库上搜索。

1、骑士飞行棋骑士飞行棋简介:骑士飞行棋又名别生气,是一款跟传统的飞行棋一模一样的小游戏。游戏中每家有4个棋兵,谁4个兵最先到达目的地谁就赢(每一家的目的地各不相同,用颜色区别,大本营是什么颜色目的就是什么颜色)。当没有活动的兵时,每家可以连续扔3次,直到扔出6点释放出一个兵。之后每轮只能扔一次,棋兵前进的格数由扔出的点数决定,扔几点就走几步。无论是前进或者后退,当棋兵最后落脚的地方踩到对方棋兵时,就把对方棋兵轰回老家,当踩到地雷就后退6格,当踩到“”时,就进入幸运轮盘,里面有8种运气:前进、后退、交换位置、转移、暂停一轮、奖励一次、设置地雷、轰炸(将对方棋兵炸退6步)。一、需求分析:1、定义一个

2、类MAP,生成游戏中的地图,地图中包括幸运轮盘“”的位置,地雷位置,暂停位置,时候隧道位置。同时构造成员方法creatMap生成对战图,设置相关的成员变量;构造成员方法getGraph返回地图当前位置的对应图片。定义构造方法showLine1输出地图的奇数行(第1、3行),定义showLine2输出地图的偶数行(第2行);定义showRLine输出地图的右竖列;定义showLLine输出地图的左数列;最后定义showMap方法显示对战图。2、定义游戏类Game,定义相关的成员变量,包括对战图map,对战中玩家1的当前位置playerPos1,对战中玩家2的当前位置playerPos2,走或停标

3、识设置goAndStop,对战角色playerName。构造成员方法init()调用生成地图方法creatMap;开始游戏方法start(),同时构造成员方法setRole设置对战角色。构造对战玩法的方法play。其中方法play中调用掷骰子成员方法throwShifter,并返回掷出的骰子数目;构造成员方法getCurPos计算玩家此次移动后的当前位置,返回移动后的位置,构造方法judge 显示对战结果。3、定义类StartGame启动游戏。4、本程序是两人对战玩法。5、程序执行的命令:1)启动游戏 2)创建游戏类Game 3)开始游戏 4)定义测试类。二、概要设计: 1、定义启动游戏类St

4、artGame:/启动游戏class StartGame public static void main(String args) Game game = new Game(); /创建游戏类 game.start(); /开始游戏 2、创建游戏类Game:public class Game Map map; /地图 int playerPos1; /对战中玩家1的当前位置 int playerPos2; /对战中玩家2的当前位置 String goAndStop = new String2; /走或停标识设置String playerName = new String2; /对战角色publ

5、ic void init()/调用createMap()生成地图public void start()/两人对战开始游戏public void setRole(int no, int role)/设置对战角色public void play()/两人对战玩法public int throwShifter(int no)/掷骰子并返回掷出的骰子数目public int getCurPos(int no, int position, int step)/计算玩家此次移动后的当前位置并返回移动后的位置 public void judge()/显示对战结果3、定义Map类:class Map int

6、map = new int100; /对战地图 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; /时空隧道public void createMap()/生成地图public String getGraph(int i, int index, int playerPos1, int playe

7、rPos2)/显示地图关卡对应的图形并返回地图当前位置的对应图片public void showLine1(int start, int end, int playerPos1, int playerPos2)/输出地图的奇数行(第1、3行)public void showLine2(int start, int end, int playerPos1, int playerPos2)/输出地图的偶数行(第2行)public void showRLine(int start, int end, int playerPos1, int playerPos2)/输出地图的右竖列public voi

8、d showLLine(int start, int end, int playerPos1, int playerPos2) /输出地图的左竖列public void showMap(int playerPos1, int playerPos2)/显示对战地图4、定义测试类Test:class Test public static void main(String args) Map map = new Map(); map.createMap(); map.showMap(0, 0); 三、程序代码: import java.util.*;/Map类public class Game Ma

9、p map; /地图 int playerPos1; /对战中玩家1的当前位置 int playerPos2; /对战中玩家2的当前位置 String goAndStop = new String2; /走或停标识设置 String playerName = new String2; /对战角色 / 初始化游戏的一局 public void init() map = new Map(); map.createMap(); /生成地图 playerPos1 = 0; /设置玩家1起始位置 playerPos2 = 0; /设置玩家2起始位置 goAndStop0 = on; /记录玩家1下一次走

10、或停 goAndStop1 = on; /设置玩家2下一次走或停 /开始游戏 public void start() /初始化 init(); System.out.println(); System.out.println(/ /); System.out.println(/ /); System.out.println(/ 骑 士 飞 行 棋 /); System.out.println(/ /); System.out.println(/ /); System.out.println(nnn); System.out.println(n两 人 对 战); System.out.print

11、ln(n请选择角色: 1. 戴高乐 2. 艾森豪威尔 3. 麦克阿瑟 4. 巴顿); Scanner input = new Scanner(System.in); System.out.print(请玩家1选择角色: ); int role1 = input.nextInt(); int role2; do System.out.print(请玩家2选择角色: ); role2 = input.nextInt(); /双方选择角色代号 while (role2 = role1); /不允许角色重复 setRole(1, role1); /设置玩家1代表的角色 setRole(2, role2); /设置玩家2代表的角色 play(); /开始两人对战 /*设置对战角色 *no 玩家次序 1:玩家1 2:玩家2 *role 角色代号 */ public void setRole(int no, int role) switch (role) case 1: playerNameno - 1 = 戴高乐; break; case 2: playerNameno - 1 = 艾森豪威尔; break; case 3: playerNameno - 1 = 麦克阿瑟; break; case 4: playerNameno - 1 = 巴顿; break; defaul

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号