《骑士飞行棋java》由会员分享,可在线阅读,更多相关《骑士飞行棋java(30页珍藏版)》请在金锄头文库上搜索。
1、漆呢锗懈资辜粮催浅输肘载焰庙漆儡腮钮放叭熊矮穆芳围捷羚竹西未贰思骑士飞行棋java骑士飞行棋java骑士飞行棋骑士飞行棋骑士飞行棋骑士飞行棋僻见渠凰聊真蔑巧泛吧棕萄纸洁钡页旬美杖梗枫痉丰垮悯售泪声娟盎授炼骑士飞行棋java骑士飞行棋java问题描述问题描述开发一款开发一款Java小游戏小游戏骑士飞行棋骑士飞行棋游戏规则和传统的飞行棋一样,支持两人对战游戏规则和传统的飞行棋一样,支持两人对战采用采用100格小型游戏棋盘格小型游戏棋盘游戏规则:对战双方轮流掷骰子控制自己的骑兵前进或后退,在游戏规则:对战双方轮流掷骰子控制自己的骑兵前进或后退,在游戏棋盘上设置有关卡游戏棋盘上设置有关卡普通普通地雷地
2、雷暂停暂停 时空隧道时空隧道幸运轮盘(提供两种运气:交换位置和轰炸)幸运轮盘(提供两种运气:交换位置和轰炸) 棋盘上的关卡只在骑兵第一次移动遇到时有效棋盘上的关卡只在骑兵第一次移动遇到时有效辟讼抬鲁范岳隧惩糯蚕介否纵缓伸鬼珍馋抒轻犬麓眼氟鸦庶殖趾款膜喜颇骑士飞行棋java骑士飞行棋java2问题分析问题分析-1 设计骑士飞行棋的棋盘设计骑士飞行棋的棋盘 使用字符显示棋盘使用字符显示棋盘前进方向前进方向起起点点终终点点幸运轮盘幸运轮盘地雷地雷时空隧道时空隧道暂停暂停普通普通揉碍悟麦果踢赡铜耀酸强饵律脓氛枝埔需驹簇何兴啤收奏职赊眉膜士狡锑骑士飞行棋java骑士飞行棋java3问题分析问题分析-2根
3、据需求分析对象根据需求分析对象对战地图类(对战地图类(Map) 功能:在控制台显示棋盘,并显示当前玩家在棋盘中所处的位置功能:在控制台显示棋盘,并显示当前玩家在棋盘中所处的位置 游戏类(游戏类(Game) 功能:实现游戏初始化设置、展示游戏开始界面以及角色设置、功能:实现游戏初始化设置、展示游戏开始界面以及角色设置、控制游戏进度、实现游戏规则、以及游戏结束后结果评判控制游戏进度、实现游戏规则、以及游戏结束后结果评判测试类(测试类(StartGame) 功能:启动游戏功能:启动游戏吭锣滋瘪划起讨敲挤驴口葡根闷佰讹疡罩脸职祟铰胖辞叮派剂顷做娄棕堰骑士飞行棋java骑士飞行棋java4难点分析难点分
4、析-1实时动态显示对战地图实时动态显示对战地图地图信息以整型数据存储在数组中地图信息以整型数据存储在数组中int map = new int100; /对战地图对战地图00001021344普通普通幸运轮盘幸运轮盘地雷地雷暂停暂停时空隧道时空隧道 099数组下标数组下标咒梆龋摘杭手旱哲些哈虫南化峭亡伐纵款苹檄成叮恕蔫帮辊筐嵌感铺撂柯骑士飞行棋java骑士飞行棋java5难点分析难点分析-2实时动态显示对战地图实时动态显示对战地图将对战地图划分成将对战地图划分成4个部分分别显示个部分分别显示奇数行:顺序输出地图数组中代号对应图像奇数行:顺序输出地图数组中代号对应图像右竖行:先输出空格,再输出数组
5、中代号对应图像右竖行:先输出空格,再输出数组中代号对应图像偶数行:逆序输出地图数组中代号对应图像偶数行:逆序输出地图数组中代号对应图像左竖行左竖行for(int i = end-1; i = start; i- ) /输出数组中输出数组中i位置处对应图像位置处对应图像for(int i = start; i end; i+) /输出数组中输出数组中i位置处对应图像位置处对应图像促亲熏秤吉愚俏谢娠卖驶十疮去叹誊膘冤励贼吴腔主慑袒奄滋孙账绵模瑶骑士飞行棋java骑士飞行棋java6难点分析难点分析-3实现游戏控制实现游戏控制两个玩家轮流掷骰子,如果上轮走到暂停关卡,停掷一次两个玩家轮流掷骰子,如果
6、上轮走到暂停关卡,停掷一次/显示游戏开始显示游戏开始while(playerPos1 99 & playerPos2 99) /任意一个人走到终点,跳出循环任意一个人走到终点,跳出循环 /玩家玩家1掷骰子掷骰子 if(goAndStop0.equals(on) /掷骰子获得移动的步数掷骰子获得移动的步数 /移动移动 if(playerPos1 = 99) /走到终点走到终点 break; /退出退出 else /提示此轮停掷提示此轮停掷 goAndStop0 = on; /设置下次状态设置下次状态 /玩家玩家2 掷骰子掷骰子 /显示游戏结束并进行评判显示游戏结束并进行评判拦乳其意灾迭伺凡聂缴锚
7、芍川尔路挎邑俞简二拉巳句翟杭囤伺慕去饰契惯骑士飞行棋java骑士飞行棋java7难点分析难点分析-4实现游戏规则实现游戏规则关键:当移动到某一点遇到关卡时,怎么办?前进?后退?关键:当移动到某一点遇到关卡时,怎么办?前进?后退? 停止停止?switch(i) case 0: /普通格普通格 if(对方在此格对方在此格) /对方被炸回起点对方被炸回起点 case 1: /幸运轮盘幸运轮盘 /选择和对方交换位置选择和对方交换位置做交换做交换 /选择轰炸对方选择轰炸对方对方退对方退6步步 case 2: /地雷地雷 /退后退后6步步 case 3: /暂停键暂停键 /设置设置goAndStop为为o
8、ff,标识下轮暂停,标识下轮暂停 case 4: /时空隧道时空隧道 /再前进再前进10步步菲椽南逸吐奥赖盖召摊抽参匙补膏裂英国趣辫姥涌井悠逊披珐侨桔傍邻昆骑士飞行棋java骑士飞行棋java8难点分析难点分析-5实现游戏角色并开始两人对战实现游戏角色并开始两人对战显示游戏界面显示游戏界面提示设置角色提示设置角色开始游戏开始游戏招闷赘硝弃驼渔殆肃咙堤诫另叁鲍巾筹狂饰乐凛蓝荆刨魔硅匪蕴丰职伸宜骑士飞行棋java骑士飞行棋java9阶段划分阶段划分第一阶段(第一阶段(15分钟)分钟)阅读阅读Map类中已提供的代码类中已提供的代码 第二阶段(第二阶段(40分钟)分钟)完成完成Map类两个方法:生成对
9、战地图、获得地图当前位置的输类两个方法:生成对战地图、获得地图当前位置的输出图像出图像第三阶段(第三阶段(40分钟)分钟)完成并测试完成并测试Map类:动态显示对战地图类:动态显示对战地图第四阶段(第四阶段(55分钟)分钟)编写游戏类:类属性、游戏初始化设置、游戏界面以及角色设编写游戏类:类属性、游戏初始化设置、游戏界面以及角色设置置第五阶段(第五阶段(65分钟)分钟)完成游戏类:游戏控制、游戏规则完成游戏类:游戏控制、游戏规则第六阶段(第六阶段(25分钟)分钟)编写测试类:测试游戏编写测试类:测试游戏综椽汽峡转阔你捞淆惩褥栗惭壕与厚袭脉诱祝哲对姑响纱怕蕉渤沟宝掏脸骑士飞行棋java骑士飞行棋
10、java10第一阶段第一阶段第一阶段(第一阶段(15分钟)分钟)利用利用Eclipse创建工程,项目所需包创建工程,项目所需包导入导入Map.java文件到包中文件到包中阅读阅读Map类已给出的代码,明确方法之间的调用关系类已给出的代码,明确方法之间的调用关系要求学员自己动手完成,教员巡视,解答学员提出的问题要求学员自己动手完成,教员巡视,解答学员提出的问题圣角碗叮中滴彭领息堪厚吝褂雅值督露郸险旋课怜洞搭终俘氨茧揉洞珠茬骑士飞行棋java骑士飞行棋java11阶段检查阶段检查教员发放项目案例相关文档教员发放项目案例相关文档针对第一阶段抽查学员的操作结果针对第一阶段抽查学员的操作结果教员给出点评
11、教员给出点评孩绍扛购锈丰慧寅训狠译扣肇跋偷声不隘号撬楞杉辞蛾渴组嘛酵娶遂告刨骑士飞行棋java骑士飞行棋java12第一阶段结果演示第一阶段结果演示简单讲解简单讲解Map类方法之间的调用关系类方法之间的调用关系createMap()showMap()showLine1()showLine2()showRLine()showLLine()getGraph()颜悸何堑抓劈沈枢淌诉滚旁哺蔬镍继伏锑鄙飘衫净霜婆泼胶祥著遍箕仰苔骑士飞行棋java骑士飞行棋java13第二阶段第二阶段第二阶段(第二阶段(40分钟)分钟)编写编写Map类的方法类的方法createMap()生成对战地图生成对战地图编写编写M
12、ap类的方法类的方法getGraph()获得地图当前位置的输出图像获得地图当前位置的输出图像要求学员自己动手编写,教员巡视,解答学员提出的问题要求学员自己动手编写,教员巡视,解答学员提出的问题哺叁蠕颂伸汞丢挠粮醇疙梅赵欧穗灌筏柜习哆斡忿缺家茂军确扛文宝端勿骑士飞行棋java骑士飞行棋java14阶段检查阶段检查针对第二阶段抽查学员的编码结果针对第二阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解抽查学员编写的完整代码,要求学员上台讲解教员给出点评或集中演示难点部分教员给出点评或集中演示难点部分圃赚疫凸蔡裴深砷耿陀栏产升橙传媒瘟肠覆曙阔辕算萨秃询潭量茫皿瓶蝶骑士飞行棋java骑士飞
13、行棋java15第二阶段标准代码演示第二阶段标准代码演示地图地图类类: Map.java通限洱苫佑宾殴尹嘶喘去是瓣苫墩间冉炮槛棺庭扛亭块跃荚兄箩烂赡铰道骑士飞行棋java骑士飞行棋java16第三阶段第三阶段第三阶段(第三阶段(40分钟)分钟)阅读阅读Map类类getLine2()编写编写Map类类getLine1():实现输出地图奇数行:实现输出地图奇数行阅读阅读Map类类getRLine()编写编写Map类类getLLine():实现输出地图左竖行:实现输出地图左竖行测试测试Map类类要求学员自己动手编写,教员巡视,解答学员提出的问题要求学员自己动手编写,教员巡视,解答学员提出的问题址曰椭
14、皮决到诀葫景署豢纫澡潜剃酣柱诽侠钒屉须船终嫌那式溯膳军啄阶骑士飞行棋java骑士飞行棋java17阶段检查阶段检查针对第三阶段抽查学员的编码结果针对第三阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解抽查学员编写的完整代码,要求学员上台讲解教员给出点评或集中演示难点部分教员给出点评或集中演示难点部分虞蔗鹤二眷昔哑修醛汞这跃暇糕套留敛均枉辟鹏凯沮蔽逃隔揍毡哇愈疚魂骑士飞行棋java骑士飞行棋java18第三阶段标准代码演示第三阶段标准代码演示Map类:类:Map.java测试类:测试类:Test.java妇桓谈疏惭空嗜数荔攫归豫羊跟火古预鄙铜策试眉鄂褒溯咨缀呈栏筐便么骑士飞行棋ja
15、va骑士飞行棋java19第四阶段第四阶段第四阶段(第四阶段(55分钟)分钟)编写游戏类(编写游戏类(Game):): 实现游戏初始化设置实现游戏初始化设置 实现游戏界面及角色设置实现游戏界面及角色设置要求学员自己动手编写,教员巡视,解答学员提出的问题要求学员自己动手编写,教员巡视,解答学员提出的问题斤敖拭胺非详阑盲馈燎背技粤联口壁玲欣讽蒂霹县垦纠番销捷坍逆靠憎炎骑士飞行棋java骑士飞行棋java20阶段检查阶段检查针对第四阶段抽查学员的编码结果针对第四阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果行结果教员给
16、出点评教员给出点评勘惧掳屹翌药冷郧肢怨学宏粥兴令塑炒复遁遥翰逞宪晚腰眷自徒宰侮角钉骑士飞行棋java骑士飞行棋java21第四阶段标准代码演示第四阶段标准代码演示Game: Game.java捣撞拟箍辊宗足卓铡韧麦裳脉甲莹黍唉驹捎籍亭譬仟蒋侨蚜镶呛韧唾窟涟骑士飞行棋java骑士飞行棋java22第五阶段第五阶段第五阶段(第五阶段(65分钟)分钟)完成游戏类完成游戏类: 阅读阅读play()方法方法编写游戏类的掷骰子方法编写游戏类的掷骰子方法throwShifter() 补充代码完成补充代码完成getCurPos()方法实现游戏规则方法实现游戏规则编写编写judge()方法评判游戏结果方法评判游
17、戏结果要求学员自己动手编写,教员巡视,解答学员提出的问题要求学员自己动手编写,教员巡视,解答学员提出的问题弓洒克唐送蜕加章飘巴箍部锚瞻秀挺瞧宜们檄趟示织咋拍案庶挣布粱脑驱骑士飞行棋java骑士飞行棋java23阶段检查阶段检查针对第五阶段抽查学员的编码结果针对第五阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果行结果教员给出点评教员给出点评袜痒饰影掘侮髓靠扼壬诵扣曼坎窒劝疫呛迹咖民与府讣袁篡瞻欢淮菱翅夫骑士飞行棋java骑士飞行棋java24第五阶段标准代码演示第五阶段标准代码演示游戏类:游戏类:Game.java
18、关铡帆艾迷诊融览为吼峻光柯转氢组省炮复挫础的固揉汐政缆酶径娠歹烹骑士飞行棋java骑士飞行棋java25第六阶段第六阶段第六阶段(第六阶段(25分钟)分钟)编写测试类编写测试类StartGame:测试游戏运行:测试游戏运行要求学员自己动手编写,教员巡视,解答学员提出的问题要求学员自己动手编写,教员巡视,解答学员提出的问题片囤察丛资湍因脉慰纪锡拷募狐苹说侣蝎积叁啄苞痊课武畴千弊万撮女帚骑士飞行棋java骑士飞行棋java26阶段检查阶段检查针对第六阶段抽查学员的编码结果针对第六阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运抽查学员编写的完整代码,要求学员上台讲解,并演示
19、运行结果行结果教员给出点评教员给出点评洒楼礁淮候畔博疗虎名又奢曾她姆蛰晰仁仆汗希镁匀咯赫盂荐匹豁登萍刷骑士飞行棋java骑士飞行棋java27第六阶段标准代码演示第六阶段标准代码演示测试类:测试类:StartGame.java阵瞳摸秧味否晨绦咆铁窘今空剁金讼轿骏嘶裙抬舀弯做耻育奇受朋枉雪瞒骑士飞行棋java骑士飞行棋java28总结总结巩固知识点:巩固知识点: 条件结构:条件结构:switch/if 循环结构:循环结构:for/while/do-while 类和对象:定义类、创建对象、属性和方法的引用类和对象:定义类、创建对象、属性和方法的引用 数组:循环向数组中存取数据数组:循环向数组中存取数据 方法调用:带参方法的定义以及调用时的参数传递方法调用:带参方法的定义以及调用时的参数传递腻恿靖描饼够和胶再翻贫习糜桩利咀画烫悉径吏侨撩梭骆茎澜始斟翼毫涧骑士飞行棋java骑士飞行棋java29Thank you砖葵筒酗让映件奥睦亮岛益坞娘酚匀譬哥勾皋骂咀肩智邪潘投瑰罐耕它狮骑士飞行棋java骑士飞行棋java30