package s1java.xmal1;
/**
* S1T037阶段项目1 - 骑士飞行棋[固定地图版]
* 启动游戏类(StartGame)
* @author 邓超
* @version 0.1 2008/5/4
* 开发/测试环境:JDK 1.6 + Eclipse 3.3.2
*/
public class StartGame {
/**
* 启动游戏
* @param args
*/
public static void main(String[] args) {
Game game = new Game(); //创建游戏类
game.start(); //开始游戏
}
}
package s1java.xmal1;
/**
* S1T037阶段项目1 - 骑士飞行棋[固定地图版]
* 地图类(Map)
* @author 邓超
* @version 0.1 2008/5/4
* 开发/测试环境:JDK 1.6 + Eclipse 3.3.2
*/
public class Map {
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:普通
*/
public void createMap(){
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;
}
}
/**
* 显示地图关卡对应的图形
* @param i 地图当前位置的关卡代号
* @param index 当前地图位置编号
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
* @return 地图当前位置的对应图片
*/
public String getGraph(int i, int index, int playerPos1, int playerPos2){
String graph = "";
if(index == playerPos1 && index== playerPos2){
graph = "@@";
}else if(index == playerPos1){
graph = "A";
}else if(index == playerPos2){
graph = "B";
}else{
switch(i){
case 1: //幸运轮盘
graph = "¤";
break;
case 2: //地雷
graph = "★";
break;
case 3: //暂停
graph = "■";
break;
case 4: //时光隧道
graph = "〓";
break;
default: //普通格
graph = "∷";
break;
}
}
return graph;
}
/**
* 输出地图的奇数行(第1、3行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家1的当前位置
* @param playerPos2 玩家2的当前位置
*/
public void showLine1(int start, int end, int playerPos1, int playerPos2){
for(int i = start; i < end; i++){
System.out.print(getGraph(map[i], i, playerPos1, playerPos2));
}
}
/**
* 输出地图的偶数行(第2行)
* @param start 输出的起始点在地图上的位置
* @param end 输出的结束点在地图上的位置
* @param playerPos1 玩家