java骑士飞行棋小游戏

合集下载

java骑士飞行棋 小游戏

java骑士飞行棋 小游戏

突然想起自己刚学java时,老师让写一个java骑士飞行棋,那时候还不知道写,到处问人,勉强写好了,结果全是放在主函数里,今天闲来没事,花了一会,再次写了个骑士飞行棋小游戏,希望对初学者有帮助吧。

代码中,可能用到了初学者还没接触到的东西,不过都不难,注释都有写明,花点时间就能明白的。

一共三个类。

分别:Game.javaMap.javaPlayer.javapackage chou.game.flying;import java.util.Random;import java.util.Scanner;public class Game {private Scanner sc = new Scanner(System.in);private static Map map = new Map();/*** 静态块,初始化地图* 加载时就会被执行的内容* 不理解的,可以在static{}块里打印一句话,看看控制台反映*/static {map.initMap();}/*** 游戏开始*/public void GameStart() {//游戏开始界面welcome();//选择角色,生成对象数组Player [] players = getPlayer();//游戏开始循环,直到有玩家胜出,结束boolean isAnyoneWin = false;while (!isAnyoneWin) {//遍历玩家数组,让每个玩家依次进行掷点for (int i = 0; i < players.length; i++) {//对玩家的状态进行判断,是否处于暂停状态if (players[i].getStatus() == 1) {//如果玩家处于暂停状态,恢复暂停状态并跳过此回合players[i].setStatus(0);statusSay(players[i]);continue;}//判断玩家,手动掷点if (i != 0) {letPlayerRoll(players[i]);}//进行掷点int count = roll();System.out.println(players[i].getName() + " 掷出了 " + count + " 点");//记录玩家roll点前位置和roll点后位置,判断玩家位置是否到达终点players[i].setLastPosition(players[i].getPosition());players[i].setPosition(players[i].getPosition() + count);//判断是否踩中对方int secondNum = Math.abs(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].setPosition(players[i].getPosition() + count);}//判断是否踩中对方secondNum = Math.abs(1 - i);if (isHit(players[i], players[secondNum])) {players[secondNum].setPosition(0);if (players[i].getLastPosition() != 0) {changMap(players[i].getLastPosition(), players[i].getLastPositionFlag());}}//记录玩家去的位置的形状,地图复原使用mapBuff = getMapFlag(players[i].getPosition());players[i].setLastPositionFlag(mapBuff);//改变地图上玩家的位置,先复原,再改变//初始位置是为0,所以要判断if (players[i].getLastPosition() != 0) {changMap(players[i].getLastPosition(),players[i].getLastPositionFlag());}//三目运算符,i == 0 是一个布尔式,? 疑问,如果是真,返回:前面的值,如果假,:后面的值mapBuff = i == 0 ? "C" : "P";changMap(players[i].getPosition(), mapBuff);}map.showMap();}}}/*** 判断是否踩中对方* @param first 前面玩家* @param second 后面玩家*/public boolean isHit(Player first,Player second) {boolean temp = false;if (first.getPosition() == second.getPosition()) {temp = true;}return temp;}/*** 玩家掷点阻塞* @param player 玩家信息*/public void letPlayerRoll(Player player) {System.out.println("请玩家 " + player.getName() + " 掷点~");sc.next();}/*** 检查玩家到达的地图位置是否有特殊效果* @param player 玩家* @param mapBuff 地图标识* @return执行过buff后的玩家对象*/public Player checkBuff(Player player,String mapBuff) { if ("-".equals(mapBuff)) {System.out.println(player.getName()+ " 进入黑洞,迷失了方向,后退6步");System.out.println(player.getName() + ":shit!");player.setPosition(player.getPosition() - 6);}else if ("+".equals(mapBuff)) {System.out.println(player.getName() + " 进入时空隧道,前进6步");System.out.println(player.getName() + ":luckily!");player.setPosition(player.getPosition() + 6);}else if ("*".equals(mapBuff)) {System.out.println(player.getName() + " 进行了空间跳跃~再来一次");System.out.println(player.getName() + ":see me fly!");player.setStatus(0);}else if ("^".equals(mapBuff)) {System.out.println(player.getName() + " 抛锚了,暂停一次");System.out.println(player.getName() + ":what is the fuck!");player.setStatus(1);}return player;}/*** 改变地图上玩家的位置* @param position 位置* @param flag 地图形状*/public void changMap(int position, String flag) {if (position < 31) {map.map[0][position - 1] = flag;}else if (position > 30 && position < 36) {map.map[position - 30][29] = flag;}else if (position > 35 && position < 66) {map.map[6][position - 35] = flag;}else if (position > 65 && position < 71) {map.map[position - 59][0] = flag;}else if (position > 70 && position < 101) {map.map[12][position - 71] = flag;}}/*** 暂停言语* @param player 被暂停的玩家*/public void statusSay(Player player) {System.out.println(player.getName() + " 暂停中...........");}/*** 获得地图指定位置的形状* @param position 位置* @return*/public String getMapFlag(int position) {String flag = "=";if (position < 31) {flag = map.map[0][position - 1];}else if (position > 30 && position < 36) {flag = map.map[position - 30][29];}else if (position > 35 && position < 66) {flag = map.map[6][65 - position];}else if (position > 65 && position < 71) {flag = map.map[position - 59][0];}else if (position > 70 && position < 101) {flag = map.map[12][position - 71];}return flag;}/*** 胜利标语* @param player 玩家*/public void gameOver(Player player) {System.out.println("whar a palyer!!");System.out.println(" 玩家 " + player.getName() + " 率先到达终点,获得了胜利");}/*** 判断是否胜利* @param position 位置* @return boolean,temp*/public boolean checkAnyoneWin(int position) {boolean temp = false;temp = position >= 100 ? true : false;return temp;}/*** 掷点* @return int,count 点数*/public int roll () {int count = 0;//产生一个6以内的随机数Random random = new Random();count = random.nextInt(6) + 1;return count;}/*** 选择角色* @return Player [],players 玩家对象数组*/public Player [] getPlayer(){boolean flag = true;//创建对象数组,长度为2,用来接收玩家对象和电脑Player [] players = new Player[2];Player player = new Player();player.setNum(1);Player computer = new Player();while (flag) {String userChoose = sc.next();//获取输入内容,判断是否 1,2,3,根据选择给玩家对象赋名if (!userChoose.matches("[1-3]")) {System.out.println("→ 选择角色失败,请重新选择");} else {switch (Integer.parseInt(userChoose)) {case 1:player.setName("YaGaMi");break;case 2:player.setName("Killer");break;case 3:player.setName("Chou");break;default:break;}System.out.println("→ 你选择了 " + player.getName() + " 作为你的游戏角色");System.out.println("→ 电脑选择了 Fujiwara no Mokou 作为游戏角色" );computer.setName("Fujiwara no Mokou");//数组第1位是玩家,第二位是电脑players[1] = player;players[0] = computer;flag = false;}}return players;}public void welcome() {System.out.println("*********************************");System.out.println("*******欢迎来到飞行棋小游戏*******");System.out.println("*********************************");System.out.println();System.out.println("游戏说明:");System.out.println("地图上随机出现 * - ^ + 四种效果");System.out.println("分别代码:再掷1次,后退6步,暂停1次,前进6步");System.out.println();System.out.println("→ 请选择你的喜欢的游戏角色编号:");System.out.println("1.YaGaMi");System.out.println("2.Killer");System.out.println("3.Chou");}public static void main(String[] args) {new Game().GameStart();}}package chou.game.flying;public class Map {public String [][] map = new String[13][30];public void initMap() {for (int i = 0; i < map.length; i++) {for (int j = 0; j < map[i].length; j++) {if(i == 0 || i == 6 || i == 12 || (i < 6 && j == 29) || (i > 6 && j == 0)){map[i][j] = "=";}else {map[i][j] = " ";}}}map[0][6] = "+";map[0][8] = "-";map[0][15] = "*";map[0][20] = "-";map[0][29] = "^";map[3][29] = "*";map[6][7] = "^";map[6][16] = "+";map[6][20] = "-";map[6][28] = "^";map[10][0] = "*";map[12][7] = "-";map[12][8] = "^";map[12][15] = "-";map[12][20] = "^";map[12][23] = "-";map[12][28] = "-";}public void showMap(){for (int i = 0; i < map.length; i++) {for (int j = 0; j < map[i].length; j++) {if(i == 6){System.out.print(map[i][29-j] + " ");}else {System.out.print(map[i][j] + " ");}}System.out.println();}}public static void main(String[] args) {}}package chou.game.flying;public class Player {private String name;//玩家状态private int status;//玩家当前位置private int position;//玩家上把位置private int lastPosition;//玩家上把位置的地图形状private String lastPositionFlag;//玩家编号private int num;public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getName() {return name;}public void setName(String name) { = name;}public int getStatus() {return status;}public void setStatus(int status) {this.status = status;}public int getPosition() {return position;}public void setPosition(int position) { this.position = position;}public int getLastPosition() {return lastPosition;}public void setLastPosition(int lastPosition) { stPosition = lastPosition;}public String getLastPositionFlag() {return lastPositionFlag;}public void setLastPositionFlag(String lastPositionFlag) { stPositionFlag = lastPositionFlag;}}。

java课程设计--骑士游历程序的开发

java课程设计--骑士游历程序的开发

java课程设计--骑士游历程序的开发JAVA程序设计课程设计报告课题: 骑士游历程序的开发姓名:学号:同组姓名:专业班级:指导教师:设计时间:2013.06.10评阅意见:评定成绩:指导老师签名:年月日目录一系统描述 (2)二设计目的与意义 (2)三分析与设计 (3)3.1 创建骑士游历程序 (3)3.2 功能模块划分 (3)3.3 系统详细设计文档 (5)3.3.1 类的划分及相互关系 (5)3.3.2 系统或模块的流程图 (5)3.4 各个模块的实现方法描述 (6)3.4.1 AccessibleSquare算法实现 (6)3.4.2 图形化界面 (9)3.4.3 主调用程序的设计和开发 (10)3.5 测试数据及期望结果 (11)四系统测试 (11)五总结或心得体会 (15)六参考文献 ............................ 错误!未定义书签。

七附录.. (16)一系统描述骑士游历问题是一个古老而著名的问题,它最初是由大数学家Euler提出的.问题是这样的:国际象棋中的棋子(叫作骑士)在一个空棋盘内移动,问它能否经过64格中的每一格且只经过一次?(骑士按L行移动,即在某方向前进两格接着在与原方向垂直的方向上前进一格)即:有一个n*m的棋盘(2≤n≤50,2≤m≤50),在棋盘(x1,y1)点即第x1行第y1列有一个中国象棋马,马走的规则为:(1)马走日字;(2)马只能向右走任务:求出从起始点到棋盘最右边的所有路径。

本程序实现了骑士游历问题的求解,并能够演示起始位置在棋盘上任何位置的游历问题的实现.程序采用动态的图形演示,使算法的描述更形象,更生动,使教学能产生良好的效果。

本程序采用Applet来编制整个程序,这样既可以使大家对算法的实现有了一定的了解,也可以熟悉一下Java图形界面, Applet以及Java语言的命名规范,让大家熟悉Java的基本语言结构和强大的开发能力。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏
目标:玩家需要将自己的所有飞机棋子从起点飞到终点,首先完成的玩家获胜。

规则和玩法: 1. 每个玩家掷骰子确定移动步数,然后选择一个飞机棋子移动相应的步数。

如果掷到6,则可以再次掷骰子并移动相应步数的飞机棋子。

2. 如果玩家的飞机棋子落在其他玩家的飞机棋子上,被撞飞的飞机棋子需要返回到起点重新开始。

3. 在飞机棋子飞行路径上有特殊的安全点和危险点,如果飞机棋子落在安全点,则可以暂时免受被撞飞的风险;如果落在危险点,则可能被撞飞或者退回起点。

4. 当玩家的飞机棋子到达终点时,需要准确掷骰子来精确移动到终点的位置。

如果掷骰子的点数超出终点位置,则需要移动到终点后再回退相应的步数。

5. 第一个将所有飞机棋子成功飞到终点的玩家获胜,游戏结束。

术语和技巧: 1. 策略:玩家需要根据游戏情况和其他玩家的位置来制定移动策略,尽量避免被撞飞并快速飞到终点。

2. 飞机棋子的选择:在掷骰子后,玩家需要根据掷骰子的点数来选择移动哪个飞机棋子,以最大化自己的移动效益。

3. 安全点和危险点的利用:玩家可以根据飞机棋子的位置来选择移动路径,尽量避开危险点或者利用安全点来保护自己的飞机棋子。

飞行棋小游戏不仅考验玩家的运气,还需要玩家灵活运用策略来取得胜利。

希望以上规则和技巧能帮助玩家更好地享受这款经典的家庭游戏。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种非常受欢迎的家庭桌游,适合2到4名玩家参与。

游戏的目标是让自己的飞机先飞回起点。

游戏规则如下:1. 每个玩家控制4架飞机,起点为各自的飞机场。

每个玩家的飞机场有4个不同颜色的起飞点,分别用于起飞和重新进场。

2. 游戏使用一个特殊的骰子,上面有数字1到6和一个飞机标志。

玩家轮流掷骰子并按骰子上的数字移动相应步数。

3. 玩家可以选择起飞一架飞机,或者移动已经起飞的飞机。

起飞的飞机从起飞点开始移动,每次掷骰子决定移动步数。

4. 当玩家掷到飞机标志时,可以选择起飞一架新的飞机或者移动已经起飞的飞机。

如果没有飞机可以起飞或移动,轮到下一位玩家。

5. 如果玩家的飞机落在其他玩家的飞机上,被撞的飞机将返回对方的飞机场重新进场,而被撞的玩家可以选择起飞一架新的飞机。

6. 当玩家的飞机完全绕一圈回到自己的起点时,进入降落阶段。

在降落阶段,玩家必须掷到一个精确的数字才能进入自己的飞机场。

如果掷骰子的数字超过了所需的数字,玩家必须将飞机移动到超过所需数字的位置。

7. 第一个将所有飞机都成功降落到自己的飞机场的玩家获胜。

飞行棋中的术语和技巧:1. 起飞点:玩家的飞机在起飞点等待起飞。

2. 移动:根据掷骰子的数字移动飞机的步数。

3. 飞机标志:掷到飞机标志的玩家可以起飞一架新的飞机或者移动已经起飞的飞机。

4. 撞机:当一个飞机落在其他玩家的飞机上时,被撞的飞机返回对方的飞机场重新进场。

5. 降落阶段:当玩家的飞机完全绕一圈回到自己的起点时,进入降落阶段。

6. 精确数字:在降落阶段,玩家必须掷到一个精确的数字才能进入自己的飞机场。

玩家可以根据自己的策略和技巧来决定起飞哪架飞机,以及如何移动已经起飞的飞机。

有时候,选择起飞新的飞机可能会更有利,因为它可以增加你的机会,但也有可能会被撞。

移动已经起飞的飞机时,需要考虑其他玩家的位置和可能的风险。

此外,玩家还可以尝试与其他玩家合作或采取竞争策略。

例如,两名玩家可以合作撞击另外一名玩家的飞机,以阻止他们进入降落阶段。

北大青鸟ACCP阶段项目__骑士飞行棋_java

北大青鸟ACCP阶段项目__骑士飞行棋_java
骑士飞行棋
问题描述
开发一款Java小游戏——骑士飞行棋
游戏规则和传统的飞行棋一样,支持两人对战 采用100格小型游戏棋盘 游戏规则:对战双方轮流掷骰子控制自己的骑兵前进或后退,在 游戏棋盘上设置有关卡
普通 地雷 暂停 时空隧道 幸运轮盘(提供两种运气:交换位置和轰炸)
棋盘上的关卡只在骑兵第一次移动遇到时有效
switch(i){
case 0: //普通格
if(对方在此格){
//对方被炸回起点
}
case 1: //幸运轮盘
//选择和对方交换位置——做交换
//选择轰炸对方——对方退6步
case 2: //地雷
//退后6步
case 3: //暂停键
//设置goAndStop为off,标识下轮暂停
case 4: //时空隧道
2
设计骑士飞行棋的棋盘
使用字符显示棋盘
起 点
前进方向
问题分析-1
暂停 普通
幸运轮盘
地雷
时空隧道
终 点
3
问题分析-2
根据需求分析对象
对战地图类(Map) 功能:在控制台显示棋盘,并显示当前玩家在棋盘中所处的位置 游戏类(Game) 功能:实现游戏初始化设置、展示游戏开始界面以及角色设置、 控制游戏进度、实现游戏规则、以及游戏结束后结果评判
测试类(StartGame) 功能:启动游戏
4
难点分析-1
实时动态显示对战地图
地图信息以整型数据存储在数组中
int[ ] map = new int[100]; //对战地图
数组下标 0
99
0000102134… 4 …
普通 幸运轮盘 地雷 暂停
时空隧道

JAVA小游戏骑士飞行棋源码03

JAVA小游戏骑士飞行棋源码03

JA V A小游戏骑士飞行棋源码03游戏过程:package s1java.xmal1;public class Game{//声明地图Map map;//声明玩家1和玩家2int playerPos1 ;int playerPos2 ;//声明走或停标识String[] goAndStop = new String[2];//声明对战角色String[] playerName = new String[2];/*** 初始化游戏的第一局**/public void init(){//新建Map对象map = new Map();//初始化地图map.createMap();//初始化玩家1和玩家2的位置playerPos1 = 0 ;playerPos2 = 0 ;//初始化玩家1和玩家2的走停标识goAndStop[0] = "on";goAndStop[1] = "on";}/*** 设置对战角色* @param no 玩家次序1:玩家1 2:玩家2* @param role 角色代号1:戴高乐2:艾森豪威尔3:麦克阿瑟4:巴顿*/public void setRole(int no , int role){if(no == 1){switch(role){case 1://设置玩家名称为"戴高乐"playerName[no-1] = "戴高乐";break;case 2://设置玩家名称为"艾森豪威尔"playerName[no-1] = "艾森豪威尔";break;case 3://设置玩家名称为"麦克阿瑟"playerName[no-1] = "麦克阿瑟";break;case 4://设置玩家名称为"巴顿"playerName[no-1] = "巴顿";break;}}if(no == 2){switch(role){case 1://设置玩家名称为"戴高乐"playerName[no-1] = "戴高乐";break;case 2://设置玩家名称为"艾森豪威尔"playerName[no-1] = "艾森豪威尔";break;case 3://设置玩家名称为"麦克阿瑟"playerName[no-1] = "麦克阿瑟";break;case 4://设置玩家名称为"巴顿"playerName[no-1] = "巴顿";break;}}}/*** 开始游戏**/public void start(){init();}public void}。

java小项目骑士飞行棋(含视频地址)

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 显示对战结果。

飞行棋游戏java实现

飞行棋游戏java实现

import java.util.Scanner;public class bisai {private final static int MAX = 105; // 宏定义private static int sign=0;static boolean temp=true;public static void main(String[] args) { Scanner scanner1 = newScanner(System.in);while(true){//System.out.println("******************** *请输入选择**********************");//System.out.print("1、进入最短路径查询:");//System.out.println("2、查看规则");//System.out.println("3、退出:");//System.out.println("******************** ******************************");//输入菜单选项if(temp){System.out.println("*********************请输入选择**********************");System.out.print("1、进入最短路径查询:");System.out.println("2、查看规则");System.out.println("3、退出:");System.out.println("********************** ****************************");sign=scanner1.nextInt();}switch(sign){case 1:feng();break;case 2:shuoming();break;case 3:System.exit(-1);default:System.out.println("没有您的选择");break;}}}//主体用于相关的的数据信息private static void feng() {int[][] juli = new int[MAX][MAX]; // 跳转距离存放boolean[][] biaozhi = newboolean[MAX][MAX]; // 标志是否遍历过int[][] queue = new int[MAX* MAX][3]; // 二维数组用来存放点的坐标第三列存放距离int[][] fangxiang = new int[][] { { 0, 1 }, { 0, -1 }, { 1, 0 },{ -1, 0 } };// 碰到飞行器时的方向改变上下左右// **********初始化数组**************for (int a = 0; a < MAX; a++)// 初始化距离数组for (int b = 0; b < MAX; b++) {juli[a][b] = 0;}for (int a = 0; a < MAX; a++)// 初始化标志位数组for (int b = 0; b < MAX; b++) {biaozhi[a][b] = true;}// *******************************int head=0, tail=0; // 用于逐层遍历int x=0, y=0;////终点坐标System.out.println("请依次输入 n,m 的值(n,m)用空格隔开):");Scanner scanner = newScanner(System.in);int n = scanner.nextInt();int m = scanner.nextInt();if((n<100&&n>=3)&&(m<100&&m>=3)){boolean bool=true;while (n > 0) {int i = 0, j=0, k=0;if(bool){System.out.println("输入棋子的初始位置(横纵坐标间用空格隔开):");queue[0][0] =scanner.nextInt();///棋子位置queue[0][1] = scanner.nextInt();}System.out.println("输入终点坐标(横纵坐标间用回车隔开):");x = scanner.nextInt();///坐标输入y = scanner.nextInt();if(queue[0][0]==x&&queue[0][1]==y){System.out.println("您输入终点坐标位置有误(起点与终点不能重合)");bool=false;continue;}System.out.println("输入飞行器的个数:");k = scanner.nextInt();while (k > 0) {System.out.println("输入飞行器的坐标(横纵坐标间用回车隔开):");i = scanner.nextInt();//输入飞行器的坐标j = scanner.nextInt();///if((i==queue[0][0]&&j==queue[0][1])){System.out.println("最近输入飞行器的位置有吴!(飞行器位置不能与起点位置重合)");continue;}else if((i==x&&j==y)){System.out.println("最近输入飞行器的位置有吴!(飞行器位置不能与终点位置重合)");continue;}if((i==x&&j==y)&&(i==queue[0][0]&&j==queue [0][1])){System.out.println("最近输入飞行器的位置有吴!(飞行器位置不能与起点和终点位置重合)");continue;}System.out.println("输入飞行器的"+i+" "+j+"飞行距离k(横纵坐标间用回车隔开):");i--;//数组下标从0开始,所以先减一保持与下标的一致j--;juli[i][j] = scanner.nextInt();// 输入飞行器距离k--;//计数器}queue[0][0]--;//数组下标从0开始,所以先减一保持与下标的一致queue[0][1]--;queue[0][2] = 0;biaozhi[queue[0][0]][queue[0][1]] = false;//将棋子位置的访问标志位设置假head = 0;tail = 1;x--;//数组下标从0开始,所以先减一保持与下标的一致y--;// 核心hexing(juli, biaozhi, queue, fangxiang, head, tail, x, y, n, m); //最短路径的计算调用·if (biaozhi[x][y]) {System.out.println("impossible");}break;}}else{sign=1;temp=false;System.out.println("行和列的有效范围是大于等于3小于100!请重新输入!");}}//用于网格的广度遍历private static void hexing(int[][] juli, boolean[][] biaozhi,int[][] queue, int[][] fangxiang, int head, int tail, int x, int y,int n, int m) {int i;int j;int k;while (head < tail && biaozhi[x][y]) { for (k = 0; k < 4; k++) {i = queue[head][0] +fangxiang[k][0];j = queue[head][1] +fangxiang[k][1];while (i >= 0 && i < n && j >= 0 && j < m && juli[i][j] > 0) {i += juli[i][j] * fangxiang[k][0]; //i 出现负的越界 whyif (i < 0 || i >= n ) {// 越界处理if (i < 0)i = 0;if (i >= n)i = n - 1;break;}j += juli[i][j] * fangxiang[k][1]; //????if ( j < 0 || j >= m) {// 越界处理if (j < 0)j = 0;if (i >= m)j = m - 1;break;}}if (i >= 0 && i < n && j >= 0 && j < m)// 符合条件进入数组if (biaozhi[i][j]) {queue[tail][0] = i;queue[tail][1] = j;queue[tail][2] = queue[head][2] + 1;biaozhi[i][j] = false;if (i == x && j == y) {System.out.println("最短路径为:");temp=true;//控制菜单是否显示System.out.println(queue[tail][2]);}tail++;}}head++;}}//规则说明函数private static void shuoming(){System.out.println("这是一种只有一个棋子的游戏。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏
飞行棋是一款非常受欢迎的小游戏,适合两到四名玩家参与。

游戏的目标是让自己的四架飞机先回到家的中心点,而阻止其他玩家的飞机到达目的地。

玩家需要根据骰子的点数来移动自己的飞机。

每个玩家轮流掷骰子,然后根据点数来移动自己的飞机。

如果玩家掷到了6,可以再掷一次骰子并移动飞机。

当飞机经过其他玩家的飞机时,可以将对方的飞机送回起点,这就是“吃子”。

在游戏中,有一些特殊的点数和规则需要注意。

比如,如果玩家掷到了4,可以选择移动一架飞机四步,或者移动一架飞机出发。

另外,玩家需要在起飞点停留一回合后才能起飞。

而当玩家的飞机经过自己的起飞点时,可以选择停下来不起飞,也可以选择起飞。

除了基本的规则外,玩家还需要注意其他玩家的飞机位置,以避免被吃子。

同时,可以利用自己的飞机来堵住其他玩家的路径,增加游戏的策略性。

飞行棋是一款简单而有趣的小游戏,适合家庭或朋友一起玩耍。

玩家需要一定的运气和策略来取得胜利,同时也需要注意其他玩家的动向,以免被吃子。

希望你能尝试这款游戏,并且享受其中的乐趣和挑战。

java骑士飞行棋(窗口化版)

java骑士飞行棋(窗口化版)

package s1java.xmal1;import java.awt.Toolkit;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import java.awt.FlowLayout;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class Map extends JFrame implements ActionListener {/****/private static final long serialV ersionUID = -5777519671651782702L;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 }; // 时空隧道/*** 生成地图: 关卡代号为:1:幸运轮盘2:地雷3: 暂停4:时空隧道0:普通*/int playerPos1 = 0;int playerPos2 = 0;String[] playerName = new String[2];int[][] Flag = new int[2][100];public void testMap() {// 设置标题this.setTitle("骑士飞行棋");// 设置窗体大小this.setSize(840, 500);// 取得屏幕的宽度JButton btn1 = new JButton("请掷骰子");JButton btn2 = new JButton("选择玩家");JButton btn3 = new JButton("游戏规则");final int width = Toolkit.getDefaultToolkit().getScreenSize().width;// 取得屏幕的高度final int height = Toolkit.getDefaultToolkit().getScreenSize().height;// 背景图片// 设置窗体出现位置this.setLocation((width - 800) / 2, (height - 500) / 2);setLayout(new FlowLayout());this.setResizable(false);this.add(btn1);this.add(btn2);this.add(btn3);// add(btn4);btn1.addActionListener(this);btn2.addActionListener(this);btn3.addActionListener(this);// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setV isible(true);}public void createMap() {Flag[0][0] = -1;Flag[1][0] = -1;int i = 0;for (i = 0; i < luckyTurn.length; i++) {map[luckyTurn[i]] = 1;}for (i = 0; i < landMine.length; i++) {map[landMine[i]] = 2;}for (i = 0; i < pause.length; i++) {map[pause[i]] = 3;}// 添加代码实现在对战地图上设置时空隧道for (i = 0; i < timeTunnel.length; i++) {map[timeTunnel[i]] = 4;}}public Image getGraph(int i, int index) {Image image = null;if (playerPos1 == index && playerPos2 == index) {image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\两人.jpg");} else if (playerPos1 == index && playerPos2 != index) { image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\玩家一.jpg");} else if (playerPos2 == index && playerPos1 != index) { image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\玩家二.jpg");} else {switch (i) {case 1:image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\轮盘.jpg");break;case 2:image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\炸弹.jpg");break;case 3:image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\停止.jpg");break;case 4:image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\时空隧道.jpg");break;default:image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\普通.jpg");}}// 添加代码return image;}public void paint(final Graphics g) {super.paint(g);Image image = Toolkit.getDefaultToolkit().getImage("src\\s1java\\xmal1\\image\\背景.jpg");g.drawImage(image, 0, 65, 840, 430, this);g.setFont(new Font("宋体", Font.BOLD, 20));g.drawString("骑士飞行棋", 100, 55);// g.drawString("作者:董超", 620, 55);for (int i = 0; i <= 30; i++) {Image image1 = getGraph(map[i], i);g.drawImage(image1, 20 + i * 25, 130, this);}for (int i = 65; i >= 35; i--) {Image image1 = getGraph(map[i], i);g.drawImage(image1, 770 - (i - 35) * 25, 250, this);}for (int i = 31; i <= 34; i++) {Image image1 = getGraph(map[i], i);g.drawImage(image1, 770, 130 + (i - 30) * 25, this);}// 添加代码for (int i = 66; i <= 68; i++) {Image image1 = getGraph(map[i], i);g.drawImage(image1, 20, 250 + (i - 65) * 25, this);}for (int i = 66; i <= 99; i++) {Image image1 = getGraph(map[i], i);g.drawImage(image1, 20 + (i - 69) * 25, 350, this);}}public void showMap() {createMap();testMap();repaint();}int flag = 0;int step;String[] goAndStop = new String[] { "on", "off" };public void actionPerformed(final ActionEvent e) {// TODO 自动生成方法存根if (e.getActionCommand() == "游戏规则") {final String str = "玩家轮流掷骰子,点数是几就走几步。

骑士飞行棋游戏

骑士飞行棋游戏

《骑士飞行棋游戏》
功能需求说明:
1. 该游戏是两人对战方式。

2. 游戏规则:(1)游戏规则和传统飞行棋一样,支持两人对战。

(2)采用100格小型游戏棋盘。

(3)双方轮流掷骰子,每轮只能掷一次骰子,前进的格数由扔出的点数决定,扔几点就走几步。

地图格子包含:■ 暂停(暂停一次掷骰子),¤幸运轮盘(交换位置或轰炸对方倒退6格),★地雷(后退6格),〓时空隧道(再前进6个),∷普通(走到普通格停下,如果踩到对方,对方被轰回老家)。

(4)连续第二次踩到相同关卡,第二次关卡不生效。

(注意:可以自行设计更多的游戏关卡)。

3. 游戏开始时,能够提供作战地图的选择,备选作战地图至少3个。

4. 中途结束游戏时,能够保存当前游戏的相关数据,如:当前作战地图、玩家名称、玩家在地图所在位置等。

5. 游戏开始时,能够提供两种运行方式:新的游戏和加载最近一次保存的游戏。

技术要求说明:
1.在项目中体现面向对象多态的应用。

2.I/O技术,即外部文件的读写。

游戏总体要求:
1.完成题目要求的基本业务功能。

2.游戏项目代码结构合理,冗余小、耦合度低,易于扩展更新地图。

3.代码有必要的注释信息。

4. 界面显示简洁,排列整齐,操作简便易懂。

三、评分标准
课程设计分数由三部分组成:程序功能检查占总分50%、回答教师提问占总分30%和项目心得占总分20%。

四、游戏运行效果截图。

骑士走棋盘 java,c实现

骑士走棋盘 java,c实现

騎士旅遊(Knight tour)在十八世紀初倍受數學家與拼圖迷的注意,它什麼時候被提出已不可考,騎士的走法為西洋棋的走法,騎士可以由任一個位置出發,它要如何走完[所有的位置?
騎士的走法,基本上可以使用遞迴來解決,但是純綷的遞迴在維度大時相當沒有效率,一個聰明的解法由J.C. Warnsdorff在1823年提出,簡單的說,先將最難的位置走完,接下來的路就寬廣了,騎士所要走的下一步,「為下一步再選擇時,所能走的步數最少的一步。

」,使用這個方法,在不使用遞迴的情況下,可以有較高的機率找出走法(找不到走法的機會也是有的)。

C
Java。

java飞行棋课程设计

java飞行棋课程设计

java飞行棋课程设计一、课程目标知识目标:1. 学生能理解Java编程语言的基本语法和结构,掌握面向对象编程的基本概念。

2. 学生能运用Java编程实现飞行棋游戏的核心功能,包括棋盘的初始化、玩家移动、掷骰子等。

3. 学生了解并能使用Java中的数组、循环和条件语句等编程结构来控制游戏逻辑。

技能目标:1. 学生通过编写飞行棋游戏,培养问题分析、解决方案设计和编程实现的能力。

2. 学生掌握调试程序的方法,能够独立解决编程过程中遇到的问题。

3. 学生能够运用面向对象的思想,合理划分类和对象,实现代码的模块化。

情感态度价值观目标:1. 学生培养对编程的兴趣,激发创新思维和探究精神。

2. 学生在团队合作中,学会沟通与协作,培养团队精神和责任感。

3. 学生通过编程实践,体会科技的魅力,增强自信心和成就感。

课程性质分析:本课程为信息技术学科,结合Java编程语言,以飞行棋游戏为载体,提高学生的编程能力和逻辑思维能力。

学生特点分析:学生处于初中年级,对游戏有浓厚兴趣,具备一定的计算机操作基础,但编程经验有限。

教学要求分析:课程要求教师以引导为主,注重实践操作,鼓励学生自主探究和团队合作,培养解决问题的能力。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高综合素养。

二、教学内容1. Java基础语法:变量、数据类型、运算符、控制结构(条件语句、循环语句)。

相关教材章节:第一章至第三章。

2. 面向对象编程基础:类与对象、构造方法、封装、继承、多态。

相关教材章节:第四章至第六章。

3. 数组与字符串:数组的声明与使用、字符串的基本操作。

相关教材章节:第七章。

4. Java编程实践:设计模式、编码规范、调试技巧。

相关教材章节:第八章。

5. 飞行棋游戏设计与实现:a. 游戏规则介绍:介绍飞行棋的基本规则,分析游戏流程。

b. 游戏界面设计:绘制游戏棋盘,展示玩家棋子。

c. 游戏逻辑实现:掷骰子、移动棋子、判断胜负。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一款非常受欢迎的家庭桌游,它的目标是让你的飞机飞行一圈,最先回到起点的玩家获胜。

下面是飞行棋的详细规则和玩法。

1. 游戏准备:- 将游戏棋盘放在桌面上,每个玩家选择一个颜色,并将相应的飞机放在起点位置。

- 每个玩家掷骰子,谁掷到的点数最大,就先开始游戏。

2. 游戏规则:- 游戏开始后,每个玩家轮流掷骰子并按照骰子的点数移动自己的飞机。

- 根据骰子的点数,玩家可以选择移动一个飞机的步数,或者移动两个飞机的步数之和。

- 玩家可以选择沿着棋盘上的路径向前移动,也可以选择在自己的飞机附近的任意位置起飞。

- 如果玩家的飞机落在已经有其他玩家的飞机的位置上,被堵住的飞机需要返回起点重新开始。

- 如果玩家的飞机经过起点,可以选择停留一回合,或者继续向前移动。

- 玩家可以选择在某些特殊的格子上停留,例如“拐弯”格子,可以改变飞机的移动方向;“加油站”格子,可以额外移动一次;“暂停”格子,需要停留一回合等等。

3. 胜利条件:- 玩家的目标是让自己的飞机飞行一圈,最先回到起点的玩家获胜。

- 如果有多个玩家的飞机同时回到起点,那么根据谁先回到起点来决定胜负。

4. 术语和技巧:- 飞机被堵住后,可以选择其他飞机起飞,或者等待其他玩家的飞机移动。

- 利用特殊格子的效果,例如拐弯格子可以改变移动方向,加油站格子可以额外移动一次等等。

- 观察其他玩家的飞机位置,选择合适的时机堵住对手的飞机。

- 考虑使用一些策略,例如选择移动两个飞机的步数之和,或者选择停留在起点等等。

希望以上的详细规则和玩法能够帮助你完全理解飞行棋,并让你充分享受这款游戏的乐趣。

记住,创造性和想象力是取得胜利的关键,尝试不同的策略和方法,让游戏更具挑战性和乐趣。

祝你玩得愉快!。

java小项目 类与 对象 骑士飞行棋代码

java小项目  类与 对象 骑士飞行棋代码

/**主体方法import java.util.Random;import java.util.Scanner;public class Game {public Map map;Scanner in = new Scanner(System.in);Random run = new Random();static private int[][] temp = { { 0, 0 }, { 0, 0 } };// 分别记录玩家的// 位置.........用来标记人所代替的位置// 之前的状态private String[] name = { "张飞", "关羽", "赵云", "刘备" };private static String[] palyer = new String[2];private int[] p = { 12, 12 };// 暂停标准相差数即为暂停次数private static boolean falg;// 轰炸标记public Game() {map = new Map();}/*** 选择玩家** @return*/public void choice() {System.out.println("------------------------------------------------------------------------------");System.out.println("------------------------------------------------------------------------------");System.out.println("------------------------------------------------------------------------------");System.out.println("---------------骑士飞行棋---------------------");System.out.println("------------------------------------------------------------------------------");System.out.println("------------------------------------------------------------------------------");System.out.println("------------------------------------------------------------------------------");System.out.print("分别选择角色:");for (int i = 0; i < name.length; i++)System.out.print(i + 1 + "." + name[i] + "\t");System.out.println();System.out.println("玩家一:");int n = in.nextInt();palyer[0] = name[n - 1];System.out.println("玩家二:");n = in.nextInt();palyer[1] = name[n - 1];}/*** 色子** @return*/public int stochastic() {int n = run.nextInt(6) + 1;return n;}/*** 初始作用** @param num*/public void person(int num) {// num人的编号if (p[num] < p[1 - num]) {System.out.println(palyer[num] + "暂停" + palyer[1 - num] + "继续");p[num] += 1;person(1 - num);;}// 暂停map.showMap(map.getMap());map.getMap()[temp[num][0]] = temp[num][1];// 人走只后坐标恢复原来的//System.out.println("按任意键开始");System.out.println(palyer[num] + "开走...............");//int mm = in.nextInt();int t = stochastic();System.out.println(palyer[num] + "向前迈了" + t + "个步子.......");palyGame(temp[num][0] += t, num);// 返回人得到随机数的位子return;}/**** 运行游戏** @param n* @param num*/public void palyGame(int n, int num) {// n 随机数+人的初始位置num 表示人switch (map.getMap()[n]) {case 1:System.out.println(palyer[num] + "真悲剧..........碰到了地雷了退"+ (n - 6 > 0 ?6 : n - 1) + "步");palyGame(temp[num][0] = n - (n - 6 > 0 ? 6 : n - 1), num);break;case 2:System.out.println(palyer[num] + "运气真差遇到定身符了暂停一次");p[num] -= 1;temp[num][1] = map.getMap()[n];map.getMap()[n] = 6 - num;System.out.println(palyer[num] + "走到了" + n + "步");break;case 3:System.out.println(palyer[num] + "运气真好步进入时空隧道");for (int i = n + 1; i < map.getMap().length-20; i++) {if (map.getMap()[i] == 3) {temp[num][1] = map.getMap()[i];map.getMap()[i] = 6 - num;temp[num][0] = i;System.out.println(palyer[num] + "走到了" + i + "步");break;}if (i == map.getMap().length - 1-20) {System.out.println("你的时空隧道已是最后一个");System.out.println(palyer[num] + "走到了" + n + "步");temp[num][1] = map.getMap()[n];map.getMap()[n] = 6 - num;break;}}break;case 4:System.out.println(palyer[num] + "运气真好得到幸运盘...");lucky(n, num);return;case 5:if (5 + num == 6) {System.out.println(palyer[num] + "走到了" + n + "步");break;} else {System.out.println(palyer[num] + "真悲剧..........碰到了"+ palyer[1 - num] + "了退" + (n - 6 > 0 ? 6 : n - 1)+ "步");palyGame(temp[num][0] = n - (n - 6 > 0 ? 6 : n - 1), num);}break;case 6:if (6 + num == 6) {System.out.println(palyer[num] + "走到了" + n + "步");break;} else {System.out.println(palyer[num] + "真悲剧..........碰到了"+ palyer[1 - num] + "了退" + (n - 6 > 0 ? 6 : n - 1)+ "步");palyGame(temp[num][0] = n - (n - 6 > 0 ? 6 : n - 1), num);}break;default:System.out.println(palyer[num] + "走到了" + n + "步");temp[num][1] = map.getMap()[n];map.getMap()[n] = 6 - num;break;}if (falg) {falg = false;return;}}/*** 幸运转盘** @param person*/public void lucky(int mm, int num) {System.out.println("1轰炸.\t2.交换位置");int n = in.nextInt();if (n == 1) {temp[num][1] = map.getMap()[mm];map.getMap()[mm] = 6 - num;System.out.println(palyer[num] + "走到了" + mm + "步");num = num == 1 ? 0 : 1;map.getMap()[temp[num][0]] = temp[num][1];temp[num][0] = temp[num][0]- (temp[num][0] - 6 > 0 ? 6 : temp[num][0] - 1);temp[num][1] = map.getMap()[temp[num][0]];falg = true;palyGame(temp[num][0], num);return ;} else {temp[num][1] = map.getMap()[mm];map.getMap()[mm] = 6 - num;String str;str = palyer[0];palyer[0] = palyer[1];palyer[1] = str;map.setFf(!map.getFf());System.out.println(palyer[1 - num] + "与" + palyer[num] + "互换位置");person(num);return;}}/****/public void palyShow(int num){if (p[num] < p[1 - num]) {p[num] += 1;person(1 - num);}person(num);// 暂停if (temp[num][0]>= 100) {System.out.println(palyer[num] + "赢得比赛");System.out.println("-----------------------------------------------GAMEOVER-----------------------------------------------");return;}palyShow(1-num);}}/**地图;import java.util.Arrays;import java.util.Random;public class Map {int[] map = new int[130];private boolean ff;{for (int i = 3; i < map.length; i++) {Random run = new Random();map[i] = run.nextInt(10);switch (map[i]) {case 1:map[i] = 1;break;case 3:map[i] = 2;break;case 5:map[i] =3;break;case 8:map[i] =4;break;default:map[i] = 0;}}}/*** 设置游戏数据** @param map*//** public void setMap(int map[]){ for(int i=0;i<map.length;i++) * this.map[i]=map[i]; }*//*** 得到游戏数组** @return*/public int[] getMap() {return map;// Arrays.copyOfRange(map,0,map.length);}/*** 显示游戏界面动态地图.....................** @param map*/// public void showMap(int[] map){// int start=0,end=48;// int falg1=4,falg2=2,i;// while(end<map.length){// for( i=start;i<end;i++){// if(falg1==1&&falg2==1){// for(int j=start;j<end;j++){System.out.print("--------");}// show(map[i]);// System.out.println();// }// else {show(map[i]);// if(falg1==1&&falg2==2) {System.out.println();}// }// }// if(falg1==4) System.out.println();// start=end;end+=48/falg1;// falg1=falg1==4?1:4;// if(falg1==1) falg2=falg2==2?1:2;// }// }/*** 固定地图** @param map*/public void showMap(int[] map) {int i;for (i = 0; i < 30; i++)show(map[i]);System.out.println();for (i = 30; i < 35; i++) {for (int j = 0; j < 30; j++)System.out.print("--");show(map[i]);System.out.println();}for (i = 64; i >= 35; i--)show(map[i]);for (i = 65; i < 70; i++) {show(map[i]);System.out.println();}for (i = 70; i < 100; i++)show(map[i]);System.out.println();System.out.println("----------------------------------------------------------------------------------------------------------------------");}/*** 根据输入的数字判断输出什么** @param n* @@ 两人重合时A玩家1 B玩家2 ¤幸运轮盘★地雷■ 暂停〓时空隧道∷普通格*/public void show(int n) {switch (n) {case 1:System.out.print("★");break;// 地雷case 2:System.out.print("■");break;// 暂停case 3:System.out.print("〓");break;// 时空隧道case 4:System.out.print("¤");break;// 幸运转盘case 5:if (ff)System.out.print("A");elseSystem.out.print("B");break;// 玩家1case 6:if (ff)System.out.print("B");elseSystem.out.print("A");break;// 玩家2case 7:System.out.print("0");break;// 玩家在一起default:System.out.print("::");break;// 通道}}void setFf(boolean ff) {this.ff = ff;}public boolean getFf() {// TODO Auto-generated method stubreturn ff;}}/**运行主函数public class StartGame {static Game game = new Game();public static void Main() {int num = 0;game.choice();game.palyShow(num);}public static void main(String[] s) { Main();}}。

骑士飞行棋Java编程演示

骑士飞行棋Java编程演示

你踩到地雷了 自己倒退 步 你踩到地雷了,自己倒退6步. 地雷



暂停设置
踩到暂停,暂停一次. 踩到暂停,暂停一次 暂停 一次
程序: 程序:
player[ currentPlayer ].setStop( true );


∷ ◎ ★ ■ 〓

∷ ◎ ★ ■ 〓

∷ ◎ ★ ■ 〓

§
转盘设置
74 … 100
明白了,开始游戏吧! 明白了,开始游戏吧!

①②
玩家进入
……
∷ ◎ ★ ■ 〓 ∷ ∷ ∷ ∷
普 转 地 暂 隧 通 盘 雷 停 道
∷ ∷ ◎ ★ ■ 〓
∷ 〓 ■ ★ ◎ ∷ ∷ ∷ ∷ ∷ ∷ ∷ ∷ ∷ ◎ ★ ■ 〓 ∷ ∷ ∷ ∷
……
∷ ∷
给你们骰子! 给你们骰子!
你们熟悉下地图! 你们熟悉下地图!
……

§
公平游戏!不准作弊! 公平游戏!不准作弊!
你们~~~ 我会根据地图设置来奖励和惩罚你们
玩家② 玩家②说, 他不懂规则, 给他看… 他不懂规则,让我示范给他看 等等… 等等 ???
也好! 也好! 开始吧! 开始吧!
①②
∷ ◎ ★ ■ 〓

∷ ◎ ★ ■ 〓

∷ ◎ ★ ■ 〓

§
先看掷骰子

玩家①示范 玩家①
掷 骰 子
public int throwShift() { int step = 0; Scanner input = new Scanner(System.in); input.next(); step = (int) (Math.random() * 6) + 1; return step; }

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种非常受欢迎的棋盘游戏,它可以供2到4个玩家一起玩。

游戏的目标是让你的飞机尽快飞行到终点。

游戏规则:1. 每个玩家都有4架飞机,开始时它们都位于起点。

2. 游戏使用一个特殊的棋盘,上面有一条环形的飞行路径,上面标有各种颜色的方块。

3. 每个玩家轮流掷骰子,并根据骰子的点数移动飞机。

你可以选择移动任何一架飞机,也可以选择不移动。

4. 如果你掷出的点数是6,你可以再掷一次骰子,并移动同一架飞机或者移动另一架飞机。

5. 如果你的飞机经过起点,你可以选择在起点上放置一架新的飞机。

6. 如果你的飞机经过其他玩家的飞机,你可以将其击退到起点。

7. 如果你的飞机经过一个颜色方块,你可以继续前进相应数量的格子。

8. 如果你的飞机经过一个星星方块,你可以选择继续前进相应数量的格子,也可以选择停在星星方块上。

9. 第一个将所有飞机飞行到终点的玩家获胜。

术语和技巧:1. 路径:飞行棋的飞行路径是一个环形的,玩家需要按照路径上的方块移动飞机。

2. 骰子:玩家通过掷骰子来确定移动飞机的步数。

3. 起点:每个玩家的飞机开始时都位于起点,经过起点时可以放置新的飞机。

4. 终点:玩家需要将所有飞机飞行到终点才能获胜。

5. 颜色方块:路径上有各种颜色的方块,经过这些方块时可以继续前进相应数量的格子。

6. 星星方块:路径上有星星方块,经过这些方块时可以选择继续前进相应数量的格子,或者停在星星方块上。

7. 击退:如果你的飞机经过其他玩家的飞机,你可以将其击退到起点。

创造性和想象力:在飞行棋中,你可以尝试不同的策略和方法来达到终点。

你可以选择移动一个已经接近终点的飞机,也可以选择放置新的飞机来增加你的机会。

你还可以利用击退其他玩家的飞机来阻止他们的进展。

此外,你可以根据路径上的颜色方块和星星方块来制定更具挑战性的策略,例如选择继续前进还是停在星星方块上。

通过发挥创造力和想象力,你可以使游戏更加有趣和具有挑战性。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏飞行棋是一种经典的棋盘游戏,旨在让玩家的棋子尽快飞行到终点。

以下是该游戏的详细玩法和规则。

目标:游戏的目标是尽快将自己的棋子飞行到终点,并击败其他玩家。

游戏规则:1. 飞行棋棋盘上有一条环形的飞行路径,上面标有不同的颜色和数字。

2. 每个玩家选择一种颜色的棋子,并将其放置在起点位置。

3. 游戏开始时,每个玩家掷骰子决定谁先开始,并按照顺时针方向依次行动。

4. 掷骰子后,玩家将棋子沿着路径上移动相应的步数。

如果玩家掷得是6,可以再次掷骰子。

5. 如果玩家的棋子落在一个空格上,可以选择停留或继续移动。

如果选择继续移动,可以按照骰子掷出的步数继续前进。

6. 如果玩家的棋子落在一个颜色方块上,可以按照方块上标有的数字移动到相应的位置。

如果有其他玩家的棋子在目标位置上,将其击退到起点。

7. 如果玩家的棋子落在一个特殊方块上,例如“暂停”或“反弹”,必须按照方块上的指示执行相应的操作。

8. 第一个将所有棋子都飞行到终点的玩家获胜。

术语和技巧:1. 飞行棋中常用的术语包括起点、终点、颜色方块、特殊方块等。

熟悉这些术语可以更好地理解游戏规则和策略。

2. 策略是飞行棋中的关键。

玩家可以选择快速飞行,以尽快到达终点,或者采取攻击其他玩家的策略,以击退他们的棋子。

3. 了解每个颜色方块上标有的数字是很重要的,因为这将决定玩家棋子的移动距离。

4. 特殊方块可以在游戏中起到关键作用。

玩家需要根据方块上的指示来调整自己的策略。

创造性和想象力:飞行棋是一种非常灵活的游戏,玩家可以根据自己的创造力和想象力来制定不同的策略和方法。

例如,玩家可以选择与其他玩家合作,以击退领先的玩家,或者选择尽量快速飞行,以在最短时间内到达终点。

此外,玩家还可以尝试不同的掷骰子技巧,以获得更好的移动结果。

总结:飞行棋是一款简单而有趣的棋盘游戏,适合朋友和家人一起玩。

通过理解游戏的规则和策略,并发挥自己的创造力和想象力,玩家可以享受到这款游戏带来的挑战和乐趣。

飞行棋小游戏

飞行棋小游戏

飞行棋小游戏目标:飞行棋的目标是将所有的棋子从起点飞到终点,先完成的玩家获胜。

规则:1. 每个玩家有4枚棋子,棋盘上标有不同颜色的路径,代表着不同的飞行路线。

2. 玩家轮流掷骰子,根据骰子点数移动相应的步数。

3. 如果玩家掷出的点数是6,就可以再掷一次骰子,并且如果连续掷出6三次,就要将一枚棋子送回起点。

4. 如果玩家的棋子落在已经有对方棋子的位置上,对方的棋子就会被送回起点。

5. 每个颜色路径上有特殊的位置,比如“跳步”、“停留”、“送回起点”等,玩家需要根据不同的位置来采取相应的行动。

6. 当玩家的棋子飞到终点时,就获得胜利。

玩法:1. 玩家可以根据骰子的点数来选择移动哪一枚棋子,可以选择集中力量让一枚棋子快速飞到终点,也可以分散飞行,增加胜利的机会。

2. 在选择移动的棋子时,需要考虑对手的棋子位置,避免被对方送回起点。

3. 对于特殊位置,玩家需要根据当前的情况来决定是采取冒险还是保守的策略。

4. 通过灵活运用掷骰子的点数,以及对棋盘上各种位置的把握,制定出最佳的飞行策略,以便尽快飞到终点。

术语和技巧:1. 骰子点数:玩家需要根据骰子点数来决定移动哪一枚棋子,可以根据实际情况来选择最佳的移动策略。

2. 特殊位置:不同颜色路径上的特殊位置会对游戏产生重大影响,玩家需要根据实际情况来决定如何应对。

3. 飞行策略:灵活运用骰子点数和对手的棋子位置,制定最佳的飞行策略,以便尽快飞到终点。

通过以上玩法和规则,玩家可以充分理解飞行棋小游戏,并且可以根据自己的想象力和创造力,尝试不同的策略和方法,使游戏更具挑战性和乐趣。

希望玩家们可以享受飞行棋带来的乐趣和刺激。

骑士飞行棋代码

骑士飞行棋代码

好几天没更新了,是因为给大家写这个小游戏去了,好久没写了,逻辑上出了问题,调试了好久终于出来了,我自己测试了下没什么大问题,不过应该还是会有BUG,希望大家下载后找到BUG了给我说下,呵呵,谢谢!代码:如下地图类Map():package com.yx.dao;/*** 地图类* @author Administrator**/public class Map {// 定义地图的大小int [] map = new int[100];int[] dilei = {5,16,56,72,80,85}; // 定义地雷的位置int[] luck = {15,50,88}; // 定义幸运大罗盘的位置int[] pulse = {9,25,35,48,65,85,92,95}; // 定义暂停的位置int[] time = {20,39,47,68,81,90}; // 定义时空隧道public int index = 0; // 定义起始位置public int playerA = 0; // 玩家A的位置public int playerB = 0; // 玩家B的位置/*** 找到定义地雷、幸运大罗盘等的位置,然后给他第一个数字来代替,为后面的判断做准备*/public void initialMap(){// 循环找出所有的地雷,并把它暂时标记为1for(int i = 0; i < 100; i++) {map[i] = 0;}for(int i =0; i < dilei.length; i++) {map[dilei[i]] = 1;}for(int i = 0; i < luck.length; i++) {map[luck[i]] = 2;}for(int i = 0; i < pulse.length; i++) {map[pulse[i]] = 3;}for(int i = 0; i < time.length; i++) {map[time[i]] = 4;}// 以下为判断玩家A或玩家B是否到达终点,是否该结束游戏if(playerA > 99) {map[playerA] = 99;}if(playerB > 99) {map[playerB] = 99;}// 以下是判断玩家A和玩家B是不是在同一个位置上if(playerA != playerB) {map[playerA] = 5;map[playerB] = 6;}else {map[playerA] = 7;}}// 指定地雷、幸运星等在地图上的团public void printMap() {switch(map[index]) {case 0:System.out.print("::");break;case 1:System.out.print("●");break;case 2:System.out.print("◑");break;case 3:System.out.print("〓");break;case 4:System.out.print("◎");break;case 5:System.out.print("A");break;case 6:System.out.print("B");break;case 7:System.out.print("♦");break;}}// 以下为地图的制作方法/*** 现实第一行横排地图*/public void showMap1() {for(index = 0; index < 30; index++) {printMap();}}/*** 现实右边一列的地图*/public void showMapRight() {for(index = 30; index < 35; index++) {System.out.println();System.out.print("\t\t\t\t\t\t ");printMap();}}/*** 显示第三行地图*/public void showMap2() {for(index = 64; index >= 35; index--) { printMap();}}/*** 显示左边列的地图*/public void showMapLeft() {for(index = 65; index < 70; index++) { System.out.println();printMap();}}/*** 最后一行的地图*/public void showMap3() {for(index = 70; index < 100; index++) { printMap();}}/*** 现实所有的地图*/public void showMap() {initialMap();showMap1();showMapRight();System.out.println();showMap2();showMapLeft();System.out.println();showMap3();System.out.println();}}游戏逻辑处理类Game():package com.yx.dao;import java.util.Scanner;/*** 游戏类* @author Administrator**/public class Game {Scanner input = new Scanner(System.in);Map map = new Map();String person1 = ""; // 玩家1名字String person2 = ""; // 玩家2名字boolean game1 = true; // 默认玩家1没有赢boolean game2 = true; // 默认为家2没有赢/*** 打印提示语句以及规定说明等*/public void init() {System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");System.out.println("////");System.out.println("////");System.out.println("// 骑士飞行棋//");System.out.println("////");System.out.println("////");System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n");System.out.println("∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽两人对站∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽");System.out.println("请选择角色:1.戴高乐2.艾森豪威尔3.麦克阿瑟4.巴顿");System.out.println("请玩家1选择角色:");int Game1 = input.nextInt();System.out.println("请玩家2选择角色:");int Game2 = input.nextInt();switch (Game1) {case 1:person1 = "戴高乐";break;case 2:person1 = "艾森豪威尔";break;case 3:person1 = "麦克阿瑟";break;case 4:person1 = "巴顿";break;}switch (Game2) {case 1:person2 = "戴高乐";break;case 2:person2 = "艾森豪威尔";break;case 3:person2 = "麦克阿瑟";break;case 4:person1 = "巴顿";break;}/** 两人对战的玩法*/System.out.println("******************************************************************* *****\n");System.out.println(" Game Start \n");System.out.println("******************************************************************* *****\n");// 显示对战双方士兵的样式System.out.println("^-^" + person1 + "的士兵:A\n");System.out.println("^-^" + person2 + "的士兵:B\n");// 显示对战地图System.out.println("\n图例:" + "◐地雷※幸运转盘◑暂停〓时空隧道∷普通\n");map.showMap();do {if (game1) {System.out.println( person1 + "扔筛子产生一个随机数开始:");input.next();int number = (int) (Math.random() * 6 + 1);map.playerA += number;checkGameA();if (map.playerA >= 99) {map.showMap();System.out.println("\n"+person1 + "获得胜利!");judge();break;}} else {game1 = true;// 玩家可以重新移动}if (game2) {System.out.println(person2+ "扔筛子产生一个随机数开始:");input.next();int number = (int) (Math.random() * 6 + 1);map.playerB += number;checkGameB();System.out.println();if (map.playerB >= 99) {map.showMap();System.out.println("\n"+person2 + "获得胜利!");judge();break;}} else {game2 = true;// 玩家可以重新移动}map.showMap();} while (true);}public void checkGameA() {for (int i = 0; i < map.dilei.length; i++) {if (map.playerA == map.dilei[i]) {System.out.println("哎,真衰,踩到地雷了!");int number = (int) (Math.random() * 6 + 1);// 减去的是一个随机数map.playerA -= number;return;}}for (int i = 0; i < map.luck.length; i++) {if (map.playerA == map.luck[i]) {System.out.println("嘿嘿,遇上幸转盘了,我真幸运!");System.out.println("1.交换位置2.轰炸");System.out.println("您选择的是:");int num = input.nextInt();switch (num) {case 1:int temp = map.playerB;map.playerB = map.playerA;map.playerA = temp;break;case 2:map.playerA -= 10;break;}return;}}for (int i = 0; i < map.pulse.length; i++) {if (map.playerA == map.pulse[i]) {System.out.println("唉,得休息一会了!");game1 = false;return;}}for (int i = 0; i < map.time.length; i++) {if (map.playerA == map.time[i]) {System.out.println("哈哈,时空隧道!");map.playerA += 10;return;}}}public void checkGameB() {for (int i = 0; i < map.dilei.length; i++) {if (map.playerB == map.dilei[i]) {System.out.println("哎,真衰,踩到地雷了!");int number = (int) (Math.random() * 6 + 1);map.playerB -= number;// 减去一个随机数return;}}for (int i = 0; i < map.luck.length; i++) {if (map.playerB == map.luck[i]) {System.out.println("嘿嘿,遇上幸转盘了,我真幸运!");System.out.println("1.交换位置2.轰炸");System.out.println("您选择的是:");int num = input.nextInt();switch (num) {case 1:int temp = map.playerB;map.playerB = map.playerA;map.playerA = temp;break;case 2:map.playerA -= 10;break;}return;}}for (int i = 0; i < map.pulse.length; i++) {if (map.playerB == map.pulse[i]) {System.out.println("唉,得休息一会了!");game2 = false;return;}}for (int i = 0; i < map.time.length; i++) {if (map.playerB == map.time[i]) {System.out.println("哈哈,时空隧道!");map.playerA += 10;return;}}}public void judge() {System.out.println("******************************************************************* *****\n");System.out.println(" Game Over \n");System.out.println("******************************************************************* *****\n");}}测试类,游戏入口类Star():package com.yx.test;import com.yx.dao.Game;//import com.yx.dao.Map;public class test {/*** @param args*/public static void main(String[] args) {Game game = new Game();game.init();}}我这是分了两个包建立的,希望大家建立的时候注意下,或者可以直接加QQ,你可以直接下载到项目然后导入就可以了,这样就不存在其它问题了,呵呵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

突然想起自己刚学java时,老师让写一个java骑士飞行棋,那时候还不知道写,到处问人,勉强写好了,结果全是放在主函数里,今天闲来没事,花了一会,再次写了个骑士飞行棋小游戏,希望对初学者有帮助吧。

代码中,可能用到了初学者还没接触到的东西,不过都不难,注释都有写明,花点时间就能明白的。

一共三个类。

分别:Game.javaMap.javaPlayer.javapackage ;import ;import ;public class Game {private Scanner sc = new Scanner(System.in);private static Map map = new Map();/*** 静态块,初始化地图* 加载时就会被执行的内容* 不理解的,可以在static{}块里打印一句话,看看控制台反映*/static {map.initMap();}/*** 游戏开始*/public void GameStart() {//游戏开始界面welcome();//选择角色,生成对象数组Player [] players = getPlayer();//游戏开始循环,直到有玩家胜出,结束boolean isAnyoneWin = false;while (!isAnyoneWin) {//遍历玩家数组,让每个玩家依次进行掷点for (int i = 0; i < players.length; i++) {//对玩家的状态进行判断,是否处于暂停状态if (players[i].getStatus() == 1) {//如果玩家处于暂停状态,恢复暂停状态并跳过此回合players[i].setStatus(0);statusSay(players[i]);continue;}//判断玩家,手动掷点if (i != 0) {letPlayerRoll(players[i]);}//进行掷点int count = roll();+ " 掷出了 " + count + " 点");//记录玩家roll点前位置和roll点后位置,判断玩家位置是否到达终点players[i].setLastPosition(players[i].getPosition());players[i].setPosition(players[i].getPosition() + count);//判断是否踩中对方int secondNum = Math.abs(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].setPosition(players[i].getPosition() + count);}//判断是否踩中对方secondNum = Math.abs(1 - i);if (isHit(players[i], players[secondNum])) {players[secondNum].setPosition(0);if (players[i].getLastPosition() != 0) {changMap(players[i].getLastPosition(), players[i].getLastPositionFlag());}}//记录玩家去的位置的形状,地图复原使用mapBuff = getMapFlag(players[i].getPosition());players[i].setLastPositionFlag(mapBuff);//改变地图上玩家的位置,先复原,再改变//初始位置是为0,所以要判断if (players[i].getLastPosition() != 0) {changMap(players[i].getLastPosition(),players[i].getLastPositionFlag());}//三目运算符,i == 0 是一个布尔式,? 疑问,如果是真,返回:前面的值,如果假,:后面的值mapBuff = i == 0 ? "C" : "P";changMap(players[i].getPosition(), mapBuff);}map.showMap();}}}/*** 判断是否踩中对方* @param first 前面玩家* @param second 后面玩家*/public boolean isHit(Player first,Player second) {boolean temp = false;if (first.getPosition() == second.getPosition()) {temp = true;}return temp;}/*** 玩家掷点阻塞* @param player 玩家信息*/public void letPlayerRoll(Player player) {"请玩家 " + player.getName() + " 掷点~");sc.next();}/*** 检查玩家到达的地图位置是否有特殊效果* @param player 玩家* @param mapBuff 地图标识* @return执行过buff后的玩家对象*/public Player checkBuff(Player player,String mapBuff) { if ("-".equals(mapBuff)) {" 进入黑洞,迷失了方向,后退6步");+ ":shit!");player.setPosition(player.getPosition() - 6);}else if ("+".equals(mapBuff)) {+ " 进入时空隧道,前进6步");+ ":luckily!");player.setPosition(player.getPosition() + 6);}else if ("*".equals(mapBuff)) {+ " 进行了空间跳跃~再来一次");+ ":see me fly!");player.setStatus(0);}else if ("^".equals(mapBuff)) {+ " 抛锚了,暂停一次");+ ":what is the fuck!");player.setStatus(1);}return player;}/*** 改变地图上玩家的位置* @param position 位置* @param flag 地图形状*/public void changMap(int position, String flag) { if (position < 31) {map.map[0][position - 1] = flag;}else if (position > 30 && position < 36) {map.map[position - 30][29] = flag;}else if (position > 35 && position < 66) {map.map[6][position - 35] = flag;}else if (position > 65 && position < 71) {map.map[position - 59][0] = flag;}else if (position > 70 && position < 101) {map.map[12][position - 71] = flag;}}/*** 暂停言语* @param player 被暂停的玩家*/public void statusSay(Player player) {+ " 暂停中...........");}/*** 获得地图指定位置的形状* @param position 位置* @return*/public String getMapFlag(int position) {String flag = "=";if (position < 31) {flag = map.map[0][position - 1];}else if (position > 30 && position < 36) {flag = map.map[position - 30][29];}else if (position > 35 && position < 66) {flag = map.map[6][65 - position];}else if (position > 65 && position < 71) {flag = map.map[position - 59][0];}else if (position > 70 && position < 101) {flag = map.map[12][position - 71];}return flag;}/*** 胜利标语* @param player 玩家*/public void gameOver(Player player) {"whar a palyer!!");" 玩家 " + player.getName() + " 率先到达终点,获得了胜利"); }/*** 判断是否胜利* @param position 位置* @return boolean,temp*/public boolean checkAnyoneWin(int position) {boolean temp = false;temp = position >= 100 ? true : false;return temp;}/*** 掷点* @return int,count 点数*/public int roll () {int count = 0;//产生一个6以内的随机数Random random = new Random();count = random.nextInt(6) + 1;return count;}/*** 选择角色* @return Player [],players 玩家对象数组*/public Player [] getPlayer(){boolean flag = true;//创建对象数组,长度为2,用来接收玩家对象和电脑Player [] players = new Player[2];Player player = new Player();player.setNum(1);Player computer = new Player();while (flag) {String userChoose = sc.next();//获取输入内容,判断是否 1,2,3,根据选择给玩家对象赋名if (!userChoose.matches("[1-3]")) {"→ 选择角色失败,请重新选择");} else {switch (Integer.parseInt(userChoose)) {case 1:player.setName("YaGaMi");break;case 2:player.setName("Killer");break;case 3:player.setName("Chou");break;default:break;}"→ 你选择了 " + player.getName() + " 作为你的游戏角色");"→ 电脑选择了 Fujiwara no Mokou 作为游戏角色" );computer.setName("Fujiwara no Mokou");//数组第1位是玩家,第二位是电脑players[1] = player;players[0] = computer;flag = false;}}return players;}public void welcome() {"*********************************");"*******欢迎来到飞行棋小游戏*******");"*********************************");;"游戏说明:");"地图上随机出现 * - ^ + 四种效果");"分别代码:再掷1次,后退6步,暂停1次,前进6步");;"→ 请选择你的喜欢的游戏角色编号:");"1.YaGaMi");"2.Killer");"3.Chou");}public static void main(String[] args) {new Game().GameStart();}}package ;public class Map {public String [][] map = new String[13][30];public void initMap() {for (int i = 0; i < map.length; i++) {for (int j = 0; j < map[i].length; j++) {if(i == 0 || i == 6 || i == 12 || (i < 6 && j == 29) || (i > 6 && j == 0)){map[i][j] = "=";}else {map[i][j] = " ";}}}map[0][6] = "+";map[0][8] = "-";map[0][15] = "*";map[0][20] = "-";map[0][29] = "^";map[3][29] = "*";map[6][7] = "^";map[6][16] = "+";map[6][20] = "-";map[6][28] = "^";map[10][0] = "*";map[12][7] = "-";map[12][8] = "^";map[12][15] = "-";map[12][20] = "^";map[12][23] = "-";map[12][28] = "-";}public void showMap(){for (int i = 0; i < map.length; i++) {for (int j = 0; j < map[i].length; j++) {if(i == 6){+ " ");}else {+ " ");}};}}public static void main(String[] args) {}}package ;public class Player {private String name;//玩家状态private int status;//玩家当前位置private int position;//玩家上把位置private int lastPosition;//玩家上把位置的地图形状private String lastPositionFlag;//玩家编号private int num;public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getName() {return name;}public void setName(String name) { = name;}public int getStatus() {return status;}public void setStatus(int status) {this.status = status;}public int getPosition() {return position;}public void setPosition(int position) {this.position = position;}public int getLastPosition() {return lastPosition;}public void setLastPosition(int lastPosition) {stPosition = lastPosition;}public String getLastPositionFlag() {return lastPositionFlag;}public void setLastPositionFlag(String lastPositionFlag) { stPositionFlag = lastPositionFlag;}}。

相关文档
最新文档