1、/Game.javaimport java.util.*;public class Game Map map=new Map();Scanner input=new Scanner(System.in);int playerPos1;int playerPos2;String goAndStop=new String2;String roleName=new String2;/* 初始化游戏*/public void initial()map.createMap();playerPos1=0;playerPos2=0;goAndStop0=“on“;goAndStop1=“on“;/* 设置对
2、战角色* param num 玩家次序* param role 角色代号*/public void setRole(int num,int role)switch(role)case 1:roleNamenum-1=“梅西“;break;case 2:roleNamenum-1=“卡卡“;break;case 3:roleNamenum-1=“C罗“;break;default:roleNamenum-1=“托雷斯“;/* 开始游戏*/public void start()initial();System.out.println(“);System.out.println(“/ /“);Sys
3、tem.out.println(“/ /“);System.out.println(“/ 骑 士 飞 行 棋 /“);System.out.println(“/ /“);System.out.println(“/ /“);System.out.println(“ nn“);System.out.println(“-两 人 对 战-n“);System.out.println(“请选择角色: 1. 梅西 2. 卡卡 3. C 罗 4. 托雷斯“);/Scanner input=new Scanner(System.in);System.out.print(“请玩家 1选择角色:“);int ro
4、le1=input.nextInt();System.out.print(“请玩家 2选择角色:“);int role2=input.nextInt();while(role1=role2)System.out.print(“与玩家 1角色重复,请重新选择玩家 2的角色:“);role2=input.nextInt();setRole(1,role1);setRole(2,role2); play();/* 模拟掷骰子* param num 玩家序号* return 骰子数*/public int throwShifter(int num)System.out.print(“nn“ + rol
5、eNamenum-1 + “, 请按任意键启动掷骰子: “);Scanner input = new Scanner(System.in);input.next();return (int)(Math.random()*6)+1);/* 计算掷完骰子后玩家新位置* param num 玩家序号* param playerPos 当前位置* param step 骰子数* return*/public int getCurPos(int num,int playerPos,int step)playerPos=playerPos+step;if(playerPos99)playerPos=99;
6、/* 1:幸运轮盘 2:地雷 3: 暂停 4:时空隧道 0:普通 */switch(map.mapplayerPos)case 0: /普通格if(playerPos=playerPos2)/玩家 1与玩家 2相遇playerPos2=0;/玩家 2被踩回起点System.out.println(“:-D 哈哈哈踩到了“);else if(playerPos=playerPos1)/玩家 2遇到玩家 1playerPos1=0;/玩家 1被踩回起点System.out.println(“:-D 哈哈哈踩到了“);break;case 1: /幸运轮盘System.out.println(“n欢
7、迎进入幸运轮盘“);System.out.println(“请选择一种运气:“);System.out.println(“1.交换位置 2.轰炸“);System.out.println(“=“);int choice=input.nextInt();switch(choice)case 1:int temp;if(num=1)temp=playerPos;playerPos=playerPos2;playerPos2=temp;else if(num=2)temp=playerPos;playerPos=playerPos1;playerPos1=temp;break;case 2:if(n
8、um=1 /玩家 2被炸退 6步else if(num=1 /玩家 1被炸退 6步else if(num=2elsereturn playerPos; /* 判断胜负*/public void judge()if(playerPos1playerPos2)System.out.println(“恭喜!“+roleName0+“获得了胜利!“);elseSystem.out.println(“恭喜!“+roleName1+“获得了胜利!“);/* 双人对战玩法*/public void play()System.out.println(“n“);System.out.println(“*n“);
9、System.out.println(“ n“);System.out.println(“*nn“);System.out.println(“_ “+roleName0+“的士兵: “);System.out.println(“_ “+roleName1+“的士兵: “);System.out.println(“n图例: 幸运轮盘 地雷 暂停 时空隧道 普通n“);map.showMap(playerPos1, playerPos2);/开始游戏int step; /记录骰子数while(playerPos1=start;i-)System.out.print(getGraph(mapi,i,
10、playerPos1,playerPos2);/* 输出地图的左部* param start 生成图形时的起始位置* param end 生成完图形的结束位置* param playerPos1 玩家 1的位置* param playerPos2 玩家 2的位置*/public void showLLine(int start,int end,int playerPos1,int playerPos2)System.out.println();for(int i=start;i=end;i+)System.out.print(getGraph(mapi,i,playerPos1,playerP
11、os2);System.out.println();/* 输出地图的右部* param start 生成图形时的起始位置* param end 生成完图形的结束位置* param playerPos1 玩家 1的位置* param playerPos2 玩家 2的位置*/public void showRLine(int start,int end,int playerPos1,int playerPos2)System.out.println();for(int i=start;i=end;i+)for(int j=1;j=28;j+)System.out.print(“ “);System.out.print(getGraph(mapi,i,playerPos1,playerPos2);System.out.println();