1、.常量掉沟里了,0,碰撞结果.常量挂了,.常量通过,.常量通不过,.常量变小,.常量变大,.常量变子弹,.常量出蘑菇,.常量跳动速度,.常量跳动计数,20.常量小主角顶边,518.常量大主角顶边,484.常量精灵宽度,34.常量主角初始底边.常量花,11.常量效果画完,-2.常量屏幕移X位置,.常量主角移X位置,.常量蘑菇速度,.常量地面位置,560.常量删除此精灵,-100.常量正常,主角状态.常量上升,.常量下降,.常量蹲下,.常量向左走,.常量向右走,.常量向上走,.常量向下走,.常量game_over,-999.常量过关,-1000窗口程序集2.支持库EdirectX.程序集窗口程序集
2、2.子程序_按钮4_被单击销毁().子程序_按钮1_被单击是否使用控制器=假键左=到数值(编左.标记)键右=到数值(编右.标记)键跳=到数值(编跳.标记)键下=到数值(编下.标记)键左=#键值常量.键左方向键右=#键值常量.键右方向键跳=#键值常量.键左CTRL键下=#键值常量.键下方向.子程序_窗口1_创建完毕.局部变量名字,文本型输入设备1.初始化(取窗口句柄()输入设备1.置刷新时间(30)输入设备1.取键名(#键值常量.键左方向,名字)编左.内容=名字编左.标记=到文本(#键值常量.键左方向)输入设备1.取键名(#键值常量.键右方向,名字)编右.内容=名字编右.标记=到文本(#键值常量
3、.键右方向)输入设备1.取键名(#键值常量.键左CTRL,名字)编跳.内容=名字编跳.标记=到文本(#键值常量.键左CTRL)输入设备1.取键名(#键值常量.键下方向,名字)编下.内容=名字编下.标记=到文本(#键值常量.键下方向)编控跳.内容=控制器第0键编控跳.标记=到文本(#键值常量.键控制器0)_按钮1_被单击().子程序_按钮3_被单击信息框(输入设备1.是否有控制器(),0,).子程序_按钮2_被单击是否使用控制器=真键跳=到数值(编控跳.标记).子程序_窗口1_被激活输入设备1.选择输入设备(假,真,真).子程序_窗口1_被取消激活输入设备1.选择输入设备(假,假,假).子程序_
4、输入设备1_键盘按键状态被改变.参数键值,整数型.参数键状态,整数型.如果真(键状态=3).判断开始(编左.可有焦点()输入设备1.取键名(键值,名字)编左.标记=到文本(键值).判断(编右.可有焦点()编右.标记=到文本(键值).判断(编跳.可有焦点()编跳.标记=到文本(键值).判断(编下.可有焦点()编下.标记=到文本(键值).默认.判断结束.如果真结束.子程序_按钮5_被单击.子程序_输入设备1_控制器按钮改变.判断开始(编控跳.可有焦点()按键+到文本(键值-#键值常量.键控制器0)编控跳.标记=到文本(键值)新主角.版本2.程序集新主角,精灵基类.程序集变量是否挂了,逻辑型.程序集
5、变量等级,整数型,1.小2.大3.子弹.程序集变量走时钟,整数型.程序集变量状态,整数型,1.正常2.上升3.下降4.蹲下.程序集变量一次跳结束,逻辑型.程序集变量是否蹲下,逻辑型.程序集变量跳动前Y位置,整数型.程序集变量在第几屏,整数型.程序集变量声音是否播放,逻辑型.程序集变量无敌时间,整数型.子程序_初始化,当基于本类的对象被创建后,此方法会被自动调用等级=1.子程序_销毁,当基于本类的对象被销毁前,此方法会被自动调用.子程序置等级,公开.参数级,整数型等级=级输出调试文本(等级).子程序创建,公开.参数参文件名,文本型,数组.参数参位置,矩形.参数参目录路径,文本型.参数参标记,整数
6、型精灵基类.创建(参文件名,参位置,参目录路径,参标记)是否挂了=假状态=#正常跳动前Y位置=0一次跳结束=真是否蹲下=假在第几屏=1声音是否播放=假无敌时间=0.子程序取是否挂了,逻辑型,公开返回(是否挂了).子程序取一次跳结束,逻辑型,公开返回(一次跳结束).子程序两距形是否相交,逻辑型.参数距1,矩形.参数距2,矩形.如果(距2.左边-距1.右边#屏幕移X位置或距2.顶边-距1.底边#屏幕移X位置或距1.左边-距2.右边#屏幕移X位置或距1.顶边-距2.底边#屏幕移X位置)返回(假).否则返回(真).如果结束.如果(距1.右边距2.左边或距1.底边距2.顶边或距1.左边距2.右边或距1.
7、顶边距2.底边).子程序画碰撞效果,整数型,公开,0,成功,1,不用画,-1失败,-2效果画完.参数参屏幕,屏幕.参数目标页面,页面.参数复制方式,整数型,1,块复制.2,透空块复制.参数当前时钟周期,整数型.局部变量小页面,页面.局部变量图路径,文本型.如果真(无敌时间0)无敌时间=无敌时间-1.如果真(是否挂了)返回(#game_over).如果真(一次跳结束=假).判断开始(状态=#上升)向上走().判断(状态=#下降)向下走().如果真(取状态序号()=0)返回(1).如果真(当前时钟周期%取时钟周期()0)图路径=取目录路径()+取文件名(取状态序号()返回值=小页面.建位图页面(参
8、屏幕,图路径,).如果真(取反(返回值)输出调试文本(精灵基类:画碰撞效果,建位图页面失败!+图路径)返回(-1).判断开始(复制方式=1)返回值=小页面.块复制(目标页面,取X位置()%800,取Y位置(),).判断(复制方式=2).如果(无敌时间0).如果真(无敌时间%2=0)小页面.置顶点关键色()返回值=小页面.透空块复制(目标页面,取X位置()%800,取Y位置(),)画碰撞效果,小页面.复制失败!返回(0).子程序碰撞检测,碰撞结构,公开.参数参精灵列表,精灵列表类.参数方向,整数型,1.左2.右3.上4.下.参数参缓冲页面X位置,整数型.局部变量临时精灵,精灵基类.局部变量碰撞,
9、碰撞结构.局部变量位置1,矩形.局部变量位置2,矩形.局部变量计数,整数型位置1=精灵基类.取位置().判断开始(方向=#向右走)位置1.左边=位置1.左边+#屏幕移X位置位置1.右边=位置1.右边+#屏幕移X位置.判断(方向=#向左走)位置1.左边=位置1.左边-#屏幕移X位置位置1.右边=位置1.右边-#屏幕移X位置.判断(方向=#向上走)位置1.顶边=位置1.顶边+#跳动速度位置1.底边=位置1.底边+#跳动速度.判断(方向=#向下走)位置1.顶边=位置1.顶边-#跳动速度位置1.底边=位置1.底边-#跳动速度.计次循环首(精灵列表在第几屏.取精灵数量(),计数)临时精灵=精灵列表在第几
10、屏.取精灵(计数).如果真(临时精灵.取标记()=-1)到循环尾()位置2=临时精灵.取位置().如果真(取反(两距形是否相交(位置1,位置2)碰撞.物体序号=临时精灵.取物体序号()碰撞.主角等级=等级.判断开始(位置1.底边-位置2.顶边#跳动速度+2)碰撞.主角身体部位=#脚主角脚与其它物体发生碰撞.判断(位置2.底边-位置1.顶边#跳动速度+2)碰撞.主角身体部位=#头主角头与其它物体发生碰撞.判断(真)碰撞.主角身体部位=#身体碰撞.第几个精灵=计数返回(碰撞).计次循环尾()碰撞.物体序号=-1.子程序碰撞后效果,整数型.参数碰撞值,整数型.参数碰撞,碰撞结构.判断开始(碰撞值=#
11、变大)变大().判断(碰撞值=#变小)变小().判断(碰撞值=#挂了).如果真(等级=2).如果真(无敌时间=0)是否挂了=真波形声音.载入Wave文件(声音句柄,数据路径+sfxdie.wav,)波形声音.播放().判断(碰撞值=#出蘑菇)临时精灵=精灵列表在第几屏.取精灵(碰撞.第几个精灵)出蘑菇(临时精灵.取X位置(),临时精灵.取Y位置()sfxoutput.wav.子程序向右走,公开.局部变量碰撞后值,整数型走时钟=走时钟+1.如果真(走时钟1)置状态序号(取状态序号()+1).如果真(取状态序号()6)置状态序号(4)走时钟=0碰撞=碰撞检测(精灵列表在第几屏,#向右走,缓冲页面X
12、位置).如果真(碰撞.物体序号-1)碰撞.主角状态=#正常碰撞.是否无敌=真碰撞.是否无敌=假碰撞后值=精灵列表在第几屏.计算碰撞效果(碰撞,碰撞.第几个精灵).如果真(碰撞.物体序号=-1或碰撞后值=#通过).如果(取X位置()3)置状态序号(1)碰撞=碰撞检测(精灵列表在第几屏,#向左走,缓冲页面X位置)没撞到东东或通过缓冲页面X位置=缓冲页面X位置-#屏幕移X位置.如果真(缓冲页面X位置400或缓冲页面X位置0)且取X位置()0)置位置(取X位置()-#屏幕移X位置,取Y位置().子程序向上走,公开状态=#上升.如果真(声音是否播放=假)sfxjump.wav声音是否播放=真.如果真(跳
13、动前Y位置=0)保存跳动前的Y位置跳动前Y位置=精灵基类.取Y位置().如果(精灵基类.取Y位置()-#跳动速度跳动前Y位置-#跳动速度#跳动计数)碰撞=碰撞检测(精灵列表在第几屏,#上升,缓冲页面X位置)判断头是否碰撞其它物输出调试文本(碰撞.物体序号)碰撞.主角状态=#上升置位置(取X位置(),取Y位置()-#跳动速度)撞到东东.如果真(碰撞后值=#通不过).子程序向下走,公开.如果(精灵基类.取底边位置()+#跳动速度#地面位置)精灵基类.置底边位置(#地面位置)碰撞=碰撞检测(精灵列表在第几屏,#下降,缓冲页面X位置)碰撞.主角状态=#下降置位置(取X位置(),精灵基类.取Y位置()+
14、#跳动速度).判断开始(碰撞后值=#通不过)精灵基类.置底边位置(精灵列表在第几屏.取顶边位置(碰撞.第几个精灵).子程序变大,公开.局部变量参文件名,文本型,.局部变量位置,矩形如果真(等级=1)重定义数组(参文件名,假,8)参文件名1=gfxcharact ersbigplayer1l.bmp参文件名2=gfxcharactersbigplayer2l.bmp参文件名3=gfxcharactersbigplayer3l.bmp参文件名4=gfxcharactersbigplayer1r.bmp参文件名5=gfxcharactersbigplayer2r.bmp参文件名6=gfxcharac
15、tersbigplayer3r.bmp参文件名7=gfxcharactersbigdownl.bmp参文件名8=gfxcharactersbigdownr.bmp精灵基类.置文件名(参文件名)置位置(取X位置(),精灵基类.取Y位置()-77+精灵基类.取精灵高度()精灵基类.置精灵大小(#精灵宽度,77)sfxgrow.wav等级=2.子程序变小,公开gfxcharacterssmallplayer1l.bmpgfxcharacterssmallplayer2l.bmpgfxcharacterssmallplayer3l.bmpgfxcharacterssmallplayer1r.bmpgf
16、xcharacterssmallplayer2r.bmpgfxcharacterssmallplayer3r.bmpgfxcharacterssmalldownl.bmpgfxcharacterssmalldownr.bmp置位置(取X位置(),精灵基类.取Y位置()+精灵基类.取精灵高度()-42)精灵基类.置精灵大小(#精灵宽度,42)sfxshrink.wav无敌时间=200.子程序取等级,整数型,公开返回(等级).子程序蹲下,公开.参数参方向,整数型.如果(参方向=#向左走)置状态序号(7)置状态序号(8).如果(等级=1)置位置(取X位置(),精灵基类.取Y位置()+6)置位置(取X
17、位置(),精灵基类.取Y位置()+42)是否蹲下=真.子程序取是否蹲下,逻辑型,公开返回(是否蹲下).子程序站起,公开.如果真(是否蹲下=真)置位置(取X位置(),精灵基类.取Y位置()-6)置位置(取X位置(),精灵基类.取Y位置()-42).子程序取状态,整数型,公开返回(状态).子程序置位置,公开.参数X位置,整数型.参数Y位置,整数型精灵基类.置位置(X位置,Y位置)在第几屏=精灵基类.取X位置()800在第几屏=在第几屏+1障碍物.程序集障碍物,精灵基类精灵基类.置物体序号(#障碍物).子程序计算碰撞效果,整数型,公开,0.掉沟里1.挂了2.通过3.通不过4.变小5.变大.参数参碰撞
18、结构,碰撞结构.如果真(参碰撞结构.主角身体部位=#身体且参碰撞结构.主角状态=#上升或参碰撞结构.主角身体部位=#脚且参碰撞结构.主角状态=#上升)返回(#通过)返回(#通不过).子程序画碰撞效果,整数型,公开,0,成功,1,不用画,-1失败.局部变量当前状态序号,整数型图路径=精灵基类.取文件名(1).如果真(图路径)图路径=取目录路径()+图路径输出调试文本(图路径)小页面.建位图页面(参屏幕,图路径,)小页面.保存(e:1.bmp小页面.块复制(目标页面,取X位置(),取Y位置(),)小页面.透空块复制(目标页面,取X位置()%800,取Y位置(),)普通砖.程序集普通砖,精灵基类.程
19、序集变量砖块位置,矩形.程序集变量上飞1,整数型.程序集变量上飞2,整数型.程序集变量上飞顶,整数型.程序集变量精灵原文件名,文本型置时钟周期(1)精灵基类.置物体序号(#普通砖).子程序置精灵原文件名,逻辑型,公开.参数文,文本型精灵原文件名=文.子程序计算碰撞效果,整数型,公开,0.掉沟里1.挂了2.通过3.通不过.局部变量数组个数,文本型,输出调试文本(到文本(参碰撞结构.主角等级)+,+到文本(参碰撞结构.主角身体部位)+精灵原文件名).如果真(精灵原文件名=.判断开始(参碰撞结构.主角等级1且参碰撞结构.主角身体部位=#头且精灵原文件名且参碰撞结构.主角状态=#上升)大和头,砖碎了sfxcrack.wav砖块位置=取位置()上飞1=砖块位置.左边上飞2=砖块位置.右边上飞顶=砖块位置.顶边数组个数1=取文件名(1)置文件名(数组个数)精灵原文件名=返回(#通过