题目:
// 幸运轮盘:◆
// 地雷:★
// 暂停:■
// 时空隧道:〓
// 普通:∷
// 玩家1和2的士兵分别用“ Α 和 Β ”来标识
// 如果Α与Β在同一个位置上时,那我们用“@@”来标识!
// 1踩到幸运轮盘:可请选择下面两项进行操作【1】:交换位置 【2】:进行轰炸(对方回退6步)
// 2踩到地雷 将会被打回起点!
// 3踩到暂停对方可以进行连续走两次
// 4踩到时空隧道 前进10步
//踩到对方,对方将退回起点
// 谁先到达终点谁取得最后的胜利。
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}; //时空隧道
实现图:
代码如下
Map类


public class Map {int player1; int player2;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};//时空隧道public void cmap(){   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;}public String getGraph(int i, int index, int player1, int player2){String graph = "";     if(index==player1&&index==player2){//两人重合时图形为@@graph="@@";}else if(index==player1){graph="A";}else if(index==player2){graph="B";}else{switch(i){case 1:graph="◆";break;case 2:graph="★";break;case 3:graph="■";break;case 4:graph="〓";break;case 0:graph="::";break;}         }return graph;}public void showLine1(int start, int end, int player1, int player2){    for(int i=start;i<end;i++){System.out.print(getGraph(map[i], i,player1, player2));}}public void showLine2(int start, int end, int player1, int player2){   for(int i = end; i >= start; i-- ){ System.out.print(getGraph(map[i], i,player1, player2));}}public void showRLine(int start, int end, int player1, int player2){for(int i = start; i< end; i++){for(int j =29; j > 0; j--){System.out.print("**");}System.out.print(getGraph(map[i], i,player1, player2));System.out.println();}}public void showLLine(int start, int end, int player1, int player2){//添加代码for(int i=start;i<end;i++){System.out.println(getGraph(map[i], i,player1, player2)); }}public void showmap(int player1, int player2){showLine1(0,30,player1,player2);     System.out.println();showRLine(30,35,player1,player2);showLine2(35,64,player1,player2);System.out.println();showLLine(66,69,player1,player2); showLine1(69,99,player1,player2);}  }

功能类:

