贪吃蛇游戏的汇编实现.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
by LX and LPC LOGO by LX and LPC 贪吃蛇游戏的汇编实现 ——by LX and LPC * * 主要内容 研究内容和预期目标 1 技术路线与实现方法 2 遇到的问题和解决方案 3 最终结果 4 收获与体会 5 by LX and LPC 研究内容和预期目标 研究内容: 基于ZDGDTH-1型80C51实验开发系统,用汇编语言实现贪吃蛇游戏的基本功能。 基本功能包括: 贪吃蛇的柔性运动:即每一次移动,后一个点取代了前面一个点前一时刻的位置)。这种运动既是受玩家按键控制的,也是根据当前难度等级定时执行的 。 蛇身的加长:产生位置随机的豆子,当蛇头碰到豆子时,蛇身长度加一。 游戏状态的显示:当吃到豆子后,玩家分数增加,等级增加,长度增加等状态的实时显示。 贪吃蛇死亡判断:当蛇头碰到四周的墙壁或者碰到蛇身时,游戏结束。 * by LX and LPC 研究内容和预期目标 预期目标 在完成上述基本游戏功能的基础上,为了增加游戏性,还需要实现以下次要功能: 开机画面:开机显示欢迎语。 结束画面:游戏死亡时显示结束语。 音效:在游戏的不同阶段播放不同音乐以增加趣味。 难度选择:在游戏开始前选择游戏的难度,难度越高,蛇的自动运行速度越快。 暂停和复位:保证游戏程序运行的循环性、完整性。 扩展功能:设置不同分值的豆子等。 * by LX and LPC * 技术路线和具体实现方法 技术路线: 硬件使用: ZDGDTH-1型80C51实验开发系统一套,包括: 8*16双色LED点阵 6位静态数码管 4*4矩阵键盘 蜂鸣器 软件使用: Keil uVision2仿真软件 by LX and LPC * 技术路线和具体实现方法 技术路线: 8*16双色LED点阵 开机“HELLO”欢迎界面 等级“LEVEL”选择界面 地图“MAP”选择界面 游戏“INIT”初始界面 游戏运行过程显示界面 结束“OVER”显示界面 静态数码管 游戏状态显示(从左到右第一位为当前等级,二三两 位为当前长度,最后三位为当前分数) 开机时显示“start”欢迎界面 by LX and LPC * 技术路线和具体实现方法 4*4矩阵键盘 各种按键设置: 复位(RST) 静音(MUTE) 确认(ENTER) 暂停(PAUSE) 数值选择(1~5)停止(不按键) 蜂鸣器 产生背景音乐: 欢迎音乐(TANKE GAME)、按键音乐(重音1) 吃普通豆子(567)吃特殊豆子(165) 结束音乐(真善美的小世界) by LX and LPC * 技术路线和具体实现方法 具体实现方法: 主函数 T0中断函数 by LX and LPC * 技术路线和具体实现方法 GAME_RUN函数 程序的两套坐标表示方法、模拟RAM区 柔体运动的实现 方向的保存和获取 循环队列的使用 随机豆子的产生 游戏结束的判断 蛇尾→ → ↑ ↑ 蛇头→ ··· ··· ··· ··· ··· → 蛇尾→ ↑ ↑ → 蛇头↓ ··· ··· ··· ··· by LX and LPC Company Logo 技术路线和具体实现方法 GAME_RUN函数所调用函数: DISPLAY_SMG_STATE DISPLAY_LOOP BEAN_CREAT(产生一般豆子) BEAN_CREAT2(产生加分豆子) SAVE_HEAD_DIRECTION(保存蛇头运动方向) GET_TAIL_DIRECTION(获得蛇尾运动方向) GET_NEW_XY(获得蛇头或尾新坐标) XY2ADDR(坐标到字节地址和位地址转化) SET_XY (坐标地址置位) CLR_XY (坐标地址清零) 跳出判断:碰到蛇身或墙壁(位地址数相与为1) * * 技术路线和具体实现方法 8*16双色LED: WEL_DISPLAY——查询WEL_END标志,调用DISPLAY_LOOP函数 LEVEL_DISPLAY——查询GAME_READY标志,调用DISPLAY_LOOP函数 MAP_DISP

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档