⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qishi.txt

📁 北大青鸟的一个JAVA小小小项目 骑士飞行棋 提供新手们研究
💻 TXT
📖 第 1 页 / 共 2 页
字号:

 
 
骑士飞行棋代码 
package s1java.xmal1; 
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] = 1; 
        } 
         
        //在对战地图上设置地雷 
        for(i = 0; i < landMine.length; i++){ 
        map[landMine] = 2; 
      } 
         
        //在对战地图上设置暂停 
        for(i = 0; i < pause.length; i++){ 
        map[pause] = 3; 
      } 
         
        //在对战地图上设置时空隧道 
        for(i = 0; i < timeTunnel.length; i++){ 
        map[timeTunnel] = 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 = "♀"; 
        graph = "A"; 
        }else if(index == playerPos2){ 
          //graph = "♂"; 
          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, playerPos1, playerPos2)); 
      } 
    } 
     
    /** 
     * 输出地图的偶数行(第2行) 
     * @param start 输出的起始点在地图上的位置 
     * @param end 输出的结束点在地图上的位置 
     * @param playerPos1 玩家1的当前位置 
     * @param playerPos2 玩家2的当前位置 
     */ 
    public void showLine2(int start, int end, int playerPos1, int playerPos2){     
      for(int i = end-1; i >= start; i-- ){ 
        System.out.print(getGraph(map, i,playerPos1, playerPos2)); 
      } 
    } 
     
    /** 
     * 输出地图的右竖列 
     * @param start 输出的起始点在地图上的位置 
     * @param end 输出的结束点在地图上的位置 
     * @param playerPos1 玩家1的当前位置 
     * @param playerPos2 玩家2的当前位置 
     */ 
    public void showRLine(int start, int end, int playerPos1, int playerPos2){ 
      for(int i = start; i< end; i++){ 
         for(int j = 28; j > 0; j--){ //输出29个空格 
           System.out.print(" "); 
         } 
         System.out.print(getGraph(map, i,playerPos1, playerPos2)); 
         System.out.println(); 
      } 
    } 2楼 作者:xiaopai    发表时间:2008-06-02    [只看楼主] [刷新本帖] [回复] [顶部] 
/** 
     * 输出地图的左竖列 
     * @param start 输出的起始点在地图上的位置 
     * @param end 输出的结束点在地图上的位置 
     * @param playerPos1 玩家1的当前位置 
     * @param playerPos2 玩家2的当前位置 
     */ 
    public void showLLine(int start, int end, int playerPos1, int playerPos2){ 
      for(int i = start; i < end; i++){ 
        System.out.println(getGraph(map, i,playerPos1, playerPos2)); 
      } 
    } 
    /** 
     * 显示对战地图 
     * @param playerPos1 玩家1的当前位置 
     * @param playerPos2 玩家2的当前位置 
     */ 
    public void showMap(int playerPos1, int playerPos2){ 
      showLine1(0, 31, playerPos1, playerPos2);   //显示地图第一行 
      System.out.println();                     //换行 
      showRLine(31,35, playerPos1, playerPos2); //显示地图右竖行 
      showLine2(35, 66, playerPos1, playerPos2); //显示地图第二行 
      System.out.println();                     //换行 
      showLLine(66, 69, playerPos1, playerPos2); //显示地图左竖行 
        showLine2(69, 100, playerPos1, playerPos2); //显示地图第3行 
    } 
} 
package s1java.xmal1; 
import java.util.*; 
public class Game { 
    Map map; //地图 
    int playerPos1; //对战中玩家1的当前位置 
    int playerPos2; //对战中玩家2的当前位置 
    String[] goAndStop = new String[2];   //走或停标识设置 
    String[] playerName = new String[2]; //对战角色 
     
    /** 
     * 初始化游戏的一局 
     */ 
    public void init(){   
       map = new Map(); 
       map.createMap(); //生成地图 
         playerPos1 = 0;   //设置玩家1起始位置 
         playerPos2 = 0;   //设置玩家2起始位置 
         goAndStop[0] = "on"; //记录玩家1下一次走或停 
         goAndStop[1] = "on"; //设置玩家2下一次走或停 
    } 
       
/** 
     * 开始游戏 
     */ 
      public void start(){ 
          //初始化 
          init(); 
        System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"); 
        System.out.println("//                                                //"); 
        System.out.println("//                                                //"); 
        System.out.println("//             骑    士    飞    行    棋               //"); 
        System.out.println("//                                                //"); 
        System.out.println("//                                                //"); 
        System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n"); 
     
   System.out.println("\n~~~~~~~~~~~~~~~~~~~两 人 对 战~~~~~~~~~~~~~~~~~~~"); 
        System.out.println("\n请选择角色: 1. 戴高乐 2. 艾森豪威尔 3. 麦克阿瑟 4. 巴顿"); 
        Scanner input = new Scanner(System.in); 
        System.out.print("请玩家1选择角色: "); 
        int role1 = input.nextInt(); 
          int role2; 
          do{ 
            System.out.print("请玩家2选择角色: "); 
            role2 = input.nextInt(); //双方选择角色代号 
        }while(role2==role1); //不允许角色重复 
          setRole(1, role1);   //设置玩家1代表的角色 
          setRole(2, role2);   //设置玩家2代表的角色     
          play();   //开始两人对战 
      } 
/** 
       * 设置对战角色 
       * @param no 玩家次序 1:玩家1 2:玩家2 
       * @param role 角色代号 
       */ 
      public void setRole(int no, int role){ 
        switch(role){ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -