




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2011年9月湘潭大学单片机接口技术课程设计单片机课程设计报告题 目:基于单片机的推箱子游戏设计 学 号: 姓 名: 专 业: 测控技术与仪器 班 级: 指 导 老 师: 同组成员姓名: 报告提交日期: 2011 年 9 月 4 日目录1引言42课程设计要求53课程设计器件63.1实验室条件63.2游戏项目所需元器件63.3单片机和彩屏介绍74课程设计原理与内容74.1推箱子游戏的基本介绍74.2推箱子游戏设计方案84.2.1游戏中各对象图像设计84.2.2游戏中小仓库画面实时显示94.2.3推箱子方向控制键的实时操作104.2.4推箱子游戏的关口设置105工作步骤116程序流程图127心得体会148结束语159参考文献1610附录: 电路图、PCB图和程序清单17电路图:17电路板图18推箱子游戏程序181引言单片机接口技术是测控技术与仪器专业的核心课程,主要介绍微机原理和接口技术与应用。我们选用由张道德编著的单片机接口技术(C51版)作为教材,深入学习了C51基本语法及程序设计、8051内部资源编程及外部常用扩展资源编程、人机接口技术、数据采集编程及通信编程、Keil C51编译与连接等内容。为了提高我们动手实践能力,我们进行了单片机课程设计,进一步系统地掌握了单片机接口技术应用及系统开发的能力。我们课程设计小组经过讨论并结合课程内容,选择基于单片机的推箱子的游戏设计为设计题目。本设计中的硬件设计涉及8051输入/输出(I/O)端口、外部中断、独立式键盘、TFT彩屏显示等应用,而软件设计采用C51语言编写。因此我们的课程设计基本涵盖了课程的重要内容,较好的检测我们课程设计小组成员的学习效果。单片机课程设计是一个工程项目,在这一工程中包括选题、绘制电路图+编制程序、Proteus仿真、搭建硬件电路、系统仿真与调试、系统正常运行等流程。我们设计小组在老师的安排下,严格按照这一流程开展项目,并最终完成本项目基于单片机的推箱子游戏设计。接下来我将具体介绍我们在开展项目中遇到的问题和解决方案的设计。2课程设计要求利用51单片机进行硬件开发,必须具备用Keil C51编程能力和用Proteus进行仿真设计的能力。这使得单片机开发相对变得容易。我们利用课余时间装载上述软件,学会使用软件进行C51程序编程和单片机电路原理图仿真。一般而言,使用Keil C51集成调试软件建立自己的一个程序要经过如下几个步骤:建立一个工程项目文件;为工程选择一个目标器件(如AT89C52);为工程项目设定相关的软件和硬件的调试环境(如软件仿真或在线调试等);创建源程序文件并输入、编辑程序源代码(汇编格式或C语言格式);保存所创建的源程序项目文件并添加到项目中;程序文件的编译与连接及调试。Proteus软件可以进行单片机系统仿真设计,绘制电路原理图并进行单片机与外围电路的协同仿真。使用Proteus软件的一般步骤如下:根据单片机电路原理图拾取元器件;将元器件放置到绘图区;在绘图区对元器件进行布局并连接;将程序文件置入单片机进行软件调试。然后,还要求具备利用万用表对电路及基本元器件进行检测的能力,即使用万用表检查元器件的好坏、电路的通断、电路中电量参数测量等。我们搜集基本元器件的相关知识及检测方法的资料,为检测电路做了充分准备。能够在实际硬件电路调试时,将电路中可能会出现的断路、短路、元器件损坏等问题,利用万用表进行检测并分析,可以及时纠正电路中存在的问题。另外,还要求具备在面包板上搭建硬件电路及万用板上焊接电路的能力。我们在之前有动手进行单片机开发的经验,可以使用面包板搭建本设计硬件电路,并能焊接相应电路板,能够完成本设计的电路板制作任务。3课程设计器件3.1实验室条件进行单片机进行开发实验时,实验室必须具备:计算机,仿真器,编程器,用户板,元件,及必要电工工具等硬件。Windows操作系统,仿真器、编程器支持软件等软件。在本次课程设计中,我们采用51单片机开发板进行烧录和硬件仿真。3.2游戏项目所需元器件我们的课程设计项目需要的器件如下:1片STC89C52RC单片机,1个74LS08与门芯片,5个独立按键(替代44矩阵键盘),1个频率为24M的晶振,2个30pF的晶振电容,1个10K的排阻,1个3V电子电源,1块采用三星工业级IC:S6B33B6的1.5寸彩屏(替代主控器为T6963C的JM12864-10液晶显示模块)。3.3单片机和彩屏介绍STC89C52RC是由宏晶科技公司研发的一款低功耗,高性能八位单片机,兼容MCS51指令系统,具有丰富的资源(32个双向I/O、256*8bit内部ROM、8K可反复擦写Flash ROM和6个中断源等)。我们的基于单片机的推箱子游戏设计需要用到16位彩屏数据端口,5位彩屏控制端口,5位独立按键接入端口,1为中断接入端口,共需采用了27个I/O口,而且游戏程序文件大小为7KB。因此我们选用该型号单片机作为本设计的CPU,充分利用该单片机的资源,并满足我们的设计要求。采用三星工业级IC:S6B33B6的1.5寸彩屏采用16位数据口,数据传输速度快,用8位51单片机I/O即可直接驱动。此款彩屏轻薄小巧、价格低廉,显示效果好,其各项性能整体优于JM12864-10液晶显示模块。因此我们用该彩屏替换JM12864-10液晶显示模块。4课程设计原理与内容4.1推箱子游戏的基本介绍经典的推箱子游戏是一个来自日本的古老游戏,目的是在训练逻辑思考能力。在狭小的一个仓库中,要求把木箱放到指定位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙地利用有限的空间和通道,合理安排移动次序和位置,才能顺利完成任务。我们的设计题目为基于单片机的推箱子游戏设计。该设计的预期效果如下:1.采用键盘输入控制游戏的运行;2.操作液晶模块的控制器实现游戏界面及动态显示;3.在以上两种效果的基础上实现游戏中人物将箱子推到目标位置,并完成积分升级工作;4.2推箱子游戏设计方案推箱子游戏规则是通过方向键的上下左右控制箱子的移动方向,将箱子移动到指定目标位置。这一规则非常简单,完全可以将这款游戏利用单片机和液晶屏开发出来。根据推箱子的游戏规则,我们提出的设计任务如下:推箱子游戏中各个对象的图像设计;推箱子游戏中小仓库画面的实时显示;推箱子方向控制键的实时操作;推箱子游戏的关口设置。4.2.1游戏中各对象图像设计我们采用的1.5寸彩屏分辨率为128128,为清晰显示游戏画面,设计成由大小为1616的元素构成88的图像。而1616大小的元素是推箱子游戏中的对象,包括人物、砖头、箱子、目的、成功,在C语言程序中依次用数字1-5代表上述对象。另外,我们为游戏设置了八个关口,每个关口中都是由这五个对象组成的。为了描述各关口的画面,每个关口都是用一组88的数组代替。这样我们在用彩屏显示游戏画面时就可以检测88的数组中各位置中的数字,在屏中对应位置进行显示。我们利用字模提取软件绘制了各个对象,并提取其代码,保存到程序存储器的数组中。例如,人物图像以const unsigned char code peo8=0x3C,0x42,0x66,0x5A,0x3C,0x42,0xBD,0xFF;/*人物*/存储。各个对象的图像及游戏界面图像如下:为了实现显示推箱子游戏界面,我们在编写程序时,首先检测表示游戏界面图像的88的数组中的数字所对应的对象,然后检测表示该对象图像的8字节数组中的0和1,利用彩屏显示函数将1输出白点,0输出黑点。具体地,可参照附录中函数void Display()理解上述生成游戏界面的原理。4.2.2游戏中小仓库画面实时显示推箱子方向控制键的实时操作是采用外部中断函数实现的。在推箱子的游戏规则中人物及箱子的移动需要设置相应的方向键控制,由于所需方向键较少,我们采用5个独立按键代替44键盘,接入单片机的P1口。推箱子游戏界面图像要求随着按键的操作进行实时动态显示,因此可以采用单片机内部资源中外部中断进行实时控制。可将5个独立按键分别接入与门芯片,只要任一个键按下,与门将输出低电平至单片机的P3.2口,使得单片机进入中断。在中断函数中,需要对推箱子游戏界面进行更新。因此我们设置了一个游戏界面图像的88的缓冲数组,显示图像时均检测该数组中内容。4.2.3推箱子方向控制键的实时操作用按键执行人物或箱子移动时,先判断游戏缓存数组人物位置(人物在图像中的位置用curx,cury表示)移动的下一个位置的元素,为空格或目的时,仅执行人移动操作;为箱子时,要接着判断箱子的下一个位置的元素,若为空格则执行推箱子的操作,若为目的时执行推箱子操作且相应元素变成成功;为成功时,要接着判断箱子的下一个位置的元素,若为空格择执行推箱子的操作,若为目的时执行推箱子操作且相应元素变成成功;判断完毕后,及时更新游戏画面缓存数组,并记录当前人物位置。上下左右操作类似,可参照向上移动的函数注释理解其它移动函数。具体地,可参照附录中函数void keyboard1( )。4.2.4推箱子游戏的关口设置为增加游戏的趣味性和难度,我们设置了8个关口,依次增加箱子的个数和移动难度。推箱子游戏的关口设置需要及时更新不同关口的游戏界面。因此,在人物及箱子移动过后,必须判断是否完成本关口的任务,而及时进入下一关。我们在设计程序时,首先检测初始画面数组level88中目的4、成功5的位置,然后在检测在游戏当前画面缓存数组level_temp中相应位置是否均为成功5。若相应位置均为成功5,设置一个标志位,判断该标志位为1时,则将游戏当前画面缓存数组level_temp更新为下一关数据。5工作步骤在单片机接口技术课程开始时,老师就布置了课程设计任务。我们马上组成课程设计小组,尽早开展单片机设计项目。在课程进行到学期末时,我们结合单片机接口应用课程教学内容,选定基于单片机的推箱子游戏设计项目。在确定设计项目之前,我们搜集相关资料论证本项目的可行性。有许多人做了关于推箱子游戏设计,我们参照他们做的研究及设计思想,开展本小组的推箱子游戏设计。我们小组共有3人,其中李翠菊主要负责设计键盘控制功能模块,吴志梅主要负责设计彩屏显示控制模块,我主要负责游戏界面和规则设计模块。接着,我们开始选择元器件,并在网上查看相应报价。由于推箱子游戏设计任务相对较大,我们选择STC89C52作为CPU。游戏中需要4个控制键和1个确定键,可以采用5个独立按键接入单片机进行控制,且接入与门芯片74LS08,由单片机的P3.2口检测按键按下的信号。由于采购的12864液晶显示模块主控器不确定,我们最终确定选择1.5寸彩屏显示游戏画面。该彩屏具有轻薄小巧,价格低廉,易于操作的优点。然后,我们开展电路原理图绘制和游戏程序设计工作。为1.5寸彩屏分配单片机的P2和P0共16个数据口,P3.3-P3.7共5个控制口;为按键电路分配P1.0-P1.5共5个I/O接口;将5个开关接入与门电路,并输出至单片机的P3.2外部中断接口;采用3V电子为彩屏供电及5V电源为单片机和74LS08供电。为达到预期效果我们3人协同作战,及时沟通各自负责模块设计思路,共同商定各模块衔接部分设计。在设计推箱子游戏程序时,根据彩屏的IC控制资料,我们掌握了用C51程序控制彩屏显示图片的方法。 理解彩屏显示图片的原理后,结合游戏的规则提出了推箱子游戏的设计思想,依次实现游戏界面的静态显示,利用中断实现界面动态显示,实现游戏通关设置。可以参考上一节的相关介绍及附录中的程序理解游戏设计思想。6程序流程图推箱子游戏C51程序包括的子程序如下:1.5寸彩屏的写端口命令函数、1.5寸彩屏的写图像数据函数、1.5寸彩屏的初始化函数、1.5寸彩屏的复位程序、推箱子游戏各关口图像平面数组更新及记录人物当前位置curx,cury的函数、推箱子游戏通关判断函数、推箱子游戏画面显示函数、推箱子游戏人物及箱子移动处理函数、外部中断0响应按键操作的处理函数。在主函数中首先开启外部中断,然后对彩屏进行初始化设置并显示开机游戏画面,接着进入空操作的死循环程序。在中断函数中对按键操作进行处理。当按键5按下时,进入第一关;当按键1、2、3、4按下时分别进行上、下、左、右程序处理。按键的操作程序处理调用推箱子游戏的各功能函数,可实现游戏界面的动态实时显示。基于单片机的推箱子游戏设计程序流程图如下:7心得体会在这次单片机接口技术应用课程设计中,我们的设计题目为基于单片机的推箱子游戏设计。定下题目后我们就把设计任务分模块由个人负责,进行合作设计。在团队合作过程中,我们及时沟通,互相帮助,最终完成推箱子游戏设计的预期效果。推箱子游戏设计工作是一个系统项目,工作量相对较大,一个人操作起来比较困难。因此在开展项目工作时,必须将项目分成相对独立的模块,由团队中的个人负责完成,同步开展工作,提高整体工作效率,节省工作时间。另外,团队成员需要及时沟通,实现各自负责模块之间的良好衔接。这与C语言中的模块化设计思想如出一辙。我负责游戏界面和规则设计模块,需要完成设计游戏中各对象和关口的画面数据和编制通关处理函数。考虑单片机内部存储器有限,我将各对象用八个字节表示,其原理可参照第4节对象图像。考虑彩屏的尺寸,我将各关口画面用88数组表示。这些图像数据相对稳定,可以将他们存储到程序存储器中,以unsigned char code的形式存储。5个对象和8个关口共占用ROM中552个字节。为在程序中动态显示游戏画面图像,用88图像缓存数组存储游戏当前游戏画面。另外,还设置缓存curx,cury记录人物当前位置;设置缓存g,记录当前关数。共占用RAM中67个字节。在用单片机做开发时,数据的存储要求非常高,必须考虑单片机存储资源,进行优化设计。存储数据时,先将数据分成静态的常用数据和动态缓存数据,并计算出所占用字节,分别存储到ROM和RAM中。这也是选择单片机必要工作。在硬件检测时,可以编制一些简单的检测电路的程序。例如检测P口的闪烁灯程序、检测中断的闪烁灯程序。在这次设计中,我们就是用这些简单程序检测电路的,查出单片机的晶振电路损坏的故障。在焊接晶振电路时,焊锡温度非常高,使得电容和晶振极易损坏,值得注意。另外,我在焊接电路板时也有收获,就是首先将原件放入孔洞中,然后将焊锡贴近孔洞附近的金属圈上融化。这样焊接使电路很牢固,且使相邻元件的焊锡很少接触。总之,这次课程设计让我收获颇多,巩固了课堂上所学知识,提高了应用C语言编程的能力,加深对单片机内部结构和外部接口技术的认识,积累电路检测的经验。这些收获让自己在专业知识这一方面更有自信,坚定了自己在本专业深入学习的志向。8结束语我在大三下学期的单片机接口技术课程设计过程中,将自己了解的和课本上学到的东西运用的实际硬件设计中,在的帮助下,我完成了大学里的又一成果基于单片机的推箱子游戏设计,这将是我大学生活里的一段美好回忆。我要衷心感谢王老师的指导和帮助,王老师在单片机接口技术课程中给我们讲解了单片机原理、接口技术和C51编程语言,为我进一步学习测控技术与仪器这一专业打下基础。感谢我们小组的各成员对我的支持和帮助,大家互相讨论学习,互相支持鼓励,使我能够在课程设计当中学到许多技能。9参考文献1张道德.单片机接口技术(C51版).北京.中国水利水电出版社,2007;2杨恢先,黄辉先.单片机原理及应用.北京.人民邮电出版,2009;3刘淑华.看图学电子电工元器件与检测工具.北京.机械工业出版社,2008;4黄近秋,黄惠洪.基于单片机的新型推箱子游戏设计.微型电脑.2010年05期;5樊永显,许勇等.基于STC89C54RC/RD+单片机的游戏机系统设计.湖南工业大学学报.2007年05期;10附录: 电路图、PCB图和程序清单电路图:电路板图推箱子游戏程序游戏主函数:#include reg51.h#include absacc.h#include data.h#define unchar unsigned char#define unint unsigned intsbit RSTB=P37; /*Reset复位端口*/sbit RS =P33; /*彩屏写命令数据或图像数据选择端口*/sbit WRD =P34; /*彩屏写选通端口*/sbitRDB=P36; /*彩屏读数据端口*/sbit CS1 =P35; /*彩屏选片端口*/void Delay_ms(unsigned long value);/*延时子程序*/void Init_S6B33B(); /*1.5寸TFT彩屏初始化设置参数*/void Write_S6B33B_COM(unchar lowbyte);/*1.5寸TFT彩屏写端口命令*/void Write_S6B33B_DISPLAY_DATA(unchar hibyte,unchar lowbyte);/*1.5寸TFT彩屏写图像数据*/void HDReset(); /*彩屏复位函数*/void pushbox(); /*推箱子游戏各关口图像平面数组更新,并且记录人物当前位置curx,cury*/void pass(); /*推箱子游戏通关判断函数*/void Display(); /*推箱子游戏画面显示函数*/void keyboard1(); /*推箱子游戏人物及箱子移动处理函数*/unchar curx,cury; /*纪录当前人物所在位置*/unchar c; /*指代P1口数据*/unchar g=0; /*推箱子游戏关口位数,初始值为0*/unchar level_temp88=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; /*推箱子游戏当前画面数据缓存数组,随着人物及箱子移动而不断更新*/中断处理函数:void int1(void) interrupt 0 /*外部中断0处理函数,响应按键操作*/Display(); /*显示游戏画面*/c=P1; /*读取P1口端口数据*/keyboard1(); /*按键处理程序,即检测方向键并更新游戏当前画面数据缓存数组level_temp*/推箱子游戏主函数int main() EA=1; /*开外部中断0(P3.2口)*/IT0=1;EX0=1; Init_S6B33B();/*1.5寸TFT彩屏初始化设置参数*/RDB=1; Write_S6B33B_COM(0x42); /Y ADDRESS Write_S6B33B_COM(4); Write_S6B33B_COM(131); Write_S6B33B_COM(0x43);/X ADDRESS Write_S6B33B_COM(0); Write_S6B33B_COM(127); Delay_ms(10000); pushbox(); /*游戏画面缓存数组初始化为第一关画面当前数据*/ Display(); /*彩屏显示游戏当前画面缓存数组对应的图像*/ while(1) return(0);延时函数:void Delay_ms(unsigned long value) unint i,j; for (i=0;ivalue;i+) for (j=0;j10;j+);1.5寸TFT彩屏初始化设置参数:void Init_S6B33B() HDReset();Delay_ms(1000); Write_S6B33B_COM(0x2c); Delay_ms(50); Write_S6B33B_COM(0x02);Write_S6B33B_COM(0x01); Write_S6B33B_COM(0x20); /DC-DC selset Write_S6B33B_COM(0x0f); /X2.0 Write_S6B33B_COM(0x26);Write_S6B33B_COM(0x0f); Delay_ms(50); Write_S6B33B_COM(0x28);Write_S6B33B_COM(0x01); Write_S6B33B_COM(0x2e); Write_S6B33B_COM(0x45); /RAM Skip AREA set Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x53);Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x10); /Drive output mode set Write_S6B33B_COM(0x03); /22 0,0,DLN,MY,MX,SWP,CDIR Write_S6B33B_COM(0x24); Write_S6B33B_COM(0x22); Write_S6B33B_COM(0x30); /4k he 65k Write_S6B33B_COM(0x1d); /1d Write_S6B33B_COM(0x32); Write_S6B33B_COM(0x0e); Write_S6B33B_COM(0x40); Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x42); /Y ADDRESS Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x83); Write_S6B33B_COM(0x43);/X ADDRESS Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x83); Write_S6B33B_COM(0x34); Write_S6B33B_COM(0x8d); Write_S6B33B_COM(0x2a); Write_S6B33B_COM(0x3e); /调节对比度值 Write_S6B33B_COM(0x2b); Write_S6B33B_COM(0x69); Write_S6B33B_COM(0x22); Write_S6B33B_COM(0x11);Write_S6B33B_COM(0x55); Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x56); Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x57); Write_S6B33B_COM(0x9f); Write_S6B33B_COM(0x59); Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x00);Write_S6B33B_COM(0x9f); Write_S6B33B_COM(0x00); Write_S6B33B_COM(0x51); /Display ON 1.5寸TFT彩屏写端口命令:void Write_S6B33B_COM(unchar lowbyte) CS1=0;RDB=1; RS=0;/*选择写命令数据*/ WRD=0;P2=0x00;P0=lowbyte; WRD=1;RDB=1; CS1=1; 1.5寸TFT彩屏写图像数据:void Write_S6B33B_DISPLAY_DATA(unchar hibyte,unchar lowbyte) / CS1=0;RDB=1; RS=1; /*选择写图像数据数据*/ WRD=0;P2=hibyte;P0=lowbyte; WRD=1;RDB=1; CS1=1;彩屏复位函数:void HDReset()RSTB=0;Delay_ms(2);RSTB=1;Delay_ms(4);游戏各关口图像平面数组level_temp更新,并且记录人物当前位置:void pushbox() unchar i,j;for(i = 0; i 8; i+)for(j = 0; j 8; j+)level_tempij=levelgij;if(level_tempij=1)curx=i;cury=j; /*记录人物当前位置*/推箱子游戏通关判断函数:void pass() unchar i,j,k=1;for(i = 0; i 8; i+)if(k=0) break;for(j = 0; j 8; j+)if(levelgij=4|levelgij=5)if(level_tempij=5)/*对于游戏各关口初始画面数组level88中目的4、成功5,*/k=1;/*游戏当前画面数据缓存数组level_temp中相应位置均为成功5时几个进入下一关*/elsek=0;break;if(k=1)if(g8)g+=1;/*g加1进入下一关*/else g=0;pushbox();/*推箱子游戏画面缓冲数组level_temp更新*/推箱子游戏画面显示函数,:void Display()/*画面中包含人物1、砖头2、箱子3、目的4和成功5五种基本图像元素,构成88的画面*/ unint p,g,i,k,n,t;unchar filter1=0x80,filter2=0x80;bit f;for(p=0;p8;p+) for(i=0;i8;i+) for(k=0;k2;k+) for(g=0;g8;g+) t=level_temppg; switch(t) /*游戏画面缓存数组level_temppg上第p行,第g列元素对应的图像元素的检测*/ case 0: /*空格*/ for(n=0;n8;n+) Write_S6B33B_DISPLAY_DATA(0xff,0xff); Write_S6B33B_DISPLAY_DATA(0xff,0xff); break; case 1: /*人物*/ for(n=0;nn);/*游戏画面人物图像的中亮点的检测并显示*/if(f=0) Write_S6B33B_DISPLAY_DATA(0xff,0xff); Write_S6B33B_DISPLAY_DATA(0xff,0xff); else Write_S6B33B_DISPLAY_DATA(0x00,0x00); Write_S6B33B_DISPLAY_DATA(0x00,0x00); break;case 2: /*石头*/case 3: /*箱子*/case 4: /*目的*/ case 5: /*成功*/ 均与生成人物画面函数类似。 /*-用按键执行人物或箱子移动时,先判断游戏缓存数组人物位置level_tempcurxcury移动的下一个位置的元素,-*/*-为空格或目的时,仅执行人移动操作;-*/*-为箱子时,要接着判断箱子的下一个位置的元素,若为空格择执行推箱子的操作,若为目的时执行推箱子操作且相应元素变成成功;-*/*-为成功时,要接着判断箱子的下一个位置的元素,若为空格择执行推箱子的操作,若为目的时执行推箱子操作且相应元素变成成功;-*/*-判断完毕后,及时更新游戏画面缓存数组level_temp,并记录当前任务位置。-*/*-上下左右操作类似,可参照向上移动的函数注释理解其它移动函数-*/推箱子游戏人物及箱子移动处理函数:void keyboard1() switch(c) /*上 cury 0 & */ case 0xfe: /*人物上一行为空格或目的*/ if(level_tempcurx-1cury=0|level_tempcurx-1cury=4) if(l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位考试综合知识历年真题库
- 小学语文节日文化教学活动方案
- 小学一年级数学基础练习试卷
- 数据成果可靠有效声明书3篇范文
- 项目施工进度规划表
- 童话中的环保英雄童话体裁的作文10篇
- 2025-2030儿童零食健康化转型与家长消费决策调研报告
- 2025-2030儿童舞蹈教育行业市场竞争格局与投资价值评估报告
- 2025-2030儿童编程教育硬件配套市场需求与技术路线预测报告
- 2025-2030儿童植物栽培教育市场认知度提升途径研究报告
- 华为信息安全管理培训课件
- 诗经整本书阅读课件
- (2025年标准)预售小麦协议书
- 2025年院感测试题及答案
- 承包商全流程安全培训
- 养生店国庆节活动方案
- 7.1促进民族团结 课件 2025-2026学年统编版道德与法治九年级上册
- 2025年建筑施工安全教育试题及答案
- 我国运动员在奥林匹克运动会取得的辉煌成绩课件
- 专升本高等数学的讲义80页PPT课件
- 汽车机械基础(全套课件)
评论
0/150
提交评论