精易论坛

标题: e语言游戏原创 给个例程 [打印本页]

作者: zhugeliang    时间: 2018-4-2 13:32
标题: e语言游戏原创 给个例程
尽情下载
.版本 2
.支持库 EdirectX
.支持库 wmp9
.程序集 窗口程序集1
.程序集变量 主屏幕, 屏幕
.程序集变量 缓冲页面, 页面
.程序集变量 主页面, 页面
.程序集变量 数据页面, 页面, , "0"
.程序集变量 游戏进行中, 逻辑型
.程序集变量 Unit, 单位, , "200"
.程序集变量 生命, 整数型
.程序集变量 StartPoint, 整数型, , "7"
.程序集变量 Key, 整数型, , "7"
.程序集变量 Keyed, 逻辑型, , "7"
.程序集变量 Hit, 整数型
.程序集变量 统计数据, 统计数据
.程序集变量 音符队列, 队列, , "0"
.程序集变量 游戏循环数, 整数型
.程序集变量 队列位置, 整数型
.程序集变量 暂停, 逻辑型
.程序集变量 当前MP3, 文本型
.程序集变量 Free, 逻辑型
.程序集变量 Wave, WAVE声音
.子程序 __启动窗口_创建完毕
_启动窗口.可视 = 真
置随机数种子 ()
.如果 (DirexcX初始化 ())
.否则
    信息框 (“DirectX初始化失败”, 16, “错误”)
    返回 ()
.如果结束
游戏速度 = 5
音符数量 = 8
DirexcX初始化 ()

.子程序 游戏主循环
.判断循环首 (游戏进行中)
    _启动窗口.标题 = “劲乐团  Playing(” + 当前MP3 + “)”
    .如果真 (游戏循环数 > 100 且 取文本左边 (播放器.状态, 4) ≠ “正在” 且 取单位数 () = 0)
        游戏进行中 = 假
        开始游戏.标题 = “开始游戏”
        _启动窗口.标题 = “过关”
        设置难度.禁止 = 假
        暂停游戏.禁止 = 真
    .如果真结束
    .如果真 (取反 (暂停) 且 取反 (Free))
        游戏处理 ()
        游戏渲染 ()
    .如果真结束
    延时 (20)
    处理事件 ()
    游戏循环数 = 游戏循环数 + 1
.判断循环尾 ()
.子程序 游戏处理
.局部变量 单位号, 整数型
.局部变量 随机数, 整数型
.如果真 (取文本左边 (播放器.状态, 4) = “正在”)
    .如果真 (音符队列 [队列位置].出现时间 = 游戏循环数)
        单位号 = 取未使用单位 ()
        随机数 = 音符队列 [队列位置].值
        ' 随机数 = 取随机数 (1, 7)
        Unit [单位号].是否已经使用 = 真
        Unit [单位号].类型 = 1
        Unit [单位号].坐标.x = StartPoint [随机数]
        Unit [单位号].坐标.y = 0
        Unit [单位号].移动速度 = 游戏速度
        Unit [单位号].消灭键 = Key [随机数]
        .判断开始 (随机数 = 1 或 随机数 = 3 或 随机数 = 5 或 随机数 = 7)
            Unit [单位号].使用页面 = 2
        .默认
        .判断结束
        .判断开始 (随机数 = 2 或 随机数 = 6)
            Unit [单位号].使用页面 = 4
        .默认
        .判断结束
        .判断开始 (随机数 = 4)
            Unit [单位号].使用页面 = 3
        .默认
        .判断结束
        队列位置 = 队列位置 + 1
    .如果真结束
.如果真结束
单位移动 ()
.子程序 游戏渲染
.局部变量 j, 整数型
.局部变量 生命文本, 文本型
.局部变量 页面大小, 整数型
缓冲页面.填充页面 (0)
' 画单位
.判断开始 (Keyed [1])
    数据页面 [5].块复制 (缓冲页面, StartPoint [1], 120, )
.默认
.判断结束
.判断开始 (Keyed [7])
    数据页面 [5].块复制 (缓冲页面, StartPoint [7], 120, )
.默认
.判断结束
.判断开始 (Keyed [2])
    数据页面 [6].块复制 (缓冲页面, StartPoint [2], 120, )
