下载此文档

java骑士飞行棋 小游戏(精选).doc


文档分类:生活休闲 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
突然想起自己刚学java时,老师让写一个java骑士飞行棋,那时候还不知道写,到处问人,勉强写好了,结果全是放在主函数里,今天闲来没事,花了一会,再次写了个骑士飞行棋小游戏,希望对初学者有帮助吧。
代码中,可能用到了初学者还没接触到的东西,不过都不难,注释都有写明,花点时间就能明白的。
一共三个类。
分别:



package ;
import ;
import ;
public class Game {

private Scanner sc = new Scanner();

private static Map map = new Map();

/**
* 静态块,初始化地图
* 加载时就会被执行的内容
* 不理解的,可以在static{}块里打印一句话,看看控制台反映
*/
static {
();
}

/**
* 游戏开始
*/
public void GameStart() {
//游戏开始界面
e();

//选择角色,生成对象数组
Player [] players = getPlayer();

//游戏开始循环,直到有玩家胜出,结束
boolean isAnyoneWin = false;
while (!isAnyoneWin) {

//遍历玩家数组,让每个玩家依次进行掷点
for (int i = 0; i < ; i++) {

//对玩家的状态进行判断,是否处于暂停状态
if (players[i].getStatus() == 1) {

//如果玩家处于暂停状态,恢复暂停状态并跳过此回合
players[i].setStatus(0);
statusSay(players[i]);
continue;
}

//判断玩家,手动掷点
if (i != 0) {
letPlayerRoll(players[i]);
}

//进行掷点
int count = roll();
(players[i].getName() + " 掷出了" + count + " 点");

//记录玩家roll点前位置和roll点后位置,判断玩家位置是否到达终点
players[i].setLastPosition(players[i].getPosition());
players[i].setPosition(players[i].getPosition() + count);

//判断是否踩中对方
int secondNum = (1 - i);
if (isHit(players[i], players[secondNum])) {
players[secondNum].setPosition(0);
if (players[i].getLastPosition() != 0) {
changMap(players[i].getLastPosition(), players[i].getLastPositionFlag());
}
}

if (checkAnyoneWin(players[i].getPosition())) {
isAnyoneWin = true;

//打印游戏结束标语
gameOver(players[i]);
continue;
}else {

//判断将去位置是否有特殊效果,判断效果之后,理论上来说,应该再次进行判断是否有特殊效果
//但我们这里不设这种情出现,因为再来循环的话,代码会更复杂,不利于初学者学习
//在这里,我们只判断再进行一次roll点的判定
String mapBuff = null;
mapBuff = getMapFlag(players[i].getPosition());
if (!("=".equals(mapBuff))) {
players[i] = checkBuff(players[i], mapBuff);
}else if ("*".equals(mapBuff)) {
count = roll();
players[i].

java骑士飞行棋 小游戏(精选) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人qiaoshi3311655
  • 文件大小0 KB
  • 时间2015-09-10