- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编贪吃蛇课程设计附源码精品
1程序简介贪吃蛇游戏是一个经典小游戏,在封闭的围墙里面,通过键盘的上下左右控制蛇的方向,寻找随机出现的食物。蛇头撞到食物,则食物被吃掉,蛇身体长度+1,同时记100分,蛇的身子越吃越长,身子越长玩的难度就越大,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。2程序设计2.1程序分析程序初始化:加载在数据段定义好相关的提示信息以及储存蛇身的数组,主要是如何开始游戏的提示信息蛇的移动:程序的关键是表示蛇的图形以及蛇的移动。一开始用4个小矩形表示蛇的身体,每吃一个食物,身体增加一个矩形,移动时必须从蛇头开始,所以蛇不能向相反方向移动,蛇头的前进方向也就是蛇的方向,蛇尾不能改作蛇头。设置一个等待时间,如果不按任何按键,蛇在当前方向上前进。按了有效的方向键后,先确定蛇头的位置然后蛇身体随着蛇头移动,图形的实现是从蛇头的新位置开始画出蛇,这时由于没有清屏的原因,原来蛇的位置和新蛇的位置相差一个单位,所以看起来蛇会多一节身体。食物的产生:通过一系列运算产生在要求范围内的的随机数,此时的随机数便是随即点,可以通过产生的随即点的坐标画出随即点,也就是食物了。蛇吃食物: 蛇头的位置可以与随即点的位置坐标判断,如果此时两点的坐标是相同的,那么该食物被蛇吃掉,蛇的长度+1。判断游戏结束的条件: 当蛇的头部位置坐标与边界坐标重合或者蛇头的位置与自身相重合,游戏结束 暂停: 游戏过程中,按空格键可以使游戏暂停,在按空格键进入被暂停的游戏2.2游戏流程由程序分析知,该游戏是用方向键实现贪吃蛇的移动,游戏大概流程分为:游戏初始化(描绘围墙、蛇体、食物等及其颜色),游戏过程(通过四个方向键控制蛇头带动身体移动),游戏结束(显示总分并判断是否重新游戏)。2.3程序流程图2.4数据定义及重要函数数据定义及键盘扫描码 数据定义: Len db ? ;蛇的长度Body dw 200 dup(0) ;蛇的身体位置Direction dw 256Score db Score00000 ;得分snake_color db 0ah ;蛇颜色food_color db 0ch ;食物色speed db 0 ;速度gameover db 0 ;游戏结束标记Point db 0 ;得分数foodX dw ? ;食物坐标foodY dw ?seed dw 2 ;随即数种子键盘扫描码:LEFT EQU 4BhRIGHT EQU 4DhUP EQU 48hDOWN EQU 50hQUIT EQU 01hSPACE EQU 39h main函数 主函数首先加载定义好的数据,设置图形模式大小,调用显示开始提示信息的函数,中断等待用户按键输入,判断退出或开始游戏。进入游戏,重新设置图形模式,调用rec,clear_area,getfood,run_sanke函数分别打印边框,初始化蛇,随机食物,开始运动蛇。当蛇死亡时,中断,等待用户输入,根据用户的输入继续游戏或退出程序。main proc farmov ax , @datamov ds , axstart:mov ah , 00mov al , 12hint 10h ;设置图形模式640*480call show_start_msg ;显示开始提示信息call show_titlemov ah , 00hint 16h ;等待按键cmp ah , QUIT jz dos ;ESC则退出,否则进入游戏game_start:mov ah , 00 ;设置图形模式320*200,游戏在此模式下运行mov al , 13hint 10h mov cl , 7 ;边框颜色mov si , 59mov bx , 19Init_snake ;初始化蛇call getfood ;得到第一个食物call run_snake ;开始运动蛇mov dx , 1010h ;设置光标call SetGb ;设置光标位置mov bl , white ;显示死亡信息lea bp , msg3mov cx , 13call Msg ;显示字符串mov dx , 1605hmov bl , white ;显示提示信息lea bp , msg5mov cx , 29call Msgexit_loop:mov ah , 00hint 16h ;等待按键cmp ah , QUITjz startcmp ah , SPACEjz game_startjmp exit_loop ;返回开始dos:mov ah , 00mov al , 03int 10h ;设置文本模式mov ah , 4chint 21h ;退出到DOSmain endp Run_snake函数
您可能关注的文档
- 民政局敬老院洗衣房、库房施组精品.doc
- 民生小区基础配套设施工程施工方案精品.doc
- 民族精神弘扬思想政治教育的影响开题报告精品.doc
- 民族村旅游休闲服务中心建设工程项目可行性研究报告精品.doc
- 民生工程全椒县(十字镇)农村道路畅通工程施工组织设计精品.docx
- 民用住宅楼消防预案精品.doc
- 民生通信论文《通信电子电路噪声干扰及克服方法》精品.doc
- 毕业设计论文-恒压变频供水系统设计营销研究.docx
- 民航论文开题报告海南航空公司服务质量现状及发展策略精品.doc
- 气体灭火投标文件对策分析.doc
- 汕头市泰山路北延一期建设工程旁站方案对策分析.doc
- 汕头市海洋经济发展“十二五”规划对策分析.doc
- 汝陶茶具研制汝州市科技攻关计划项目申报书对策分析.doc
- 汕头市澄海区OTC感冒药销售与使用状况调查研究论文对策分析.doc
- 汕湛高速公路揭博项目桩板墙专项施工方案对策分析.docx
- 江苏安全技术职业学院新能源汽车检测与维修实训室设备招标文件(正式)精品.docx
- 江苏电力公司生产技能人员职业技能知识测试标准题库第12分册精品.docx
- 江苏永鸿巴布洛智慧生态农业谷(生态养生养老)建设项目可行性研究报告精品.docx
- 永西区间风井盾构进出洞注浆施工方案推荐.docx
- 汕头市广澳中学校园闭路监控系统询价文件及设计方案对策分析.doc
最近下载
- GB+39496-2020尾矿库安全规程.docx VIP
- 衡水体英文字母字帖.pdf VIP
- 聚酰亚胺 化学、结构与性能的关系及材料.pdf VIP
- 2025-2026学年小学信息技术(信息科技)五年级上册重大版(2023)教学设计合集.docx
- 迎春杯历年试题全集(上).pdf VIP
- 建筑结构检测鉴定与加固课程-第7章 钢结构加固.ppt VIP
- PW5300_2.0数据手册下载.pdf VIP
- 建筑结构检测鉴定与加固课程-第8章 建筑结构的改造.ppt VIP
- 重大版小学信息技术教案四年级上册教案.doc VIP
- 多因子选股系列研究之十八:成交量激增与骤降时刻的对称性与“一视同仁”因子构建.pdf VIP
文档评论(0)