我的Java阶段项目1 - 骑士飞行棋[两人对战][固定地图版]

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 玩家
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值