1、好几天没更新了,是因为给大家写这个小游戏去了,好久没写了,逻辑上出了问题,调试了好久终于出来了,我自己测试了下没什么大问题,不过应该还是会有 BUG,希望大家下载后找到 BUG 了给我说下,呵呵,谢谢!代码:如下地图类 Map():package com.yx.dao;/* 地图类* author Administrator*/public class Map / 定义地图的大小int map = new int100;int dilei = 5,16,56,72,80,85; / 定义地雷的位置int luck = 15,50,88; / 定义幸运大罗盘的位置int pulse = 9,25
2、,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 99) mapplayerA = 99;if(playe
3、rB 99) mapplayerB = 99;/ 以下是判断玩家 A 和玩家 B 是不是在同一个位置上if(playerA != playerB) mapplayerA = 5;mapplayerB = 6;else mapplayerA = 7;/ 指定地雷、幸运星等在地图上的团public void printMap() switch(mapindex) case 0:System.out.print(“:“);break;case 1:System.out.print(“);break;case 2: System.out.print(“);break;case 3:System.out
4、.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 = 35; index-) printMap();/* 显示左边列的地图*/public void showMapLeft() for(index = 6
5、5; index = 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 =
6、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.dileii) System.out.println(“哎,真衰,踩到地雷了! “);int number = (int) (Math.random() * 6 +
7、 1);/ 减去的是一个随机数map.playerA -= number;return;for (int i = 0; i map.luck.length; i+) if (map.playerA = map.lucki) 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
8、.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.pulsei) System.out.println(“唉,得休息一会了! “);game1 = false;return;for (int i = 0; i map.time.length; i+) if (map.playerA = map.timei) System.out.println(“哈哈,时空隧道!“);map.p
9、layerA += 10;return;public void checkGameB() for (int i = 0; i map.dilei.length; i+) if (map.playerB = map.dileii) 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.lucki) S
10、ystem.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+) i
11、f (map.playerB = map.pulsei) System.out.println(“唉,得休息一会了! “);game2 = false;return;for (int i = 0; i map.time.length; i+) if (map.playerB = map.timei) 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,你可以直接下载到项目然后导入就可以了,这样就不存在其它问题了,呵呵。