




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/Game.javaimport java.util.*;public class Game Map map=new Map();Scanner input=new Scanner(System.in);int playerPos1;int playerPos2;String goAndStop=new String2;String roleName=new String2;/* 初始化游戏*/public void initial()map.createMap();playerPos1=0;playerPos2=0;goAndStop0=on;goAndStop1=on;/* 设置对战角色* param num 玩家次序* param role 角色代号*/public void setRole(int num,int role)switch(role)case 1:roleNamenum-1=梅西;break;case 2:roleNamenum-1=卡卡;break;case 3:roleNamenum-1=C罗;break;default:roleNamenum-1=托雷斯;/* 开始游戏*/public void start()initial();System.out.println();System.out.println(/ /);System.out.println(/ /);System.out.println(/ 骑士飞行棋 /);System.out.println(/ /);System.out.println(/ /);System.out.println(nn);System.out.println(-两 人 对 战-n);System.out.println(请选择角色: 1. 梅西 2. 卡卡 3. C罗 4. 托雷斯);/Scanner input=new Scanner(System.in);System.out.print(请玩家1选择角色:);int role1=input.nextInt();System.out.print(请玩家2选择角色:);int role2=input.nextInt();while(role1=role2)System.out.print(与玩家1角色重复,请重新选择玩家2的角色:);role2=input.nextInt();setRole(1,role1);setRole(2,role2); play();/* 模拟掷骰子* param num 玩家序号* return 骰子数*/public int throwShifter(int num)System.out.print(nn + roleNamenum-1 + , 请按任意键启动掷骰子: ); Scanner input = new Scanner(System.in); input.next();return (int)(Math.random()*6)+1);/* 计算掷完骰子后玩家新位置* param num 玩家序号* param playerPos 当前位置* param step 骰子数* return*/public int getCurPos(int num,int playerPos,int step)playerPos=playerPos+step;if(playerPos99)playerPos=99;/* 1:幸运轮盘 2:地雷 3: 暂停 4:时空隧道 0:普通 */switch(map.mapplayerPos)case 0: /普通格if(playerPos=playerPos2)/玩家1与玩家2相遇playerPos2=0;/玩家2被踩回起点System.out.println(:-D 哈哈哈踩到了);else if(playerPos=playerPos1)/玩家2遇到玩家1playerPos1=0;/玩家1被踩回起点System.out.println(:-D 哈哈哈踩到了);break;case 1: /幸运轮盘System.out.println(n欢迎进入幸运轮盘);System.out.println(请选择一种运气:);System.out.println(1.交换位置 2.轰炸);System.out.println(=);int choice=input.nextInt();switch(choice)case 1:int temp;if(num=1)temp=playerPos;playerPos=playerPos2;playerPos2=temp;else if(num=2)temp=playerPos;playerPos=playerPos1;playerPos1=temp;break;case 2:if(num=1&playerPos2=6)playerPos2=playerPos2-6; /玩家2被炸退6步else if(num=1&playerPos2=6)playerPos1=playerPos1-6; /玩家1被炸退6步else if(num=2&playerPos16)playerPos1=0; /玩家1返回起点break;break;case 2: /地雷playerPos=playerPos-6;System.out.println(-:-( +踩到地雷了,气死了);break;case 3: /暂停if(num=1)goAndStop0=off; System.out.println(o( +roleName0+停掷一回合!);elsegoAndStop1=off;System.out.println(o( +roleName1+停掷一回合!);break;case 4:playerPos=playerPos+10;System.out.println(|-P +进入时空隧道,真爽!);break;/对位置临界值修正,返回值if(playerPos99)return 99;elsereturn playerPos; /* 判断胜负*/public void judge()if(playerPos1playerPos2)System.out.println(恭喜!+roleName0+获得了胜利!);elseSystem.out.println(恭喜!+roleName1+获得了胜利!);/* 双人对战玩法*/public void play()System.out.println(n);System.out.println(*n);System.out.println( n);System.out.println(*nn);System.out.println(_ +roleName0+的士兵: );System.out.println(_ +roleName1+的士兵: );System.out.println(n图例: 幸运轮盘 地雷 暂停 时空隧道 普通n);map.showMap(playerPos1, playerPos2);/开始游戏int step; /记录骰子数while(playerPos199&playerPos299)/玩家1掷骰子if(goAndStop0.equals(on)step=throwShifter(1);playerPos1=getCurPos(1,playerPos1,step);System.out.println(n-);System.out.println(骰子数: +step);System.out.println(n您当前位置:+playerPos1);System.out.println(对方当前位置:+playerPos2);System.out.println(-n);map.showMap(playerPos1, playerPos2);if(playerPos1=99)break;elseSystem.out.println(roleName0+停掷一次);goAndStop0=on;/玩家2掷骰子if(goAndStop1.equals(on)step=throwShifter(2);playerPos2=getCurPos(2,playerPos2,step);System.out.println(n-);System.out.println(骰子数: +step);System.out.println(n您当前位置:+playerPos2);System.out.println(对方当前位置:+playerPos1);System.out.println(-n);map.showMap(playerPos1, playerPos2);if(playerPos2=99)break;elseSystem.out.println(roleName1+停掷一次);goAndStop1=on;/游戏结束System.out.println(nn);System.out.println(*n);System.out.println( n);System.out.println(*nn);judge();/* 测试Game类运行效果public static void main(String args)Game game=new Game();game.start();*/ 对我有用0 丢个板砖0 引用 举报 管理 TOP精华推荐:struts+hibernate的问题 lenthpom (lenthpom) 等级:#3楼 得分:0回复于:2009-06-25 21:32:46/Map.javapublic class Map int map=new int100;/* 定义地雷位置*/ int landMine=5,13,17,33,38,50,64,80,94;/* 定义幸运轮盘位置*/int luckyTurn=6,23,40,55,69,83;/* 定义暂停位置*/int pause=9,27,60,93;/* 定义时空隧道位置*/int timeSpace=20,25,45,63,72,88,90;/* 生成地图* 关卡代号:1:幸运轮盘 2:地雷 3:暂停 4:时空隧道 0:普通*/ public void createMap()int i=0;/设置幸运轮盘格for(i=0;iluckyTurn.length;i+)mapluckyTurni=1;/设置地雷格for(i=0;ilandMine.length;i+)maplandMinei=2;/设置暂停for(i=0;ipause.length;i+)mappausei=3;/设置时空隧道格for(i=0;itimeSpace.length;i+)maptimeSpacei=4;/* 显示地图关卡对应的图形* param i 关卡代号(1:幸运轮盘 2:地雷 3:暂停 4:时空隧道 0:普通)* param index 当前位置在字符串数组中的下标* param playerPos1 玩家1的位置* param playerPos2 玩家2的位置*/public String getGraph(int i,int index,int playerPos1,int playerPos2)String graph=;if(playerPos1=index&playerPos2=index)graph=;else if(playerPos1=index)graph=;else if(playerPos2=index)graph=;elseswitch(i)case 1:graph=;break;case 2:graph=;break;case 3:graph=;break;case 4:graph=;break;default:graph=;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=start;i-)System.out.print(getGraph(mapi,i,playerPos1,playerPos2);/* 输出地图的左部* param start 生成图形时的起始位置* param end 生成完图形的结束位置* param playerPos1 玩家1的位置* param playerPos2 玩家2的位置*/public void showLLine(int start,int end,int playerPos1,int playerPos2)System.out.println();for(int i=start;i=end;i+)System.out.print(getGraph(mapi,i,playerPos1,playerPos2);System.out.println();/* 输出地图的右部* param start 生成图形时的起始位置* param end 生成完图形的结束位置* param playerPos1 玩家1的位置* param playerPos2 玩家2的位置*/public void showRLine(int start,int end,int playerPos1,int playerPos2)System.out.println();for(int i=start;i=end;i+)for(int j=1;j=28;j+)System.out.print( );System.out.print(getGraph(mapi,i,playerPos1,playerPos2);System.out.println();/* 生成完整的地图* param playerPos1 玩家1的位置* param playerPos2 玩家2的位置*/public void showMap(int playerPos1,int playerPos2)createMap(); /map数组中存入关卡代号showLine1(0, 30, playerPos1, playerPos2); /生成地图的第一行showRLine(31, 34, playerPos1, playerPos2); /生成地图的右列showLine2(35, 65, playerPos1, playerPo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 清炒法与炒炭法精要
- 离婚协议书翻译及海外法律文件认证合同
- 商业综合体物业租赁及配套设施服务合同
- 网络直播平台合同中多元化收入模式下的价格确定
- 农户耕地杂地租赁及农产品加工销售合同
- 数学光盘配套课件
- 汉字互动游戏课件
- 脑梗死教学课件
- 六职技术测试题及答案
- 建设银行2025丹东市秋招笔试热点题型专练及答案
- 政法干警执纪监督心得体会
- DB45∕T 2952-2024 高标准农田耕地质量评价技术规程
- 安全生产合规管理
- 肩袖损伤护理常规
- 宠物嘉年华活动方案
- 2025至2030中国超高温热泵行业发展趋势分析与未来投资战略咨询研究报告
- 电梯设备监测方案(3篇)
- 秋季安全教育
- 药剂专业教学标准(中等职业教育)2025修订
- 急救担架员培训
- 2025年秋三年级上册语文同步教案 4 古诗三首
评论
0/150
提交评论