.默认
.判断结束
.判断开始 (Keyed [6])
    数据页面 [6].块复制 (缓冲页面, StartPoint [6], 120, )
.默认
.判断结束
.判断开始 (Keyed [3])
    数据页面 [5].块复制 (缓冲页面, StartPoint [3], 120, )
.默认
.判断结束
.判断开始 (Keyed [5])
    数据页面 [5].块复制 (缓冲页面, StartPoint [5], 120, )
.默认
.判断结束
.判断开始 (Keyed [4])
    数据页面 [7].块复制 (缓冲页面, StartPoint [4], 120, )
.默认
.判断结束
.计次循环首 (200, j)
    .如果真 (Unit [j].是否已经使用)
        .判断开始 (Unit [j].类型 = 1)
            数据页面 [Unit [j].使用页面].透空块复制 (缓冲页面, Unit [j].坐标.x, Unit [j].坐标.y, )
        .默认
        .判断结束
        .判断开始 (Unit [j].类型 = 2)
            数据页面 [Unit [j].变量 [1]].透空块复制 (缓冲页面, Unit [j].坐标.x, Unit [j].坐标.y, )
            Unit [j].变量 [2] = Unit [j].变量 [2] - 1
            .如果真 (Unit [j].变量 [2] = 0)
                Unit [j].变量 [2] = 5
                Unit [j].变量 [1] = Unit [j].变量 [1] + 1
                .如果真 (Unit [j].变量 [1] > 13)
                    销毁单位 (j)
                .如果真结束
            .如果真结束
        .默认
        .判断结束
    .如果真结束
