java学习做的一个简单的骑士飞行棋游戏! 您所在的位置:网站首页 飞行棋英语规则怎么写的呀 java学习做的一个简单的骑士飞行棋游戏!

java学习做的一个简单的骑士飞行棋游戏!

2024-07-09 21:27| 来源: 网络整理| 查看: 265

学习java大概10天的样子写的,写了一下午,晚上还调了好久的BUg,实现很简单,扩充性差,但是做出来的时候去很高兴,希望发在这里印证自己的学习,督促自己,也希望能交到跟多的朋友交流学习,得到大家的指点!

/游戏类/

public class Game {     Maps map = new Maps();     Roles role = new Roles();     /*初始化游戏*/     public void initialize()     {                  role.initializ();     }     /*游戏登陆界面*/     public void beganInterface()     {         System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※");         System.out.println("//                                                           //\t");         System.out.println("//                                                          //\t");         System.out.println("//                      骑士飞行棋                               //\t");         System.out.println("//                                                        //\t");         System.out.println("//                                                       //\t");         System.out.println("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n");         System.out.println("……………………………………………………………………两 人 对 战………………………………………………………………………………………………");         //Roles role = new Roles();         Scanner input =  new  Scanner(System.in);         System.out.println("请选择角色:1.戴高乐 2.艾神豪威尔 3.麦克阿瑟 4.巴顿");         System.out.print("请选玩家1择角色:");         int one = input.nextInt();         boolean isRight = true;         System.out.println();         int two ;         do         {             System.out.print("请选玩家2择角色:");              two = input.nextInt();             if(two==one)             {                 System.out.println("玩家已存在,请从新选择!");                 isRight = false;             }             else             {                 isRight = true;             }         }while(!isRight);         switch(one)         {         case 1:             role.roleNames[0] = "戴高乐";             break;         case 2:             role.roleNames[0] = "艾神豪威尔";             break;         case 3:             role.roleNames[0] = "麦克阿瑟";             break;         case 4:             role.roleNames[0] = "巴顿";             break;         }         switch( two)         {         case 1:             role.roleNames[1] = "戴高乐";             break;         case 2:             role.roleNames[1] = "艾神豪威尔";             break;         case 3:             role.roleNames[1] = "麦克阿瑟";             break;         case 4:             role.roleNames[1] = "巴顿";             break;         }                   //System.out.println(role.roleNames[0]+role.roleNames[1]);     }     /*开始游戏*/     public void playGame()     {         System.out.println("*******************************************************************************\n");         System.out.println("                     GAME START                     \n");         System.out.println("*******************************************************************************\n\n");         System.out.println("☆"+role.roleNames[0]+"的士兵:A");         System.out.println("☆"+role.roleNames[1]+"的士兵:B");         System.out.println("\n\n");         System.out.println("图列:∷.普通 ¤.地雷 〓.时空隧道 ■.暂停 ★.幸运轮盘\n\n ");         map.showMap(0, 0);     }     /*开始游戏*/     public void playing()     {         boolean isTurnOne =true;//记录谁抛色子              do         {         if(role.indexs[0]=6)                   {role.indexs[i]-=6;}                   else                   {                       role.indexs[i]=0;                   }                   System.out.println("运气真差,踩到地雷了!");                   break;                   default:                       if(role.indexs[i]==role.indexs[1-i])                       {                          System.out.println("哈哈,踩到了!");                           role.indexs[i] = role.indexs[1-i];                           role.indexs[1-i] = 0;                       }                       break;               }           System.out.println("--------------------------------------------------------");           System.out.println("骰子数:"+role.counts[i]+"\n\n");           System.out.println(role.roleNames[i]+"的当前位置:"+role.indexs[i]);           System.out.println("对方的当前位置:"+role.indexs[1-i]);           map.showMap(role.indexs[i],role.indexs[1-i] );     } }

}

/地图类/

public class Maps {     //1.∷2.■3.☻4.〓5.☠     int[] imgLables = 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 }; // 时空隧道     /* 创建地图 */     public void createMap()     {         /* 读入幸运轮盘 */         for (int i = 0; i < luckyTurn.length; i++)         {             imgLables[luckyTurn[i]] = 3;         }         /* 读入地雷位置 */         for (int i = 0; i < landMine.length; i++)         {             imgLables[landMine[i]] = 5;         }         /* 读入暂停 */         for (int i = 0; i < pause.length; i++)         {             imgLables[pause[i]] = 2;         }         /* 读入时光隧道 */         for (int i = 0; i < timeTunnel.length; i++)         {             imgLables[timeTunnel[i]] = 4;         }         /* 普通 */         for (int i = 0; i < imgLables.length; i++)         {             if (imgLables[i] == 0)             {                 imgLables[i] = 1;             }         }     }         /**          * 显示地图关卡对应的图形          *          * @param i          *            地图当前位置的关卡代号          * @param index          *            当前地图位置编号          * @param playerPos1          *            玩家1 的当前位置          * @param playerPos2          *            玩家2 的当前位置          * @return 地图当前位置的图形          * 1.代表玩家在地图上,0代表不在          */         public String getGraph(int i, int index, int playerPos1, int playerPos2)         {             String graph = "";             if ( playerPos1==index&&playerPos2==index)             { //两个玩家都位于地图当前位置index                 graph = "@@";             }             else if (playerPos1==index)             { //玩家 1 位于地图当前位置                 graph = "A";             }             else if (playerPos2==index)             { //玩家 2 位于地图当前位置                 graph = "B";             }             else             {                 switch (i)                 {                     //关卡代号为1时:graph = "¤";                     //关卡代号为2时:graph = "★";                     //关卡代号为3时:graph = "■";                     //关卡代号为4时:graph = "〓";                     //其他:graph = "∷";                 case 1:                     graph = "∷";                     break;                 case 2:                     graph = "■";                     break;                 case 3:                     graph = "¤";                     break;                 case 4:                     graph = "〓";                     break;                 case 5:                     graph = "★";                     break;                                      }             }             return graph;         }         public void showMap(int  playerPos1, int playerPos2 )         {             createMap();              showLine(0,30,playerPos1, playerPos2);              showRightColumm(31, 34,playerPos1 , playerPos2);              showMiddleLine(35, 65,playerPos1 , playerPos2 );              showLeftColumm(66,68,playerPos1, playerPos2);              showLine(69,99,0,0);         }         public void showLine(int start,int end,int  playerPos1, int playerPos2)         {             for(int k=start;k=start;k--)             {             System.out.print(getGraph(imgLables[k],k, playerPos1,playerPos2));             }             System.out.println();         }         public void showRightColumm(int start,int end,int  playerPos1, int playerPos2)         {             for(int c = start;c



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有