




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/5/29,贪吃蛇游戏的汇编实现,byLXandLPC,2020/5/29,byLXandLPC,主要内容,2020/5/29,byLXandLPC,研究内容和预期目标,研究内容:基于ZDGDTH-1型80C51实验开发系统,用汇编语言实现贪吃蛇游戏的基本功能。基本功能包括:贪吃蛇的柔性运动:即每一次移动,后一个点取代了前面一个点前一时刻的位置)。这种运动既是受玩家按键控制的,也是根据当前难度等级定时执行的。蛇身的加长:产生位置随机的豆子,当蛇头碰到豆子时,蛇身长度加一。游戏状态的显示:当吃到豆子后,玩家分数增加,等级增加,长度增加等状态的实时显示。贪吃蛇死亡判断:当蛇头碰到四周的墙壁或者碰到蛇身时,游戏结束。,2020/5/29,byLXandLPC,研究内容和预期目标,预期目标在完成上述基本游戏功能的基础上,为了增加游戏性,还需要实现以下次要功能:开机画面:开机显示欢迎语。结束画面:游戏死亡时显示结束语。音效:在游戏的不同阶段播放不同音乐以增加趣味。难度选择:在游戏开始前选择游戏的难度,难度越高,蛇的自动运行速度越快。暂停和复位:保证游戏程序运行的循环性、完整性。扩展功能:设置不同分值的豆子等。,2020/5/29,byLXandLPC,技术路线和具体实现方法,技术路线:硬件使用:ZDGDTH-1型80C51实验开发系统一套,包括:8*16双色LED点阵6位静态数码管4*4矩阵键盘蜂鸣器软件使用:KeiluVision2仿真软件,2020/5/29,byLXandLPC,技术路线和具体实现方法,技术路线:8*16双色LED点阵开机“HELLO”欢迎界面等级“LEVEL”选择界面地图“MAP”选择界面游戏“INIT”初始界面游戏运行过程显示界面结束“OVER”显示界面静态数码管游戏状态显示(从左到右第一位为当前等级,二三两位为当前长度,最后三位为当前分数)开机时显示“start”欢迎界面,2020/5/29,byLXandLPC,技术路线和具体实现方法,4*4矩阵键盘各种按键设置:复位(RST)静音(MUTE)确认(ENTER)暂停(PAUSE)数值选择(15)停止(不按键)蜂鸣器产生背景音乐:欢迎音乐(TANKEGAME)、按键音乐(重音1)吃普通豆子(567)吃特殊豆子(165)结束音乐(真善美的小世界),2020/5/29,byLXandLPC,技术路线和具体实现方法,具体实现方法:主函数T0中断函数,2020/5/29,byLXandLPC,技术路线和具体实现方法,GAME_RUN函数程序的两套坐标表示方法、模拟RAM区柔体运动的实现方向的保存和获取循环队列的使用随机豆子的产生游戏结束的判断,byLXandLPC,技术路线和具体实现方法,GAME_RUN函数所调用函数:DISPLAY_SMG_STATEDISPLAY_LOOPBEAN_CREAT(产生一般豆子)BEAN_CREAT2(产生加分豆子)SAVE_HEAD_DIRECTION(保存蛇头运动方向)GET_TAIL_DIRECTION(获得蛇尾运动方向)GET_NEW_XY(获得蛇头或尾新坐标)XY2ADDR(坐标到字节地址和位地址转化)SET_XY(坐标地址置位)CLR_XY(坐标地址清零)跳出判断:碰到蛇身或墙壁(位地址数相与为1),2020/5/29,2020/5/29,byLXandLPC,技术路线和具体实现方法,8*16双色LED:WEL_DISPLAY查询WEL_END标志,调用DISPLAY_LOOP函数LEVEL_DISPLAY查询GAME_READY标志,调用DISPLAY_LOOP函数MAP_DISPLAY查询GAME_MAP标志,调用DISPLAY_LOOP函数OVER_DISPLAY调用KEY_OPERATE_RST函数,查询GAME_OVER标志,调用DISPLAY_LOOP函数,2020/5/29,byLXandLPC,技术路线和具体实现方法,8*16双色LED:GRAPHIC_SHIFT用于开头HELLO图案的左移DISPLAY_LOOP将8*16LED点阵映射为30H3FH这16个字节,每次扫描一行。遇到带颜色的蛇头、豆子另外处理MOVELOOP将需要显示的图形数据从ROM移入RAM模拟区REDEN_L、REDEN_R、ADJUST_LEFT2、ADJUST_RIGHT、ADJUST_LEFT、ADJUST_RIGHT颜色调整函数OUT_DATA_LED产生节拍,串行输出八位数据,2020/5/29,byLXandLPC,技术路线和具体实现方法,6位静态数码管DISPLAY_SMG_STATE将等级、蛇长、分数显示DISPLAY_SMG_START开机显示STARTOUT_DATA_SMG产生节拍,串行输出八位数据,2020/5/29,byLXandLPC,技术路线和具体实现方法,4*4矩阵键盘:KEY_CHECK查询按键,读入键值KEY_OPERATE根据不同键值,置标志位包括:KEY_OPERATE_WELKEY_OPERATE_LEVKEY_OPERATE_MAPKEY_OPERATE_INITKEY_OPERATE_GAMEKEY_OPERATE_RST消除连击的方法(键值持续相同则不操作),2020/5/29,byLXandLPC,技术路线和具体实现方法,蜂鸣器函数(FUNCTION):MUSIC_INTER音乐中断,产生不同音调MUSIC_INITIAL音乐初始化,DPTR指向MUSIC_PLAY音调装载节拍计数,关T1结束用单定时器(T1)播放音乐,2020/5/29,byLXandLPC,遇到的问题和解决方案,硬件按键连击端口驱动能力定时器个数受限软件存储空间和算法效率(模拟RAM区、循环队列)三种颜色的处理工作寄存器组的选择SP指针音乐谱的编写,2020/5/29,遇到的问题和解决方案,程序调试产生豆子的随机数TL0未固定寄存器组使用重叠RAM地址定义重叠SUBB使用前未(CLRC)时钟方式未预先设置置位和清零对相应位操作,而非字节内容,2020/5/29,byLXandLPC,最终实现的效果,基本功能:蛇身运动的控制暂停、重启等游戏流程控制音乐(开机和结束音乐、静音)扩展:按键音、吃豆子音第二颗加分豆子第二种游戏模式的开发游戏自动升级,2020/5/29,byLXandLPC,END,Th
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南昌市劳动保障事务代理中心招聘统计监测劳务外包工作人员1人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025江苏苏州高新区(虎丘区)机关车队公益性岗位招聘3人模拟试卷附答案详解
- 2025年河北张家口市专职消防队伍管理中心第一批政府专职消防员招聘160名模拟试卷及参考答案详解一套
- 2025年北京师范大学海口附属学校春季面向全国招聘78人考前自测高频考点模拟试题完整参考答案详解
- 小学英语单词拼写练习题汇编
- 张根硕的课件
- 分布式账本技术在能源交易中的应用-洞察及研究
- 2025广西那坡县农业机械化服务中心基层农技推广体系改革与建设补助项目招募特聘农技员2人考前自测高频考点模拟试题附答案详解(典型题)
- 分布式并行算法研究-洞察及研究
- 2025杭州高新区(滨江)教育局所属事业单位直接考核招聘幼儿园聘用制教师13人模拟试卷及完整答案详解
- 铝材厂跟单员培训课件
- 林则徐虎门销烟课件
- BIM概述课件教学课件
- 退火炉施工方案(3篇)
- 高层办公楼消防知识培训课件
- 农作物施肥精准手册
- 健身房股东协议合同范本
- 医疗机构医疗质量安全专项整治行动自查自纠报告
- 待灭菌物品的装载
- 《急性肺栓塞诊断和治疗指南2025》解读
- 2025年职业病诊断医师考核试题(答案)
评论
0/150
提交评论