.计次循环尾 ()
缓冲页面.填充矩形 (0, 0, 生命 × 0.75, 10, #灰绿)
' 缓冲页面.写文字 (10, 465, #白色, 生命文本)
' 画键盘
.如果真 (Hit > 1)
    缓冲页面.写文字 (60, 150, 取随机数 (25000, 65535), “Combo ” + 到文本 (Hit))
.如果真结束
数据页面 [1].块复制 (缓冲页面, 0, 427, )
.如果真 (取反 (游戏进行中))
    缓冲页面.写文字 (45, 200, #嫩黄, “G A M E  O V E R”)
    缓冲页面.写文字 (45, 215, #嫩黄, “最终得分:” + 到文本 (统计数据.得分))
    缓冲页面.写文字 (45, 230, #嫩黄, “击中:” + 到文本 (统计数据.击中))
    缓冲页面.写文字 (45, 245, #嫩黄, “击空:” + 到文本 (统计数据.击空))
    缓冲页面.写文字 (45, 260, #嫩黄, “MISS:” + 到文本 (统计数据.Miss))
    缓冲页面.写文字 (45, 275, #嫩黄, “Max Hit:” + 到文本 (统计数据.最大连击))
.如果真结束
缓冲页面.块复制 (主页面, 0, 0, )
主屏幕.交换页面 (假, 真, 假)
.子程序 游戏设置
游戏速度 = 到数值 (窗口1.编辑框1.内容)
音符数量 = 到数值 (窗口1.编辑框2.内容)
.子程序 单位移动
.局部变量 j, 整数型
.计次循环首 (200, j)
    .如果真 (Unit [j].是否已经使用 且 Unit [j].类型 = 1)
        .如果 (Unit [j].坐标.y > 430)
            销毁单位 (j)
            生命 = 生命 - 1
            Hit = 0
            统计数据.Miss = 统计数据.Miss + 1
            .如果真 (生命 = 0)
                设置难度.禁止 = 假
                暂停游戏.禁止 = 真
                游戏进行中 = 假
                开始游戏.标题 = “开始游戏”
                跳出循环 ()
            .如果真结束
        .否则
            Unit [j].坐标.y = Unit [j].坐标.y + Unit [j].移动速度
        .如果结束
    .如果真结束
.计次循环尾 ()
.子程序 取未使用单位, 整数型
.局部变量 j, 整数型
.计次循环首 (200, j)
    .如果真 (取反 (Unit [j].是否已经使用))
        返回 (j)
    .如果真结束
.计次循环尾 ()
返回 (0)
.子程序 销毁单位
.参数 单位号, 整数型
.局部变量 j, 整数型
Unit [单位号].坐标.x = 0
Unit [单位号].坐标.y = 0
Unit [单位号].使用页面 = 0
Unit [单位号].是否已经使用 = 假
Unit [单位号].消灭键 = 0
Unit [单位号].类型 = 0
.计次循环首 (10, j)
    Unit [单位号].变量 [j] = 0
.计次循环尾 ()
.子程序 __启动窗口_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.局部变量 j, 整数型
.局部变量 j1, 整数型
.局部变量 单位号, 整数型
.计次循环首 (7, j)
    .如果真 (键代码 = Key [j])
        Wave.播放 (1)
        .计次循环首 (200, j1)
            .如果真 (Unit [201 - j1].消灭键 = 键代码 且 Unit [201 - j1].坐标.y > 365 且 Keyed [j] = 假)
                ' 暂停 ()
                Hit = Hit + 1
                .如果真 (Hit > 统计数据.最大连击)
                    统计数据.最大连击 = Hit
                .如果真结束
                统计数据.得分 = 统计数据.得分 + Hit × 10
                统计数据.击中 = 统计数据.击中 + 1
                单位号 = 取未使用单位 ()
                Unit [单位号].是否已经使用 = 真
                Unit [单位号].类型 = 2
                Unit [单位号].坐标.x = Unit [201 - j1].坐标.x
                Unit [单位号].坐标.y = 395
                Unit [单位号].移动速度 = 0
                Unit [单位号].消灭键 = 0
                Unit [单位号].变量 [1] = 8
                Unit [单位号].变量 [2] = 5
                销毁单位 (201 - j1)
                Keyed [j] = 真
                返回 ()
            .如果真结束
        .计次循环尾 ()
        Keyed [j] = 真
        统计数据.击空 = 统计数据.击空 + 1
    .如果真结束
.计次循环尾 ()
.子程序 载入MP3, 逻辑型
.局部变量 Data, 字节集
.局部变量 j, 整数型
.局部变量 temp, 队列
.局部变量 t, 整数型

通用对话框1.文件名 = “”
通用对话框1.打开 ()
.如果真 (通用对话框1.文件名 = “”)
    返回 (假)
.如果真结束
_启动窗口.标题 = “Loading . . .”
清除数组 (音符队列)
Data = 读入文件 (通用对话框1.文件名)
.计次循环首 (取字节集长度 (Data), j)
    .如果真 (到数值 (Data [j]) < 音符数量 且 到数值 (Data [j]) > 0)
        t = Data [j] % 7
        .如果真 (t = 0)
            t = 7
        .如果真结束
        temp.值 = t
        temp.出现时间 = j
        输出调试文本 (temp.出现时间)
        加入成员 (音符队列, temp)
    .如果真结束
.计次循环尾 ()
' 输出调试文本 (取数组成员数 (音符队列))
当前MP3 = 通用对话框1.文件名
返回 (真)
.子程序 游戏初始化
.局部变量 j, 整数型
游戏进行中 = 真
.计次循环首 (200, j)
    销毁单位 (j)
.计次循环尾 ()
StartPoint [1] = 1
StartPoint [2] = 30
StartPoint [3] = 52
StartPoint [4] = 82
StartPoint [5] = 112
StartPoint [6] = 140
StartPoint [7] = 162
Key [1] = #S键
Key [2] = #D键
Key [3] = #F键
Key [4] = #空格键
Key [5] = #J键
Key [6] = #K键
Key [7] = #L键
统计数据.得分 = 0
统计数据.击中 = 0
统计数据.击空 = 0
统计数据.最大连击 = 0
生命 = 100
队列位置 = 1
游戏循环数 = 0
暂停 = 假
暂停游戏.标题 = “暂停游戏”
播放器.地址 = 当前MP3
游戏主循环 ()
.子程序 DirexcX初始化, 逻辑型
.局部变量 临时页面, 页面
.局部变量 资源列表, 文本型, , "0"
.局部变量 j, 整数型
.局部变量 CDHwnd, 声音
.如果 (主屏幕.创建窗口模式 (_启动窗口.取窗口句柄 (), 192, 480))
    主屏幕.淡入到黑色 (10)
    主屏幕.交换页面 (假, 真, 假)
    主页面 = 主屏幕.取后台页面 ()
    缓冲页面.建空页面 (主屏幕, 192, 480, )
    资源列表 = 分割文本 (到文本 (读入文件 (“resfile.txt”)), #换行符, )
    .计次循环首 (取数组成员数 (资源列表), j)
        临时页面.建位图页面 (主屏幕, 资源列表 [j], )
        临时页面.置关键色 (0)
        加入成员 (数据页面, 临时页面)
    .计次循环尾 ()
    CDHwnd.初始化 (_启动窗口.取窗口句柄 (), )
    输出调试文本 (Wave.载入Wave文件 (CDHwnd, “Sound.wav”, ))
.否则
    返回 (假)
.如果结束
返回 (真)

.子程序 __启动窗口_放开某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.局部变量 j, 整数型
.计次循环首 (7, j)
    .如果真 (键代码 = Key [j])
        Keyed [j] = 假
    .如果真结束
.计次循环尾 ()
.子程序 __启动窗口_失去焦点
.局部变量 j, 整数型
Free = 真
.计次循环首 (7, j)
    Keyed [j] = 假
.计次循环尾 ()
.子程序 取单位数, 整数型
.局部变量 j, 整数型
.局部变量 a, 整数型
.计次循环首 (200, j)
    .如果真 (Unit [j].是否已经使用)
        a = a + 1
    .如果真结束
.计次循环尾 ()
返回 (a)
.子程序 _开始游戏_被选择
.如果真 (游戏进行中)
    开始游戏.标题 = “开始游戏”
    当前MP3 = “”
    播放器.地址 = “”
    游戏进行中 = 假
    设置难度.禁止 = 假
    暂停游戏.禁止 = 真
    返回 ()
.如果真结束
.如果真 (载入MP3 ())
    开始游戏.标题 = “结束游戏”
    设置难度.禁止 = 真
    暂停游戏.禁止 = 假
    游戏初始化 ()
.如果真结束

.子程序 _暂停游戏_被选择
.如果 (暂停)
    暂停 = 假
    暂停游戏.标题 = “暂停游戏”
.否则
    暂停 = 真
    暂停游戏.标题 = “继续游戏”
.如果结束

.子程序 _退出_被选择
结束 ()

.子程序 _设置难度_被选择
.如果真 (游戏进行中)
    信息框 (“现在不能设置难度”, 64, “劲乐”)
    返回 ()
.如果真结束
载入 (窗口1, , 真)
.子程序 _载入MP3_被选择
.如果真 (取反 (载入MP3 ()))
.如果真结束

.子程序 __启动窗口_获得焦点
Free = 假

劲乐.e

38.64 KB, 下载次数: 113, 下载积分: 精币 -2 枚


作者: 默的然    时间: 2018-4-2 17:40
好东西,支持一下
作者: 默的然    时间: 2018-4-2 17:41
好东西,支持一下
作者: 15205306429    时间: 2018-4-2 18:38
感谢分享  不错
作者: 1279868433    时间: 2018-4-2 21:38
新技能已get√
作者: ljx111    时间: 2018-4-3 09:40
看一下先~~~~~~~~~~~~
作者: xiaole1118    时间: 2018-4-3 10:24
这个6 啊   
作者: 2257001    时间: 2018-4-4 00:18
顶~~什么游戏来的
作者: 网络注册会员    时间: 2018-4-4 09:54
好强大顶你
作者: 青春失笑    时间: 2018-4-4 19:55
这个点个赞,支持下,也希望精易论坛越办越好
作者: 心玖梦    时间: 2018-4-5 00:38
还行。。。。。。。。。。。。
作者: 4slajfpahf    时间: 2018-4-6 19:14

支持楼主赞赞
作者: o暴走的橘子o    时间: 2018-4-12 01:03
运行报错 目测缺少resfile.txt
作者: ppddxd    时间: 2018-4-14 11:56
没有截图可以看一下吗
作者: 慕先生    时间: 2018-4-16 14:03
6666666666666
作者: 傲天龙尊    时间: 2018-4-18 15:36
下载一个看看………………
作者: 意点玲珑    时间: 2018-4-18 22:48
下载学习一下
作者: leipeng    时间: 2018-4-20 23:43

没有截图可以看一下吗
作者: 神话98ker    时间: 2018-6-24 14:10
打不开




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4