欢迎来到天天文库
浏览记录
ID:18250562
大小:56.00 KB
页数:12页
时间:2018-09-16
《java骑士飞行棋 小游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、突然想起自己刚学java时,老师让写一个java骑士飞行棋,那时候还不知道写,到处问人,勉强写好了,结果全是放在主函数里,今天闲来没事,花了一会,再次写了个骑士飞行棋小游戏,希望对初学者有帮助吧。代码中,可能用到了初学者还没接触到的东西,不过都不难,注释都有写明,花点时间就能明白的。一共三个类。分别:Game.javaMap.javaPlayer.javapackagechou.game.flying;importjava.util.Random;importjava.util.Scanner;p
2、ublicclassGame{privateScannersc=newScanner(System.in);privatestaticMapmap=newMap();/***静态块,初始化地图*加载时就会被执行的内容*不理解的,可以在static{}块里打印一句话,看看控制台反映*/static{map.initMap();}/***游戏开始*/publicvoidGameStart(){//游戏开始界面welcome();//选择角色,生成对象数组Player[]players=getPlaye
3、r();good,noloosening.6.5.2DCSsidewiringtocompletetheenclosureandtheothersideafterthewiringiscompleted,DCSwithintheenclosurewhenthepowermoduleshouldbeloosenedorthepowergoesout.6.6lowvoltagecableterminalmaking6.6.1first//游戏开始循环,直到有玩家胜出,结束booleanisAnyone
4、Win=false;while(!isAnyoneWin){//遍历玩家数组,让每个玩家依次进行掷点for(inti=0;i5、ayers[i]);}//进行掷点intcount=roll();System.out.println(players[i].getName()+"掷出了"+count+"点");//记录玩家roll点前位置和roll点后位置,判断玩家位置是否到达终点players[i].setLastPosition(players[i].getPosition());players[i].setPosition(players[i].getPosition()+count);//判断是否踩中对方intseco6、ndNum=Math.abs(1-i);if(isHit(players[i],players[secondNum])){players[secondNum].setPosition(0);if(players[i].getLastPosition()!=0){changMap(players[i].getLastPosition(),players[i].getLastPositionFlag());}}if(checkAnyoneWin(players[i].getPosition())){i7、sAnyoneWin=true;good,noloosening.6.5.2DCSsidewiringtocompletetheenclosureandtheothersideafterthewiringiscompleted,DCSwithintheenclosurewhenthepowermoduleshouldbeloosenedorthepowergoesout.6.6lowvoltagecableterminalmaking6.6.1first//打印游戏结束标语gameOver(pla8、yers[i]);continue;}else{//判断将去位置是否有特殊效果,判断效果之后,理论上来说,应该再次进行判断是否有特殊效果//但我们这里不设这种情出现,因为再来循环的话,代码会更复杂,不利于初学者学习//在这里,我们只判断再进行一次roll点的判定StringmapBuff=null;mapBuff=getMapFlag(players[i].getPosition());if(!("=".equals(mapBuff))){players[i]=checkBuff(
5、ayers[i]);}//进行掷点intcount=roll();System.out.println(players[i].getName()+"掷出了"+count+"点");//记录玩家roll点前位置和roll点后位置,判断玩家位置是否到达终点players[i].setLastPosition(players[i].getPosition());players[i].setPosition(players[i].getPosition()+count);//判断是否踩中对方intseco
6、ndNum=Math.abs(1-i);if(isHit(players[i],players[secondNum])){players[secondNum].setPosition(0);if(players[i].getLastPosition()!=0){changMap(players[i].getLastPosition(),players[i].getLastPositionFlag());}}if(checkAnyoneWin(players[i].getPosition())){i
7、sAnyoneWin=true;good,noloosening.6.5.2DCSsidewiringtocompletetheenclosureandtheothersideafterthewiringiscompleted,DCSwithintheenclosurewhenthepowermoduleshouldbeloosenedorthepowergoesout.6.6lowvoltagecableterminalmaking6.6.1first//打印游戏结束标语gameOver(pla
8、yers[i]);continue;}else{//判断将去位置是否有特殊效果,判断效果之后,理论上来说,应该再次进行判断是否有特殊效果//但我们这里不设这种情出现,因为再来循环的话,代码会更复杂,不利于初学者学习//在这里,我们只判断再进行一次roll点的判定StringmapBuff=null;mapBuff=getMapFlag(players[i].getPosition());if(!("=".equals(mapBuff))){players[i]=checkBuff(
此文档下载收益归作者所有