import java.util.Scanner;public class Game {int player1;int player2;Map map;int num4;static int flag1=0;String gostop[]=new String[2];Scanner input=new Scanner(System.in);String name; String name1;int num1,num2;public void init(){map=new Map();map.cmap();// Map pp=new Map();// map.showmap(0, 0);player1=0;player2=0;gostop[0]="go";gostop[1]="go";}public void init1(){init();System.out.println("~~~~~~~~~~~~~~~~~~~~两人对战飞行棋~~~~~~~~~~~~~~~~~~~~");System.out.println("请选择角色: 1,戴高乐 2,艾森豪威尔 3,麦克阿瑟 4,巴顿");//do{System.out.println("玩家1选择人物");num1=input.nextInt();//}while(num1==1 && num2==2); // do{System.out.println("玩家2选择人物");num2=input.nextInt();switch(num1){case 1:name="1,戴高乐";break;case 2:name="2,艾森豪威尔";break;case 3:name="3,麦克阿瑟";break;case 4:name="4,巴顿";break;}switch(num2){case 1:name1="1,戴高乐";break;case 2:name1="2,艾森豪威尔";break;case 3:name1="3,麦克阿瑟";break;case 4:name1="4,巴顿";break;}    start();}public void start(){System.out.println("*****************************************");System.out.println("\t\t游戏开始");System.out.println("*****************************************");System.out.println("\n^_^"+name+":A");System.out.println("\n^_^"+name1+":B");System.out.println("图例:幸运轮盘:◆  地雷:★  暂停:■ 时空隧道:〓  普通:∷");map.showmap(player1,player2);int temp;point:while (player1<99&&player2<99){if(gostop[0].equals("go")){temp= throwSezi();System.out.println("\n****************");  player1 = getto(1, player1, temp);//System.out.println("mmmmm"+player1);//System.out.println("\n玩家1总步数:  "+ player1);System.out.println("\n:"+name+"投了"+temp+"步");System.out.println("****************\n"); //flag1=player1;//System.out.println("fff"+flag1);if(player1 == 99||player1>99){  break point;   }map.showmap(player1, player2);}else{System.out.println("\n" + name+ "停止一次!\n");gostop[0] ="go";  }if(gostop[1].equals("go")){temp= throwSezi1();System.out.println("\n****************");  // System.out.println("骰子数: "+ temp);player2 = getto(2, player2, temp);  //System.out.println("\n玩家2总步数:  "+ player2);System.out.println("\n:"+name1+"投了"+temp+"步");System.out.println("****************\n");//player2+=player2;map.showmap(player1, player2);//System.out.println("玩家2步数"+player2);if(player2 >=99){  break point;   }  }else{System.out.println("\n" + name1+ "停止一次!\n");gostop[1] ="go";  }       }if(player2==99||player2>99){result( );} if(player1==99||player1>99){result( );}}public int throwSezi(){int temp = 0;           System.out.print("\n"+name+",请按下回车键开掷骰子:"); input.nextLine();temp = (int)(Math.random()*6+1);System.out.print(temp);return temp;}public int throwSezi1(){int temp = 0;           System.out.print("\n"+name1+",请按下回车键开掷骰子:"); input.nextLine();temp = (int)(Math.random()*6+1);System.out.print(temp);return temp;}public int getto(int num3,int position,int temp){int flag=0;position=position+temp;if(position >= 99){return 99;}switch(map.map[position]){case 0:    //走到普通格if(num3 == 1 && player2 == position){   //玩家1与玩家2相遇//踩到对方,对方回到原点player2 =0;System.out.println("碰撞了");}if (num3 == 2 && player1 == position){ //玩家2与玩家2相遇//踩到对方,对方回到原点player1 = 0;System.out.println("碰撞了");}break;case 1:   //幸运轮盘1.交换位置  2.进行轰炸System.out.println("\n恭喜你进入幸运轮盘");System.out.println("【1】:交换位置 【2】:进行轰炸(对方回退6步)");if(num3==1){int operate=input.nextInt();switch(operate){case 1:flag=player1;player1=player2;player2=flag;break;case 2:   if(player2-6>0){player2-=6;}else{player2=0;}  }}if(num3==2){int operate=input.nextInt();switch(operate){case 1:flag=player1;player1=player2;player2=flag;break;case 2:   player1-=6;    }}  break;case 2:   //踩到地雷,回到temp步position = temp;System.out.println("踩到地雷");break;case 3:  //设置下次暂停掷骰子gostop[num3-1]= "off";System.out.println("要暂停一局了。");break;case 4:   //时空隧:隧道,加走10步position = position + 10;System.out.println("进入时空隧道");break;}if(position < 0){return 0;}else if(position > 99){return 99;}else{return position;}}public void result(){if(player1 > player2){System.out.println("\n\n\n\n");System.out.print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");System.out.println("$\t恭喜!玩家1获得了胜利!\t$");System.out.print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");}else{System.out.println("\n\n\n\n");System.out.print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");System.out.println("$\t恭喜!玩家2获得了胜利!\t$");System.out.print("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");}}  /*public int march(){System.out.println(name+",请按下回车键开掷骰子");input.nextLine();int step=(int)(Math.random()*6+1);System.out.println(name+"投了"+step+"步");return step;}*/public static void main(String[] args) {Game person=new Game();person.init1();}
}

java控制台飞行棋小程序相关推荐

  1. C#双人飞行棋小程序

    项目源代码    提取码:3306 备注:本程序基于Microsoft Visual Studio 2019,请选择支持本案例解决方案的编辑工具打开. 视频详解请戳:传智播客C#控制台飞行棋小程序 u ...

  2. android飞行棋小程序,快来飞行棋小程序-微信快来飞行棋小程序小游戏-游戏宝手游网...

    快来飞行棋小程序是一款好玩的创意小游戏,点击喜欢的角色和其他玩家们来一场刺激的飞行棋大赛,快来飞行棋小程序中不同的冒险玩法和创意休闲体验让你成功完成任务,使用你的专属道具驾驶飞机超过其他的玩家,经典的 ...

  3. C#实现一个控制台飞行棋小游戏(附源码)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. android飞行棋小程序,C#飞行棋小程序设计代码

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. C# 飞行棋小游戏 (控制台应用)

    目录 C# 控制台飞行棋小游戏 简要介绍 游戏画面 规则说明 游戏代码 `Entry.cs` `Operate.cs` `Map.cs` `Player.cs` 其他问题 C# 控制台飞行棋小游戏 简 ...

  6. 计算器小程序java课程设计,java课程设计----计算器小程序报告.doc

    java课程设计----计算器小程序报告.doc #####学院JAVA语言课程设计报告小程序计算器系统管理班级:#######姓名:#####指导老师:###时间:2012年6月25日至6月29日2 ...

  7. 3种设计模式的java小程序,java实现的设计模式小程序 模拟Web系统

    [实例简介] java实现的设计模式小程序,应用了策略模式,单例模式,工厂模式,抽象工厂模式,责任链模式.模拟的是Web系统针对不同用户提供不同的功能,可以在此基础上添加自己的代码. [实例截图] [ ...

  8. java语言开发微信小程序(一)

    出于兴趣,自己用java搞了一次小程序,现在记录下来,就权当笔记吧.当然也希望能给看到这篇文章的同志一些帮助.这篇文章分两部分,这部分先介绍小程序开发的一些基础知识,包括需要做的准备.按照习惯,先贴一 ...

  9. java 骑士飞行棋_C#实现骑士飞行棋

    前言 飞行棋小游戏是学习C#以来,接触的第一个游戏项目,根据小杨老师的思路引导,自己的代码也实现了功能,经过思路的梳理,试着不借助代码自己去实现功能,感触就是不管想的多明白,实践起来完全不一样,所以, ...

最新文章

  1. git remote 命令
  2. 帕金森患者的新曙光!AI无线智能探测系统诞生
  3. html grid布局,css grid布局使用
  4. 笔记-高项案例题-2018年下-范围管理
  5. 手把手教你实现基于LSTM的情感分析(LSTM-based Sentiment) Classification
  6. Java EE——SpringMVC框架学习
  7. p7zip的解压和压缩
  8. 关联矩阵古林法的matlab代码,[转载][原创]灰色关联分析及Matlab程序实现
  9. android 音乐资源获取失败,android – 获取嵌入式mp3文件嵌入式艺术失败
  10. CAN笔记(21) 服务数据对象
  11. Docker学习总结(52)—— Docker容器环境变量相关知识点的总结
  12. 多数据源切换(拦截器)
  13. 过滤器做权限校验以及遇到的坑
  14. 程序员该如何选择工作以及如何做好职业规划?
  15. cad会员共享_CAD迷你画图共享版下载
  16. word下禁止显示回车符号
  17. word:清除格式(设置快捷键)
  18. MYSQL判断中文、英文、日文常用语句
  19. 邻接矩阵(Adjacency Matrix)
  20. torch实现clip by tensor操作

热门文章

  1. 编程 学习视频教程大全
  2. Android代码混淆处理,android代码混淆解决方案
  3. MES上线的实施流程
  4. 【层级多标签文本分类】Hierarchical Multi-label Text Classification: An Attention-based Recurrent Network Approa
  5. (转)Linux系统下PDF文件的编辑
  6. python气象绘图相关链接
  7. 猫眼电影MySQL数据库怎么写_猫眼电影和电影天堂数据csv和mysql存储
  8. 图书馆管理系统 1-立项
  9. 硬盘里常听到的SATA和IDE是什么?它们又有何区别?
  10. cocos2d-x 使用位图工具BMFont自定义字体 fnt