- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java小项目骑士飞行棋(含视频地址)
骑士飞行棋
骑士飞行棋简介:
《骑士飞行棋》又名《别生气》,是一款跟传统的飞行棋一模一样的小游戏。游戏中每家有4个棋兵,谁4个兵最先到达目的地谁就赢(每一家的目的地各不相同,用颜色区别,大本营是什么颜色目的就是什么颜色)。当没有活动的兵时,每家可以连续扔3次,直到扔出6点释放出一个兵。之后每轮只能扔一次,棋兵前进的格数由扔出的点数决定,扔几点就走几步。无论是前进或者后退,当棋兵最后落脚的地方踩到对方棋兵时,就把对方棋兵轰回老家,当踩到地雷就后退6格,当踩到“¤”时,就进入幸运轮盘,里面有8种运气:前进、后退、交换位置、转移、暂停一轮、奖励一次、设置地雷、轰炸(将对方棋兵炸退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)创建游戏类Game 3)开始游戏 4)定义测试类。
二、概要设计:
1、定义启动游戏类StartGame:
//启动游戏
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 String[2]; //走或停标识设置
String[] playerName = new String[2]; //对战角色
public 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[] map = new int[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}; //时空隧道
public void createMap(){
//生成地图
}
public String getGraph(int i, int index,
文档评论(0)