java学习做的一个简单的骑士飞行棋游戏! | 您所在的位置:网站首页 › 飞行棋英语规则怎么写的呀 › java学习做的一个简单的骑士飞行棋游戏! |
学习java大概10天的样子写的,写了一下午,晚上还调了好久的BUg,实现很简单,扩充性差,但是做出来的时候去很高兴,希望发在这里印证自己的学习,督促自己,也希望能交到跟多的朋友交流学习,得到大家的指点! /游戏类/ public class Game { Maps map = new Maps(); Roles role = new Roles(); /*初始化游戏*/ public void initialize() { role.initializ(); } /*游戏登陆界面*/ public void beganInterface() { System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"); System.out.println("// //\t"); System.out.println("// //\t"); System.out.println("// 骑士飞行棋 //\t"); System.out.println("// //\t"); System.out.println("// //\t"); System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n"); System.out.println("……………………………………………………………………两 人 对 战………………………………………………………………………………………………"); //Roles role = new Roles(); Scanner input = new Scanner(System.in); System.out.println("请选择角色:1.戴高乐 2.艾神豪威尔 3.麦克阿瑟 4.巴顿"); System.out.print("请选玩家1择角色:"); int one = input.nextInt(); boolean isRight = true; System.out.println(); int two ; do { System.out.print("请选玩家2择角色:"); two = input.nextInt(); if(two==one) { System.out.println("玩家已存在,请从新选择!"); isRight = false; } else { isRight = true; } }while(!isRight); switch(one) { case 1: role.roleNames[0] = "戴高乐"; break; case 2: role.roleNames[0] = "艾神豪威尔"; break; case 3: role.roleNames[0] = "麦克阿瑟"; break; case 4: role.roleNames[0] = "巴顿"; break; } switch( two) { case 1: role.roleNames[1] = "戴高乐"; break; case 2: role.roleNames[1] = "艾神豪威尔"; break; case 3: role.roleNames[1] = "麦克阿瑟"; break; case 4: role.roleNames[1] = "巴顿"; break; } //System.out.println(role.roleNames[0]+role.roleNames[1]); } /*开始游戏*/ public void playGame() { System.out.println("*******************************************************************************\n"); System.out.println(" GAME START \n"); System.out.println("*******************************************************************************\n\n"); System.out.println("☆"+role.roleNames[0]+"的士兵:A"); System.out.println("☆"+role.roleNames[1]+"的士兵:B"); System.out.println("\n\n"); System.out.println("图列:∷.普通 ¤.地雷 〓.时空隧道 ■.暂停 ★.幸运轮盘\n\n "); map.showMap(0, 0); } /*开始游戏*/ public void playing() { boolean isTurnOne =true;//记录谁抛色子 do { if(role.indexs[0]=6) {role.indexs[i]-=6;} else { role.indexs[i]=0; } System.out.println("运气真差,踩到地雷了!"); break; default: if(role.indexs[i]==role.indexs[1-i]) { System.out.println("哈哈,踩到了!"); role.indexs[i] = role.indexs[1-i]; role.indexs[1-i] = 0; } break; } System.out.println("--------------------------------------------------------"); System.out.println("骰子数:"+role.counts[i]+"\n\n"); System.out.println(role.roleNames[i]+"的当前位置:"+role.indexs[i]); System.out.println("对方的当前位置:"+role.indexs[1-i]); map.showMap(role.indexs[i],role.indexs[1-i] ); } }} /地图类/ public class Maps { //1.∷2.■3.☻4.〓5.☠ int[] imgLables = 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() { /* 读入幸运轮盘 */ for (int i = 0; i < luckyTurn.length; i++) { imgLables[luckyTurn[i]] = 3; } /* 读入地雷位置 */ for (int i = 0; i < landMine.length; i++) { imgLables[landMine[i]] = 5; } /* 读入暂停 */ for (int i = 0; i < pause.length; i++) { imgLables[pause[i]] = 2; } /* 读入时光隧道 */ for (int i = 0; i < timeTunnel.length; i++) { imgLables[timeTunnel[i]] = 4; } /* 普通 */ for (int i = 0; i < imgLables.length; i++) { if (imgLables[i] == 0) { imgLables[i] = 1; } } } /** * 显示地图关卡对应的图形 * * @param i * 地图当前位置的关卡代号 * @param index * 当前地图位置编号 * @param playerPos1 * 玩家1 的当前位置 * @param playerPos2 * 玩家2 的当前位置 * @return 地图当前位置的图形 * 1.代表玩家在地图上,0代表不在 */ public String getGraph(int i, int index, int playerPos1, int playerPos2) { String graph = ""; if ( playerPos1==index&&playerPos2==index) { //两个玩家都位于地图当前位置index graph = "@@"; } else if (playerPos1==index) { //玩家 1 位于地图当前位置 graph = "A"; } else if (playerPos2==index) { //玩家 2 位于地图当前位置 graph = "B"; } else { switch (i) { //关卡代号为1时:graph = "¤"; //关卡代号为2时:graph = "★"; //关卡代号为3时:graph = "■"; //关卡代号为4时:graph = "〓"; //其他:graph = "∷"; case 1: graph = "∷"; break; case 2: graph = "■"; break; case 3: graph = "¤"; break; case 4: graph = "〓"; break; case 5: graph = "★"; break; } } return graph; } public void showMap(int playerPos1, int playerPos2 ) { createMap(); showLine(0,30,playerPos1, playerPos2); showRightColumm(31, 34,playerPos1 , playerPos2); showMiddleLine(35, 65,playerPos1 , playerPos2 ); showLeftColumm(66,68,playerPos1, playerPos2); showLine(69,99,0,0); } public void showLine(int start,int end,int playerPos1, int playerPos2) { for(int k=start;k=start;k--) { System.out.print(getGraph(imgLables[k],k, playerPos1,playerPos2)); } System.out.println(); } public void showRightColumm(int start,int end,int playerPos1, int playerPos2) { for(int c = start;c |
CopyRight 2018-2019 实验室设备网 版权所有 |