欢迎来到工友文库! | 帮助中心 工友共享,造福你我!
工友文库
全部分类
  • 行业文库 >
    行业文库
    行业标准 农林牧渔 能源矿业 电力热力 水利环境 材料技术 地理测绘 建筑工程 机械工程 制造加工 交通物流 网络计算 电气机电 信息通讯 汽车行业 航空航天 船舶工程 光电工程 住宿餐饮 财会金融 房地产业 城建规划 装饰装修 家电维修 电商行业 租赁商务 批发零售 居民服务 教育服务 医药卫生 体育行业 公共管理 图书管理 外语翻译 休闲旅游 文艺传媒 其他行业
  • 商业文档 >
    商业文档
    企业计划 工程管理 广告经营 财务报表 物业管理 质控管理 企业文化 绩效管理 商务礼仪 创业孵化 市场营销 经营企划 销售管理 营销创新 资本运营 招商加盟 合同协议 信息管理 励志材料 人事档案 员工关系 薪酬管理 招聘面试 其它文档
  • 办公文书 >
    办公文书
    统计图表 总结报告 演讲致辞 心得体会 述职报告 工作计划 解决方案 调研报告 事务文书 经验事迹 往来文书 规章制度 申请范文 求职简历 活动策划 会议纪要 党建材料 软件教程 其他文书
  • PPT模板库 >
    PPT模板库
    扁平风格 创意新颖 动画效果 动态模板 简约风格 静态模板 环保绿色 卡通风格 立体风格 欧洲风格 手绘风格 创意黑板 相册风格 星空风格 炫酷科技 中国风格 医疗风格 高端商务 工作常用 总结报告 毕业答辩 节日庆典 公益风格 化妆美容 婚礼策划 餐饮美食 培训课件 融资路演 商业策划 英文模板 党政机关 述职竞聘
  • 小学初中 >
    小学初中
    幼儿教育 小学语文 小学数学 小学英语 初中语文 初中数学 初中英语 初中物理 初中化学 初中地理 初中生物 初中政治 初中历史 思想品德 小学竞赛 初中竞赛 其他学科
  • 高中教育 >
    高中教育
    高中语文 高中数学 高中英语 高中物理 高中化学 高中生物 高中地理 高中政治 高中历史 高考资料 高中竞赛 其他学科
  • 高等教育 >
    高等教育
    基础课 艺术类 哲学类 体育类 水利类 测绘类 法学类 历史学 社会学 心理学 教育学 政治学 统计学 房地产 语言文化 生物科学 医药卫生 天文气象 地理科学 环境科学 系统科学 材料科学 机械仪表 图书档案 土建工程 海洋工程 轻工纺织 工程力学 能源动力 光电工程 电力技术 市政工程 财会金融 工商管理 语言文学 广播影视 公安司法 汽车汽修 交通运输 水产加工 植物生产 森林资源 动物科学 食品加工 餐饮旅游 公共事业 新闻传播学 农林业工程 城镇规划管理 水文与水资源 地矿及资源勘查 航空航天与武器 管理科学与工程 农林业经济管理 机电设备及自动化 计算机与信息科学 大学生竞赛资料
  • 执业资格考试 >
    执业资格考试
    财会类考试 建筑类考试 外贸类考试 外语类考试 医药类考试 管理类考试 公务员类考试 司法法律考试 教师资格考试 计算机类考试 公共服务类考试 其他资格证考试
  • 一线采风 >
    一线采风
    一线新闻 事迹宣传 工友作品
  • 教育视频 >
    教育视频
    幼儿教育视频 小学教育视频 初中教育视频 高中教育视频 大学教育视频 C#自学视频教程 软件视频教程 英语视频教学 其他教学视频
  • 换一换
    首页 工友文库 > 资源分类 > DOCX文档下载
     

    勇者大冒险飞机大战游戏设计.docx

    • 资源ID:3398       资源大小:149.80KB        全文页数:41页
    • 资源格式: DOCX        下载权限:注册会员/VIP会员    下载费用:2金币 【人民币2元】
    下载资源需要2金币 【人民币2元】
    已注册用户请登录:
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

    勇者大冒险飞机大战游戏设计.docx

    智能控制设计大赛报告书 题目勇者大冒险 学 院 专 业 队伍名 队员 上交日期 目录 一.设计任务与要求 1.1.设计任务 1.2. 设计要求 二. 方案设计 2.1. 总体方案说明 2.2. 功能模块说明 三.中央控制模块 3.1.stc12c5a60s2芯片 3.1.1. stc12c5a60s2芯片 3.1.2.stc12c5a60s2芯片内部结构 3.1.3. stc12c5a60s2芯片的工作模式 3.1.4.stc12c5a60s2芯片的外部基本引脚 3.2. 电路连接 四. 输出显示模块 4.1. LCD12864 4.1.1. LCD12864概述 4.1.2. LCD12864外部引脚 4.1.3. LCD12864工作原理 五.系统编程 六.总结 勇者大冒险 一.设计任务与要求 1.1.设计任务 利用单片机设计一款飞机大战游戏 1.2. 设计要求 基本要求 1.施贤关卡障碍、陷阱的显示(已实现) 2.用按键实现对勇者跳跃、前进、后退等动作的控制(已实现) 3.设计良好的人机界面,用于展示游戏记录、分数、关卡级别等信息(已实现) 拓展功能 1. 动作可以有对应的游戏音效,游戏背景音乐(未实现) 2. 可以有敌人出来阻碍勇者,阻碍方式不限(已实现) 3. 可采用声音强度控制人物移动(未实现) 4. 其他创新功能(开头实现关卡选择,不同难度有不同的地图和怪物分配,最后有boss关卡,完成类似马里奥一样的在某个水桶处连通到另一个地方) 二. 方案设计 2.1. 总体方案说明 该勇者大冒险游戏以stc12c5a60s2为中央处理中心,以LCD12864为显示模块,以及按键键盘为操控版面做好的游戏机模板。 2.2. 功能模块说明 系统的各个功能模块组成和功能如表1所示 表格 1 温度监控系统各功能模块组成和功能表 模块名称 使用元件 模块功能 中央控制模块 Stc12c5a60s2 对系统进行控制 数据读入模块 按键键盘 读入电压信号 输出显示模块 LCD12864 输出游戏面板 三.中央控制模块 3.1.1. STC12C5A60S2芯片内部结构 STC12c5a60s2系列单片机的内部结构图如下图所示,stc12c5a60s2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。STC12C5a60S2系列单片机几乎包含了数据采集和控制中的所需的所有单元模块,可称得上一个片上系统。 图 1 stc12c5a60s2内部结构图 3.1.2.stc12c5a60s2的外部基本引脚 STC12C5A60S2是STC生产的单时钟/机器周期1T的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场合。 1、增强型8051CPU,1T1024G,单时钟/机器周期 2、工作电压 5.5-3.5V 3、1280字节RAM 4、通用I/O口,复位后为准双向口/弱上拉 可设置成四种模式准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏 每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA 5、有EEPROM功能 6、看门狗 7、内部集成MAX810专用复位电路 8、外部掉电检测电路 9、时钟源外部高精度晶体/时钟,内部R/C振荡器 常温下内部R/C振荡器频率为5.0V单片机为1117MHz 3.3V 单片机为812MHz 10、4个16位定时器 两个与传统8051兼容的定时器/计数器,16位定时器T0和T1 11、3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟 12、外部中断I/O口7路,传统的下降沿中断或电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP0/P1.3 13、PWM2路 14、A/D转换,10位精度ADC,共8路,转换速度可达250K/S 15、通用全双工异步串行口UART 16、双串口,RxD2/P1.2,TxD2/P1.3 17、工作范围-4085 18、封装LQFP-48,LQFP-44,PDIP-40,PLCC 管脚说明 P0.0P0.7 P0P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0是一个8位准双向口,内部有弱上拉电阻,无需外接上拉电阻。当P0作为地址/数据复用总线使用时,是低8位地址线A0A7,数据线D0D7 P1.0/ADC0/CLKOUT2 标准IO口、ADC输入通道0、独立波特率发生器的时钟输出 P1.1/ADC1 P1.2/ADC2/ECI/RxD2 标准IO口、ADC输入通道2、PCA计数器的外部脉冲输入脚,第二串口数据接收端 P1.3/ADC3/CCP0/TxD2 外部信号捕获,高速脉冲输出及脉宽调制输出、第二串口数据发送端 P1.4/ADC4/CCP1/SS非 SPI同步串行接口的从机选择信号 P1.5/ADC5/MOSI SPI同步串行接口的主出从入主器件的输入和从器件的输出 P1.6/ADC7/SCLK SPI同步串行接口的主入从出 P2.0P2.7 P2口内部有上拉电阻,既可作为输入输出口8位准双向口,也可作为高8位地址总线使用。 P3.0/RxD 标准IO口、串口1数据接收端 P3.1/INT0非 外部中断0,下降沿中断或低电平中断 P3.3/INT1 P3.4/T0/INT非/CLKOUT0 定时器计数器0外部输入、定时器0下降沿中断、定时计数器0的时钟输出 A/D转换器的结构 STC12C5A60AD/S2系列带A/D转换的单片机的A/D转换口在P1口,有8路10位高速A/D转换器,速度可达到250KHz25万次/秒。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型IO口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。 单片机ADC由多路开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器以及ADC_CONTER构成。 该单片机的ADC是逐次比较型ADC。主次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位MSB开始,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。逐次比较型A/D转换器具有速度高,功耗低等优点。 需作为AD使用的口先将P1ASF特殊功能寄存器中的相应位置为‘1’,将相应的口设置为模拟功能。 STC12C5A60引脚图 3.2. 中央控制模块电路连接 因为stc12c5a60s2芯片与C51系列单片机完美兼容,因此最小系统板电路一致c51最小系统板图 四. 输出显示模块 4.1.LCD12864 4.1.1. LCD12864概述 带中文字库的128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84 行1616 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。 4.1.2. LCD12864外部引脚 LCD12864共有20个引脚,引脚图如图所示 LCD12864各引脚功能如下 1VSS,接地端 2VDD,电源正,接5V 3VO,对比度调整,一般接5V就行了 4D/ICS*,片选,也叫使能,接5V 5R/WSID*,数据输入端 6ESCLK*,时钟输入端 714DB0 DB7,并行数据总线 15PSB,串并模式选择,串行模式下接地,并行模式下接5V 16NC,空引脚,不需要连接 17RSTB,复位端,低电平有效,一般接5V就行了 18VEE,空引脚,不需要连接 19BLA,背光正极,接5V 20 BLK,背光负极,接地 4.1.3. LCD12864工作原理 12864点阵液晶显示模块(LCM)就是由128*64个液晶显示屏点组成的一个128列*64行的阵列,每个显示点对应一位二进制数,1表 示 亮,0表 示 灭,存储这些点阵信息的RAM称为显示数据存储器。要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。图形或汉字的点阵信息由自己设计,问题的关键就是点阵液晶显示模块显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。由于多数点阵液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。 (详细可参考http// 五.系统编程 该游戏我们采取的是贴图的形式,我们先做好储存游戏图形元素的二维数组,后来就通过函数直接调用二维数组中的某列,并且通过判断在字节中高低位置的字节进行改进,还有就是我们运用数组与12864屏上显示数据的统一,对屏幕的分配,我们将上面的16行作为标题行,分别显示难度级别和分数,剩下的下面48行x128列,我们将其分为6行x16列的8x8方格作为一个画图单位,我们采用draw的二维数组读取各个map数组的函数并根据其值进行定格定点的画图,在地图方面,我们采用地图段,储存地图的二维数组为6x(n x 16),然后赋予一个参数road根据road值得不同,draw二维数组指向map数组的不同段,以长度为16为一段,一开始我们是想着让人物处于屏幕的中央位置,然后人物的位置不变,整个地图向勇者前进的反方向移动,但是我们采用这个之后发现,单片机处理的速度跟不上,导致视觉效果不好,于是我们采用分为不同地图段的方法,来解决地图长度的问题。 然后在人物的移动方面,我们在人物一边跳跃一边前进的方面做的不是很好,视觉效果不太好,其次便是敌人方面,我们的敌人有三类,一是类似马里奥的蘑菇怪,可以踩死,然后我们的勇者可以在自己面向的方向使用剑,所以也可以劈死,二就是无法破坏的炮台可以定时的发射炮弹,三就是boss一条巨蛇,有血量,且每隔一段时间就会吐出球攻击勇者,勇者只有在特定的位置才能砍伤它。在游戏视觉方面,我们争取做好,因此在人物的前进和跳跃方面,函数的延时和顺序我们花了很多功夫,不过在有怪物的地图段上,因为定时器冲突的问题没有得到很好的解决,所以,有时候会出现bug,而且有一些问题不知道是硬件的问题还是什么,在游戏过程中我们没有对标题栏做出操作,但是标题栏经常会出现缺块的情况。 六.总结 本次勇者大冒险游戏的设计与制作让我们收获了很多,在硬件方面虽然没有什么很大要求,基本在上个学期就能做到,就是一个最小系统板,连接好12864以及自己焊好一个拓展键盘,最重要的还是在于软件的部分。 在刚结束的波音的自动控制设计大赛中,我们参与的是飞机大战游戏的制作,所以我们趁热打铁就决定制作勇者大冒险,这次的游戏制作,我们是沿袭了飞机大战的硬件,本来想着做好游戏就可以做背景音乐,后来,一是游戏的制作比我们想的要复杂,二是担心硬件方面出问题,所以放弃了在音乐方面的投入,另外就是,我们是在一周半里面做出来的游戏,因为之前的时间我们在准备飞机大战的制作,而且我们班的学业比较重,恰逢其中又是部门活动爆发的日子,而且我们三个又不在一个宿舍。但是我们的分工比较明确,梁智灏负责游戏的框架,画图,施贤负责勇者的移动等,梁炳祥负责敌人的出现和移动,虽然有很多因素阻挡我们,但是我们最终还是做出来了,我们分工明确,而且相互之间都有交流,不过就是在交换各自文件的时候容易出现一些细微的参数改变或者是函数内部变化没有及时提及,其实在这方面导致挺多时间浪费的。和飞机大战比较,勇者大冒险的元素和操作性要丰富很多,特别是操作方面,各种各样的判断,所以我们在这一次活动中对函数整体结构的掌控还是有个很好的认识的,而且虽然勇者大冒险的工作量远大于飞机大战,但是,我们在制作勇者大冒险的时候,效率很明显高于飞机大战的,另外一个就是对于定时器的使用,在飞机大战中,我们对定时器的使用只有一个对敌机的操作,但在这次活动里面,我们必须要对定时器十分熟悉才能做出很好的游戏效果,在这次活动中,我们收获还是挺多的,希望能够在“搞机”这条路上一直走下去。 代码 define IO_12864 P0 includereg52.h define uchar unsigned char define uint unsigned int ////////////////////// sbit rsP26; sbit rwP25; sbit eP27; sbit psbP32; sbit rstP34; ////////////////////// sbit upP12; sbit downP11; sbit leftP10; sbit rightP13; sbit AP16; uchar n5, //勇者所在行,在第六行视为gg m1, //勇者所在列 road0, //人物所在的第几段地图 face1, //勇者面向判断0为左,1为右 op1, //开头光标所指难度1为简单,2位普通,3位困难 score0, //得分 emp1, ////判断脚下是否为空 ,0为空 emp10, emp20, ////判断左右是否空,1为左,2为右 emp_up0, emp_up_left0, emp_up_right0, ////判断左右是否空,1为左,2为右 emp_monster0, emp_down_left0, emp_down_right0; ////判断左右是否空,1为左,2为右 t10, t20, t30, t40, ////定时器参数t1,2,3,4 act6; //勇者动作 op_temp, gameover1, chance1, //进入隐藏关卡的机会 _life3, j00,j10,fx,fy,fz0; //定时器1的参数 boss_life5; atk1; unsigned char code move_1_3[2][8]{5,5,5,5,5,5,5,5, 11,10,9,8,8,9,10,11 }; unsigned char code move_1_4[2][9]{5,5,5,5,5,5,5,5,5, 12,11,10,9,8,7,6,5,4 }; unsigned char code move_1_7[2][14]{3,4,5,5,5,5,5,5,5,5,5,5,5,5, 14,14,14,13,12,11,10,9,8,7,6,5,4,3 }; unsigned char code move_2_3[2][6]{5,5,5,5,5,5, 5,4,3,3,4,5 }; unsigned char code move_2_4[2][5]{5,5,5,5,5, 7,6,5,4,3 }; unsigned char code move_3_2[2][6]{4,4,4,4,4,4, 6,5,4,3,2,1 }; unsigned char code move_3_3_1[2][10]{4,4,4,4,4,4,4,4,4,4, 12,11,10,9,8,7,6,5,4,3 }; unsigned char code move_3_3_2[2][6]{5,5,5,5,5,5, 11,10,9,9,10,11 }; unsigned char code move_3_4[2][7]{5,5,5,5,5,5,5, 4,5,6,7,8,9,10 }; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// unsigned char code pic[16][13]{0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x40, 0 x3C,0 x08,0 x18,0 x3C,0 x04,0 x7E,0 x0C,0 x7E,0 x3C,0 x3C,0 x00,0 x00,0 x60, 0 x42,0 x18,0 x3C,0 x66,0 x0C,0 x40,0 x18,0 x42,0 x42,0 x42,0 x00,0 x00,0 x70, 0 x42,0 x38,0 x66,0 x42,0 x1C,0 x40,0 x30,0 x02,0 x42,0 x42,0 x00,0 x00,0 x18, 0 x46,0 x18,0 x42,0 x02,0 x14,0 x40,0 x20,0 x06,0 x42,0 x42,0 x18,0 x00,0 x0C, 0 x4E,0 x18,0 x02,0 x06,0 x24,0 x7C,0 x60,0 x0C,0 x42,0 x42,0 x18,0 x00,0 x46, 0 x5A,0 x18,0 x06,0 x1C,0 x64,0 x06,0 x7C,0 x08,0 x3C,0 x3E,0 x00,0 x00,0 x7F, 0 x72,0 x18,0 x0C,0 x06,0 x7E,0 x02,0 x42,0 x08,0 x42,0 x06,0 x00,0 x00,0 x7F, 0 x62,0 x18,0 x18,0 x02,0 x04,0 x02,0 x42,0 x08,0 x42,0 x04,0 x18,0 x00,0 x46, 0 x42,0 x18,0 x30,0 x42,0 x04,0 x42,0 x42,0 x08,0 x42,0 x0C,0 x18,0 x00,0 x0C, 0 x42,0 x18,0 x60,0 x66,0 x04,0 x66,0 x42,0 x08,0 x42,0 x18,0 x00,0 x00,0 x18, 0 x3C,0 x7E,0 x7E,0 x3C,0 x0E,0 x3C,0 x3C,0 x08,0 x3C,0 x30,0 x00,0 x00,0 x70, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x60, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x40, 0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF }; //0, 1, 2, 3, 4, 5, 6, 7, 8, 9, , 空格,光标 unsigned char code word[16][14]{0 x01,0 x00,0 x20,0 x40,0 x10,0 x10,0 x08,0 x20,0 x00,0 x00,0 x00,0 x00,0 x00,0 xA0, 0 x00,0 x80,0 x3F,0 x7E,0 x08,0 x20,0 x04,0 x40,0 x47,0 xF8,0 x7F,0 xFC,0 x00,0 x90, 0 x3F,0 xFE,0 x48,0 x90,0 x04,0 x40,0 x7F,0 xFC,0 x21,0 xA0,0 x41,0 x04,0 xFC,0 x80, 0 x22,0 x20,0 x85,0 x08,0 x3F,0 xF8,0 x04,0 x40,0 x20,0 x60,0 x41,0 x04,0 x05,0 xFE, 0 x22,0 x20,0 x10,0 x00,0 x21,0 x08,0 x24,0 x48,0 x07,0 xFC,0 x41,0 x04,0 x05,0 x10, 0 x3F,0 xFC,0 x0B,0 xF8,0 x21,0 x08,0 x14,0 x50,0 xE4,0 x44,0 x5F,0 xF4,0 x4B,0 x10, 0 x22,0 x20,0 x20,0 x08,0 x3F,0 xF8,0 xFF,0 xFE,0 x24,0 x44,0 x41,0 x04,0 x2D,0 xFC, 0 x22,0 x20,0 x27,0 xC8,0 x21,0 x08,0 x00,0 x00,0 x27,0 xFC,0 x43,0 x84,0 x29,0 x10, 0 x23,0 xE0,0 x24,0 x48,0 x21,0 x08,0 x1F,0 xF0,0 x24,0 x44,0 x43,0 x44,0 x11,0 x10, 0 x20,0 x00,0 x24,0 x48,0 x3F,0 xF8,0 x10,0 x10,0 x24,0 x44,0 x45,0 x24,0 x11,0 xFC, 0 x2F,0 xF0,0 x27,0 xC8,0 x01,0 x00,0 x10,0 x10,0 x27,0 xFC,0 x49,0 x14,0 x29,0 x10, 0 x24,0 x10,0 x24,0 x48,0 x01,0 x00,0 x1F,0 xF0,0 x24,0 x44,0 x51,0 x14,0 x25,0 x10, 0 x42,0 x20,0 x24,0 x48,0 xFF,0 xFE,0 x10,0 x10,0 x24,0 x54,0 x41,0 x04,0 x45,0 x10, 0 x41,0 xC0,0 x27,0 xD8,0 x01,0 x00,0 x10,0 x10,0 x54,0 x4C,0 x7F,0 xFC,0 x81,0 xFE, 0 x86,0 x30,0 x20,0 x08,0 x01,0 x00,0 x1F,0 xF0,0 x8F,0 xFE,0 x40,0 x04,0 x01,0 x00, 0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF, }; // 度,简, 单, 普, 通, 困, 难 unsigned char code thing[8][25]{0 x00,0 xFF,0 xFF,0 x3E,0 x3F,0 x7C,0 xFC,0 x38,0 x60,0 xFF,0 x3C,0 x40,0 x02,0 x42,0 xDC,0 x3B,0 x0A,0 x40,0 x40,0 x38,0 xD0, 0 x00,0 x3C,0 x3C,0 x07, 0 x00,0 xFF,0 xA5,0 x2B,0 x2A,0 xD4,0 x54,0 x44,0 x90,0 x81,0 x42,0 x90,0 x09,0 x3C,0 x72,0 x4E,0 x07,0 x00,0 x80,0 xC7,0 xA8,0 x06,0 x42,0 x42,0 x0B, 0 x00,0 xFF,0 xDB,0 x3E,0 xBE,0 x7D,0 x7C,0 x83,0 xC8,0 xFF,0 xA5,0 xA4,0 x25,0 x42,0 x01,0 x80,0 x07,0 xF0,0 x01,0 x00,0 xA7,0 x0F,0 xA5,0 x99,0 x91, 0 x00,0 xFF,0 xA5,0 x9E,0 x5E,0 x7A,0 x79,0 x84,0 x24,0 x42,0 x99,0 xA9,0 x95,0 xA5,0 x72,0 x4E,0 x0A,0 x08,0 x02,0 x38,0 x90,0 x0F,0 x99,0 xA5,0 xE2, 0 x00,0 xFF,0 xA5,0 x4F,0 x2F,0 xF4,0 xF2,0 x98,0 x92,0 x42,0 x66,0 xA9,0 x95,0 x81,0 xDC,0 x3B,0 x15,0 x04,0 x02,0 x07,0 x88,0 x06,0 x99,0 xA5,0 x44, 0 x00,0 xFF,0 xDB,0 x3F,0 x1F,0 xF8,0 xFC,0 x80,0 x61,0 x42,0 x3C,0 xA4,0 x25,0 x42,0 x14,0 x28,0 x22,0 x02,0 x01,0 x00,0 x47,0 x00,0 xA5,0 x99,0 x68, 0 x00,0 xFF,0 xA5,0 x3F,0 x3F,0 xFC,0 xFC,0 x40,0 x02,0 x42,0 x24,0 x90,0 x09,0 x3C,0 x22,0 x44,0 x20,0 xC1,0 x00,0 xC0,0 x20,0 x00,0 x42,0 x42,0 xF8, 0 x00,0 xFF,0 xFF,0 x22,0 x14,0 x44,0 x28,0 x3F,0 xFC,0 x42,0 x18,0 x40,0 x02,0 xE7,0 x3E,0 x7C,0 xBF,0 x20,0 x00,0 x3F, 0 x1F,0 x00,0 x3C,0 x3C,0 xCC }; // 空,土地,箱子,人左,人左前,人右,人右进,云左,右,水桶,蘑菇,剑击左,右,移动怪,炮左,炮右,蛇门左上,右上,左下,右下,蛇尾左 大,小豌豆,金币,剑 //0 1 2 34 56 7 8 9 10 11 1213 14 151617 18 1920 21 22 23 24 unsigned char code boss[8][7]{0 x03,0 x03,0 xF0,0 x01,0 x11,0 xD0,0 x0D, 0 x04,0 x04,0 x08,0 x02,0 x23,0 xA8,0 x15, 0 x09,0 x09,0 x04,0 x04,0 x45,0 xA7,0 xE5, 0 x12,0 x12,0 x82,0 x08,0 xE5,0 x90,0 x09, 0 x11,0 x11,0 x12,0 x11,0 x9D,0 x88,0 x32, 0 xB0,0 x10,0 x22,0 x31,0 x85,0 x47,0 xC4, 0 x4F,0 x0F,0 xC4,0 x50,0 x85,0 x20,0 x08, 0 x80,0 x00,0 x88,0 xD0,0 x65,0 x1F,0 xF0 };//吐舌,蛇头左,右,蛇身左,右,蛇尾左,右 unsigned char code map[6][32]; unsigned char code map_boss[6][32]; unsigned char code map_award[6][48]; unsigned char code map_easy[6][48]; unsigned char code map_normal[6][48]; unsigned char code map_hard[6][48]; unsigned char code start[64][16]; unsigned char code start_back[64][16]; unsigned char code _gameover[64][16]; unsigned char code pass[64][16]; unsigned char _face[2]{-1,1}; unsigned char _award[4]{1,1,1,1}; unsigned char draw[6][16]; void delay_50usuint n;//50us延时 void delay_50msuint n;//50ms延时 void busychk_12864void; //忙检测 void wrtcom_12864uchar com;//写命令 void wrtdat_12864uchar dat;//写数据 unsigned char reddat_12864void;//假读 void initialvoid;//初始化 void clnGDR_12864; void clnGDR_game; void Draw_start; void Draw_point; void Draw_title; void change { int i,j; ifroad2 { fori0;i16;i { forj0;j6;j { draw[j][i]map[j][i16*road]; } } } ifroad1road5 { switchop { case 1 { fori0;i16;i { forj0;j6;j { draw[j][i]map_easy[j][i16*road-2]; } } break; } case 2 { fori0;i16;i { forj0;j6;j { draw[j][i]map_normal[j][i16*road-2]; } } break; } case 3 { fori0;i16;i { forj0;j6;j { draw[j][i]map_hard[j][i16*road-2]; } } break; } } } ifroad5 { switchop { case 1 { fori0;i16;i { forj0;j6;j { draw[j][i]map_award[j][i16]; } } break; } case 2 { fori0;i16;i { forj0;j6;j { draw[j][i]map_award[j][i16]; } } break; } case 3 { fori0;i16;i { forj0;j6;j { draw[j][i]map_award[j][i]; } } break; } } } ifroad5road17 { fori0;i16;i { forj0;j6;j { draw[j][i]map_boss[j][i16*road-6]; } } } } void Draw_hero { uchar X,Y,k,l; unsigned char DH,DL; //存放读出数据的高字节和低字节 ifn2 { X8*n-116; Ym-1/2; forlX;lX8;l { wrtcom_128640 x80l; //先送垂直地址 wrtcom_128640 x80Y; //再送水平地址,水平地址可自加1 DH reddat_12864; //假读 DH reddat_12864; //读高字节 DL reddat_12864; //读低字节 km-12; ifk0 { DHthing[l-X][32*face]; } ifk1 { DLthing[l-X][32*face]; } wrtcom_128640 x80l; //写行位地址 wrtcom_128640 x80Y; //写列字地址 wrtdat_12864DH; //将高字节数据写回 wrtdat_128

    注意事项

    本文(勇者大冒险飞机大战游戏设计.docx)为本站会员(admin)主动上传,工友文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知工友文库(发送邮件至gydoc@qq.com或直接QQ联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    copyright@ 2019-2022 工友文库网站版权所有
    经营许可证编号:鲁ICP备19032292号-1


    1
    收起
    展开