下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 java骑士飞行棋 小游戏

java骑士飞行棋 小游戏.doc

java骑士飞行棋 小游戏

向日葵没有太阳能耀眼吗
2017-09-01 0人阅读 举报 0 0 暂无简介

简介:本文档为《java骑士飞行棋 小游戏doc》,可适用于综合领域

java骑士飞行棋小游戏突然想起自己刚学java时老师让写一个java骑士飞行棋那时候还不知道写到处问人勉强写好了结果全是放在主函数里今天闲来没事花了一会再次写了个骑士飞行棋小游戏希望对初学者有帮助吧。代码中可能用到了初学者还没接触到的东西不过都不难注释都有写明花点时间就能明白的。一共三个类。分别:GamejavaMapjavaPlayerjavapackagechougameflyingimportjavautilRandomimportjavautilScannerpublicclassGame{privateScannersc=newScanner(Systemin)privatestaticMapmap=newMap()***静态块初始化地图*加载时就会被执行的内容*不理解的可以在static{}块里打印一句话看看控制台反映*static{mapinitMap()}***游戏开始*publicvoidGameStart(){游戏开始界面welcome()选择角色生成对象数组Playerplayers=getPlayer()游戏开始循环直到有玩家胜出结束booleanisAnyoneWin=falsewhile(!isAnyoneWin){遍历玩家数组让每个玩家依次进行掷点for(inti=i<playerslengthi){对玩家的状态进行判断是否处于暂停状态if(playersigetStatus()==){如果玩家处于暂停状态恢复暂停状态并跳过此回合playersisetStatus()statusSay(playersi)continue}判断玩家手动掷点if(i!=){letPlayerRoll(playersi)}进行掷点intcount=roll()Systemoutprintln(playersigetName()"掷出了"count"点")记录玩家roll点前位置和roll点后位置判断玩家位置是否到达终点playersisetLastPosition(playersigetPosition())playersisetPosition(playersigetPosition()count)判断是否踩中对方intsecondNum=Mathabs(i)if(isHit(playersi,playerssecondNum)){playerssecondNumsetPosition()if(playersigetLastPosition()!=){changMap(playersigetLastPosition(),playersigetLastPositionFlag())}}if(checkAnyoneWin(playersigetPosition())){isAnyoneWin=true打印游戏结束标语gameOver(playersi)continue}else{判断将去位置是否有特殊效果判断效果之后理论上来说应该再次进行判断是否有特殊效果但我们这里不设这种情出现因为再来循环的话代码会更复杂不利于初学者学习在这里我们只判断再进行一次roll点的判定StringmapBuff=mapBuff=getMapFlag(playersigetPosition())if(!("="equals(mapBuff))){playersi=checkBuff(playersi,mapBuff)}elseif("*"equals(mapBuff)){count=roll()playersisetPosition(playersigetPosition()count)}判断是否踩中对方secondNum=Mathabs(i)if(isHit(playersi,playerssecondNum)){playerssecondNumsetPosition()if(playersigetLastPosition()!=){changMap(playersigetLastPosition(),playersigetLastPositionFlag())}}记录玩家去的位置的形状地图复原使用mapBuff=getMapFlag(playersigetPosition())playersisetLastPositionFlag(mapBuff)改变地图上玩家的位置先复原再改变初始位置是为所以要判断if(playersigetLastPosition()!=){changMap(playersigetLastPosition(),playersigetLastPositionFlag())}三目运算符i==是一个布尔式疑问如果是真返回:前面的值如果假:后面的值mapBuff=i=="C":"P"changMap(playersigetPosition(),mapBuff)}mapshowMap()}}}***判断是否踩中对方*paramfirst前面玩家*paramsecond后面玩家*publicbooleanisHit(Playerfirst,Playersecond){booleantemp=falseif(firstgetPosition()==secondgetPosition()){temp=true}returntemp}***玩家掷点阻塞*paramplayer玩家信息*publicvoidletPlayerRoll(Playerplayer){Systemoutprintln("请玩家"playergetName()"掷点~")scnext()}***检查玩家到达的地图位置是否有特殊效果*paramplayer玩家*parammapBuff地图标识*return执行过buff后的玩家对象*publicPlayercheckBuff(Playerplayer,StringmapBuff){if(""equals(mapBuff)){Systemoutprintln(playergetName()"进入黑洞迷失了方向后退步")Systemoutprintln(playergetName()":shit!")playersetPosition(playergetPosition())}elseif(""equals(mapBuff)){Systemoutprintln(playergetName()"进入时空隧道前进步")Systemoutprintln(playergetName()":luckily!")playersetPosition(playergetPosition())}elseif("*"equals(mapBuff)){Systemoutprintln(playergetName()"进行了空间跳跃~再来一次")Systemoutprintln(playergetName()":seemefly!")playersetStatus()}elseif("^"equals(mapBuff)){Systemoutprintln(playergetName()"抛锚了暂停一次")Systemoutprintln(playergetName()":whatisthefuck!")playersetStatus()}returnplayer}***改变地图上玩家的位置*paramposition位置*paramflag地图形状*publicvoidchangMap(intposition,Stringflag){if(position<){mapmapposition=flag}elseif(position>position<){mapmapposition=flag}elseif(position>position<){mapmapposition=flag}elseif(position>position<){mapmapposition=flag}elseif(position>position<){mapmapposition=flag}}***暂停言语*paramplayer被暂停的玩家*publicvoidstatusSay(Playerplayer){Systemoutprintln(playergetName()"暂停中")}***获得地图指定位置的形状*paramposition位置*return*publicStringgetMapFlag(intposition){Stringflag="="if(position<){flag=mapmapposition}elseif(position>position<){flag=mapmapposition}elseif(position>position<){flag=mapmapposition}elseif(position>position<){flag=mapmapposition}elseif(position>position<){flag=mapmapposition}returnflag}***胜利标语*paramplayer玩家*publicvoidgameOver(Playerplayer){Systemoutprintln("wharapalyer!!")Systemoutprintln("玩家"playergetName()"率先到达终点获得了胜利")}***判断是否胜利*paramposition位置*returnboolean,temp*publicbooleancheckAnyoneWin(intposition){booleantemp=falsetemp=position>=true:falsereturntemp}***掷点*returnint,count点数*publicintroll(){intcount=产生一个以内的随机数Randomrandom=newRandom()count=randomnextInt()returncount}***选择角色*returnPlayer,players玩家对象数组*publicPlayergetPlayer(){booleanflag=true创建对象数组长度为用来接收玩家对象和电脑Playerplayers=newPlayerPlayerplayer=newPlayer()playersetNum()Playercomputer=newPlayer()while(flag){StringuserChoose=scnext()获取输入内容判断是否根据选择给玩家对象赋名if(!userChoosematches("")){Systemoutprintln("选择角色失败请重新选择")}else{switch(IntegerparseInt(userChoose)){case:playersetName("YaGaMi")breakcase:playersetName("Killer")breakcase:playersetName("Chou")breakdefault:break}Systemoutprintln("你选择了"playergetName()"作为你的游戏角色")Systemoutprintln("电脑选择了FujiwaranoMokou作为游戏角色")computersetName("FujiwaranoMokou")数组第位是玩家第二位是电脑players=playerplayers=computerflag=false}}returnplayers}publicvoidwelcome(){Systemoutprintln("*********************************")Systemoutprintln("*******欢迎来到飞行棋小游戏*******")Systemoutprintln("*********************************")Systemoutprintln()Systemoutprintln("游戏说明:")Systemoutprintln("地图上随机出现*^四种效果")Systemoutprintln("分别代码:再掷次后退步暂停次前进步")Systemoutprintln()Systemoutprintln("请选择你的喜欢的游戏角色编号:")Systemoutprintln("YaGaMi")Systemoutprintln("Killer")Systemoutprintln("Chou")}publicstaticvoidmain(Stringargs){newGame()GameStart()}}packagechougameflyingpublicclassMap{publicStringmap=newStringpublicvoidinitMap(){for(inti=i<maplengthi){for(intj=j<mapilengthj){if(i==||i==||i==||(i<j==)||(i>j==)){mapij="="}else{mapij=""}}}map=""map=""map="*"map=""map="^"map="*"map="^"map=""map=""map="^"map="*"map=""map="^"map=""map="^"map=""map=""}publicvoidshowMap(){for(inti=i<maplengthi){for(intj=j<mapilengthj){if(i==){Systemoutprint(mapij"")}else{Systemoutprint(mapij"")}}Systemoutprintln()}}publicstaticvoidmain(Stringargs){}}packagechougameflyingpublicclassPlayer{privateStringname玩家状态privateintstatus玩家当前位置privateintposition玩家上把位置privateintlastPosition玩家上把位置的地图形状privateStringlastPositionFlag玩家编号privateintnumpublicintgetNum(){returnnum}publicvoidsetNum(intnum){thisnum=num}publicStringgetName(){returnname}publicvoidsetName(Stringname){thisname=name}publicintgetStatus(){returnstatus}publicvoidsetStatus(intstatus){thisstatus=status}publicintgetPosition(){returnposition}publicvoidsetPosition(intposition){thisposition=position}publicintgetLastPosition(){returnlastPosition}publicvoidsetLastPosition(intlastPosition){thislastPosition=lastPosition}publicStringgetLastPositionFlag(){returnlastPositionFlag}publicvoidsetLastPositionFlag(StringlastPositionFlag){thislastPositionFlag=lastPositionFlag}}亲爱的朋友,上文已完,为感谢你的阅读,特加送另一篇范文,如果下文你不需要,可以下载后编辑删除,谢谢,矿井水灾事故专项应急演练方案应急演练目的、意义和目标应急演练目的评估我矿水灾事故的应急准备状态发现并修改我矿水灾事故专项应急预案和执行程序中存在的缺陷和不足评估我矿在发生水灾事故时的应急能力识别处理水灾事故的资源需求澄清相关单位和人员的应急职责改善水灾事故应急救援中的组织协调问题检验应急响应人员对水灾事故应急预案及执行程序的了解程度和实际操作技能同时通过调整演练难度进一步培训和提高应急响应人员的业务素质和能力提高全员安全意识。应急演练意义:为了进一步增强煤矿应对水灾事故的快速反应能力、应急处理能力和协调作战能力提高米田煤矿的应急救援水平切实保障人民生命和公司财产的安全米田煤矿特组织本次应急救援演练。应急演练目标报警当发生水灾事故时由现场施工单位当班第一责任者采用电话报警的方式进行报警。接警处警调度室接到事故报警后调度室调度员立即向当天矿值班长和应急救援领导小组组长(矿长)汇报同时通知水灾应急演练指挥部有关人员到调度室待命根据指挥部意见启动水灾应急救援预案。应急指挥基层单位:一旦发生矿井水灾事故现场施工单位立即成立水灾事故现场处置小组掘进队当班第一责任者为小组长。矿级应急指挥:矿调度室接到事故报警后矿成立矿井水灾事故应急演练小组指挥部设在矿调度室。应急行动基层单位应急行动现场组织人员按照避灾路线撤离至安全地点。模拟底板涌水的疏、排矿级应急行动矿调度室通知相关泵房由开泵人员立即开动工作、备用水泵开始排水同时检查检修水泵的完好状况保证检修水泵能够随时投入运转。应急演练原则安全第一、以人为本的原则。统一领导、分级负责的原则。反应迅速、措施果断的原则。部门配合、分工协作的原则。应急演练类型和时间地点应急演练类型本次演练演练为实战检验性演练应急演练时间本次演练时间年月日八点班:,:。如果演练当日出现特殊情况应急预案演练可顺延或提前。应急演练地点运输巷工作面矿调度室应急演练组织机构应急演练领导小组组长:陈仕副组长:董永海成员:孔家稳何兴八张蛮敖成卫胡荣兴黄志党李登学牛建毕封志平职责:负责水灾事故应急演练活动全过程的组织领导审批决定演练的重大事项。策划部总策划:彭家福职责:负责演练准备、演练实施、演练总结的组织实施。文案组组长:孔家稳协调组组长:陈仕控制组组长:董永海评估组共设四个评估组每组人。(评估组建议由安监队人员组成每组人人评估人记录)第一组:位置:运输巷工作面记录和评估水灾演练现场报警、现场处置小组成立及现场应急处置情况第二组:位置:调度室记录和评估主井采区工作。记录和评估调度室接警、处警、矿井水灾应急演练小组成立、应急指挥部人员到位、应急指挥、协调情况。演练情景设计应急演练概述:运输巷工作面目前已施工m煤层平均厚度米运输巷工作面安设有一部能直通调度室的电话。年月日下午:时安全矿长组织召开矿井水灾应急演练预备会议进一步确认各演练情景准备情况确认准备完毕后安全副矿长要求各参演单位及装备务必于年月日上午:分准时到位年月日上午:时准时开始演练。年月日上午:时该巷工作面后m发生掘进工作面滞后突水突水水量mh。年月日:演练总指挥宣布应急演练开始。演练情景报警、现场处置小组成立及现场处置地点:运输巷工作面总指挥宣布演练开始后调度室用电话通知运输巷工作面评估组人员评估人员通知当班第一责任者演练开始。水灾事故发生撤人:分当班第一责任者在掌子头后m处发现巷道顶板地鼓随后发生巷道顶板突水当班第一责任者喊“顶板出水了人员赶快撤离”并且立即通知班长班长带领全部人员撤离到运输石门盘口当班第一责任者最后撤离由当班第一责任者在运输石门盘口清点人数。报警当班第一责任者清点人数后当班第一责任者立即向调度室汇报模拟水灾的具体情况。汇报内容为:顶板突水位置、顶板突水大致水量、顶板突水人员撤出情况、支援需要以及现场处置方法。现场处置小组成立当班第一责任者报警后立即着手成立水灾事故现场处置小组组长:当班第一责任者副组长:当班班长成员:当班全体人员水灾事故现场处置运输巷顶板突发性涌水突水点不易堵应采取疏导措施现场人员应尽量使涌水沿水沟流入水仓同时清理水沟及两侧的浮煤、杂物减少进入水仓的杂物。演练情景调度室接警、处警、矿井水灾应急演练小组成立、应急指挥、协调情况。地点:调度室接警、处警时分调度室接到现场报警后迅速向值班矿长和应急救援领导小组组长(矿长)汇报同时通知水灾应急演练指挥部有关人员到调度室待命根据指挥部意见启动水灾应急演练方案。矿井水灾应急演练小组成立时分矿井应急演练领导小组成员接到通知后到达调度室矿井应急演练小组随即成立。应急指挥调度室电话通知各井下人员撤离。应急结束:时分中央水仓向救援小组汇报:中央水仓工作、备用水泵工作正常。时分机巷汇报:排水路线(自流)沿途浮渣、浮煤、杂物已清理干净机巷底板突水沿水沟流入井底水仓。调度室接到各处水灾应急演练情况汇报立即报告应急演练小组应急救援小组经过认真研究分析认为本次水灾应急演练目标已全部实现宣布水灾应急演练全部结束恢复正常状态。演练工作准备分析演练需求人力资源需求掘进队人(其中一名跟班干部三名班长井下名职工井上名职工)机电队人安检队人调度室人、机电队中央水仓水泵司机人。场地资源需求运输巷调度室物资器材需求A、运输巷掌子头后m供水管路安装三通一个演练开始后打开阀门作为模仿水灾水源B、铁锨、镐各把(机巷演练挖水沟、请浮渣用)文件资料准备采掘工程平面图套确定演练范围本次应急演练为矿一级应急演练包括:机巷水灾事故现场掘进队处理水灾事故的应急演练调度、指挥系统处理水灾事故应急演练演练实施演练过程控制演练启动方式年月日:演练总指挥宣布应急演练开始调度室电话通知通知运输巷演练开始掘进队接到通知后开动预先准备的演练水源演练正式启动。演练实施的步骤演练启动掘进队通知调度室:运输巷发生老窑突水位置、突水大致水量、老窑突水人员撤出情况、支援需要以及现场处置方法掘进队突水现场疏、堵、排措施的落实调度室的应急响应调度、指挥系统成立应急演练小组根据各演练场地汇报决定演练是否结束、应急演练记录的要求演练记录由演练评估组人员填写演练评估组人员可根据演练具体情况增加内容演练记录要求做到客观真实演练记录由调度室负责保存。应急演练记录表格如下:应急演练记录(场景)演练时间年月日地点机巷参演单位掘进队水灾事故发生撤人:、当班第一责任者发现老窑突水立即通知班长撤人通知的时间、班长带领全部人员撤离到回风石门撤人的速度及时间、当班第一责任在人员全部撤出后最后撤离当班第一责任者撤至运输石门盘口的时间、由当班第一责任者在运输石门盘口清点人数清点人数后记录撤人所用的时间及人员撤出情况报警:当班第一责任制在人员全部撤出后立即电话报警记录报警的时间及内容:、老窑突水位置、老窑突水大致水量、老窑突水人员撤出情况、支援需要以及现场处置方法。现场处置小组成立:当班第一责任者报警后负责成立水灾事故现场处置小组:组长:当班第一责任者副组长:当班班长成员:当班全体人员水灾事故现场处置现场处置小组分两队第一队由当班第一责任者带领第二队由当班班长带领。、第一队负责从老窑突水位置至回风上山段清理。、第二队负责从回风石门交叉口至水仓入水口段清理。记录现场处置小组的分队情况水沟的清理情况及水灾演练涌水流入水仓是否夹有杂物记录人签名应急演练记录(场景)演练时间年月日地点调度室参演单位调度室接警、处警、调度室调度员接到现场报警后向值班矿长汇报事故情况、调度员向矿长汇报事故情况、调度员通知应急演练指挥部人员到调度室待命、水灾应急演练指挥部人员到位情况记录调度员接到事故报警后通知水灾应急演练指挥部人员的时间所通知人员到达调度室的时间矿井水灾应急演练小组成立记录水灾应急演练小组成立的时间演练小组成立后分析判断灾情此次演练灾情不足以水淹矿井矿井排水系统有能力排水决定立即中央水仓工作及备用水泵全力排水。应急指挥:水灾应急演练小组分析判断灾情后立即通知调度员调度员立即电话通知中央水仓开动工作及备用水泵全力排水记录调度员通知两个水仓的时间两个水仓工作人员接到调度室电话的时间。应急结束:记录中央水仓向救援小组汇报:中央水仓工作、备用水泵工作正常检修水泵是否能够随时更换。记录机巷汇报:排水路线(自流)沿途浮渣、浮煤、杂物已清理干净机巷老窑突水沿水沟流入井底水仓。记录调度室接到各处汇报调度员将情况汇报应急演练小组应急演练小组经过综合分析确定应急演练目的已到达具备应急演练结束的条件应急演练小组长宣布应急演练结束现场矿领导安排参演队伍回到本职岗位各工作地点恢复到正常状态。记录人签名应急演练结束与终止应急演练结束的条件运输巷演练涌水。应急演练评估应急演练评估方法应急演练采用表格评估法评估人员利用提前设计评估表进行跟踪评定。演练评估报告有策划部文案组编写演练评估报告的主要内容一般包括演练执行情况、预案的合理性与可操作性、应急指挥人员的指挥协调能力、参演人员的处置能力、演练目标的实现情况、对完善预案的建议等。应急演练评估标准水灾应急演练评估表演练评价分数序演练评价标准得分号目标好中差当班第一责任者发现老窑突水立即通知班长场水灾景事故撤人。发生班长带领全部人员撤离到轨道石门盘口撤人撤人的速度及时间。当班第一责任在人员全部撤出后最后撤离当班第一责任者撤至轨道石门盘口的时间。由当班第一责任者在轨道石门盘口清点人数清点人数后记录撤人所用的时间及人员撤出情况。报警的及时性底板突水位置报报警底板突水大致水量警内底板突水人员撤出情况容支援需要以及现场处置方法现场现场处置小组成立的及时性处置小组在灾害面前现场处置小组应急状态(好、坏、成立差)现场处置小组处理灾情的分工水灾现场处置小组处理灾情的积极性事故现场水沟清理情况处置演练涌水进入水仓前是否有杂物调度室调度员接到现场报警后向值班矿长汇报事故情况接警、处警调度员向矿长汇报事故情况场调度员通知应急演练指挥部人员到调度室待命景水灾应急演练指挥部人员到位情况矿井水灾应急演练小组成立的及时性水灾应急演练水灾应急演练小组分析判断灾情的正确性小组成立机巷汇报:排水路线(自流)沿途浮渣、浮煤、杂物已清理干净机巷底板突水沿水沟流入主井水仓。调度室接到各处汇报调度员将情况汇报应急演练小组应急演练小组经过综合分析确定应急演练目的已到达具备应急演练结束的条件应急演练小组长宣布应急演练结束。合计演练安全注意事项为确保演练参与人员的安全应急演练必须遵守以下规定:、演习过程中所有消息或沟通必须以“这是一次水灾事故应急演练”作为开头或结束语以便保证演习人员和可能受其影响的人员都知道这是一次模拟紧急事件、参与演练的所有人员必须遵守有关规章制度和安全技术措施严禁违章作业。、各参演队伍和人员在演练过程中必须听从现场领导的统一指挥在指定的安全处待命并不得阻断人行道。、现场参演人员不得随意开动各种机电设备。、当出现真实的紧急情况时现场人员要在现场领导的统一安排下迅速回到本职岗位。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/30

java骑士飞行棋 小游戏

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利