易语言消除游戏 易语言使用动画框做消除游戏的代码
易语言源码教程 人气:0全局变量表
.版本 2 .全局变量 得分总和, 整数型 .全局变量 最高得分, 整数型 .全局变量 关卡, 整数型
利用动画框做的一个消除游戏
.版本 2 .支持库 iext2 .支持库 iext .程序集 窗口程序集1 .程序集变量 标识1, 整数型, , "100" .程序集变量 角度, 整数型 .程序集变量 是否开始, 逻辑型 .子程序 初始化 .局部变量 a, 整数型 .局部变量 b, 整数型 .局部变量 C, 整数型 .局部变量 d, 整数型 置随机数种子 () d = 1 .计次循环首 (10, a) .计次循环首 (10, b) C = 取随机数 (1, 5) 标识1 [d] = 动画框1.创建物体 (方块1, (b - 1) × 40, (a - 1) × 40, , ) 动画框1.置类型 (标识1 [d], d) 动画框1.置图片 (标识1 [d], 取图片组图片 (#图片组1, C - 1, ), ) 动画框1.置附加文本 (标识1 [d], 到文本 (C - 1)) 动画框1.置角度 (标识1 [d], 180) 动画框1.自动前进 (标识1 [d], 5, 1, , , , , , , ) d = d + 1 .计次循环尾 () .计次循环尾 () .如果 (关卡 = 1) 当前关卡.标题 = “第” + 到文本 (关卡) + “关” + “目标:” + “1000” .否则 .如果 (关卡 = 2) 当前关卡.标题 = “第” + 到文本 (关卡) + “关” + “目标:” + “3000” .否则 .如果 (关卡 ≥ 3 且 关卡 < 10) 当前关卡.标题 = “第” + 到文本 (关卡) + “关” + “目标:” + 到文本 ((关卡 - 1) × 3000) .否则 当前关卡.标题 = “第” + 到文本 (关卡) + “关” + “目标:” + 到文本 ((关卡 - 1) × 4000) .如果结束 .如果结束 .如果结束 .子程序 __启动窗口_创建完毕 关卡 = 1 初始化 () .如果真 (寻找文件 (取运行目录 () + “\win.ini”, ) = “”) 写配置项 (取运行目录 () + “\win.ini”, “userdata”, “最高得分”, 到文本 (最高得分)) .如果真结束 最高得分 = 到整数 (读配置项 (取运行目录 () + “\win.ini”, “userdata”, “最高得分”, )) 最高得分1.标题 = “最高得分:” + 到文本 (最高得分) .子程序 _动画框1_碰撞到边界, 逻辑型 .参数 物体标识值, 整数型 .参数 碰撞前横坐标, 整数型 .参数 碰撞前纵坐标, 整数型 .参数 边界类型, 整数型 .如果 (边界类型 = 8 且 边界类型 = 1) 动画框1.置物体位置 (物体标识值, 碰撞前横坐标, 碰撞前纵坐标, 真) 动画框1.停止自动前进 (物体标识值) .否则 .如果 (边界类型 = 8 且 动画框1.取角度 (物体标识值) = 180) 动画框1.置物体位置 (物体标识值, 碰撞前横坐标, 碰撞前纵坐标, 真) 动画框1.停止自动前进 (物体标识值) .否则 .如果结束 .如果结束 .子程序 _动画框1_碰撞到物体 .参数 碰撞物体标识值, 整数型 .参数 碰撞前横坐标, 整数型 .参数 碰撞前纵坐标, 整数型 .参数 被碰撞物体标识值, 整数型 动画框1.置物体位置 (碰撞物体标识值, 碰撞前横坐标, 碰撞前纵坐标, 真) .子程序 _动画框1_双击物体 .参数 物体标识值, 整数型 .局部变量 连定, 整数型, , "5" .局部变量 计数, 整数型 .局部变量 计次, 整数型 .局部变量 计次1, 整数型 .局部变量 计次2, 整数型 .局部变量 计次3, 整数型 .局部变量 计次4, 整数型 .局部变量 A, 整数型 .局部变量 B, 整数型 .局部变量 有无, 逻辑型 .局部变量 确定相连, 整数型, , "100" .局部变量 横坐标, 整数型 .局部变量 有没, 逻辑型 .局部变量 定位1, 整数型 .局部变量 剩余, 整数型 计数 = 1 .如果真 (物体标识值 ≤ 0) 返回 () .如果真结束 连定 [1] = 物体标识值 确定相连 [计数] = 连定 [1] 连定 [2] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) - 40) ' 上 .如果真 (连定 [2] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [2]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [2] .如果真结束 .如果真结束 连定 [3] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) + 40) ' 下 .如果真 (连定 [3] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [3]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [3] .如果真结束 .如果真结束 连定 [4] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) - 40, 动画框1.取物体顶边 (连定 [1])) ' 左 .如果真 (连定 [4] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [4]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [4] .如果真结束 .如果真结束 连定 [5] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) + 40, 动画框1.取物体顶边 (连定 [1])) ' 右 .如果真 (连定 [5] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [5]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [5] .如果真结束 .如果真结束 .如果真 (动画框1.取附加文本 (连定 [2]) ≠ 动画框1.取附加文本 (连定 [1]) 且 动画框1.取附加文本 (连定 [3]) ≠ 动画框1.取附加文本 (连定 [1]) 且 动画框1.取附加文本 (连定 [4]) ≠ 动画框1.取附加文本 (连定 [1]) 且 动画框1.取附加文本 (连定 [5]) ≠ 动画框1.取附加文本 (连定 [1])) 返回 () .如果真结束 .计次循环首 (计数 + 20, 计次) .如果真 (确定相连 [计次 + 1] = 0 或 计次 + 1 > 计数) 跳出循环 () .如果真结束 连定 [1] = 确定相连 [计次 + 1] .如果真 (有无 = 真) 有无 = 假 .如果真结束 连定 [2] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) - 40) ' 上 .如果真 (连定 [2] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [2]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [2] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [2] .如果真结束 有无 = 假 .如果真结束 .如果真结束 连定 [3] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) + 40) ' 下 .如果真 (连定 [3] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [3]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [3] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [3] .如果真结束 有无 = 假 .如果真结束 .如果真结束 连定 [4] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) - 40, 动画框1.取物体顶边 (连定 [1])) ' 左 .如果真 (连定 [4] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [4]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [4] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [4] .如果真结束 有无 = 假 .如果真结束 .如果真结束 连定 [5] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) + 40, 动画框1.取物体顶边 (连定 [1])) ' 右 .如果真 (连定 [5] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [5]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [5] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [5] .如果真结束 有无 = 假 .如果真结束 .如果真结束 .计次循环尾 () .计次循环首 (计数, 计次) 动画框1.销毁物体 (确定相连 [计次]) .计次循环尾 () .计次循环首 (9, 计次3) .计次循环首 (11, 计次) 横坐标 = (计次 - 1) × 40 .计次循环首 (100, 计次1) .如果真 (动画框1.是否在区域内 (标识1 [计次1], , , 横坐标, 0, 40, 500)) 有没 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有没 = 假) .计次循环首 (20 - 计次, 计次1) .计次循环首 (20 - 计次, 计次2) .如果真 (动画框1.定位物体 (横坐标 + 40 × 计次1, 动画框1.高度 - 40 × (计次2 - 1)) ≠ -1) 定位1 = 动画框1.定位物体 (横坐标 + 40 × 计次1, 动画框1.高度 - 40 × (计次2 - 1)) 动画框1.置角度 (定位1, 270) 动画框1.前进 (定位1, 40) 动画框1.置角度 (定位1, 180) .如果真结束 .计次循环尾 () .计次循环尾 () .如果真结束 有没 = 假 .计次循环尾 () .计次循环尾 () 得分总和 = 得分总和 + 计数 × 计数 × 5 当前得分.标题 = 到文本 (得分总和) .计次循环首 (100, 计次3) .如果真 (动画框1.是否已显示 (标识1 [计次3])) 连定 [1] = 标识1 [计次3] 连定 [2] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) - 40) 连定 [3] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) + 40) 连定 [4] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) - 40, 动画框1.取物体顶边 (连定 [1])) 连定 [5] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) + 40, 动画框1.取物体顶边 (连定 [1])) .如果真 (连定 [2] ≠ -1 且 动画框1.取附加文本 (连定 [2]) = 动画框1.取附加文本 (连定 [1])) 有没 = 假 返回 () .如果真结束 .如果真 (连定 [3] ≠ -1 且 动画框1.取附加文本 (连定 [3]) = 动画框1.取附加文本 (连定 [1])) 有没 = 假 返回 () .如果真结束 .如果真 (连定 [4] ≠ -1 且 动画框1.取附加文本 (连定 [4]) = 动画框1.取附加文本 (连定 [1])) 有没 = 假 返回 () .如果真结束 .如果真 (连定 [5] ≠ -1 且 动画框1.取附加文本 (连定 [5]) = 动画框1.取附加文本 (连定 [1])) 有没 = 假 返回 () .如果真结束 .如果真结束 .如果真 (计次3 = 100 且 有没 = 假) 有没 = 真 .如果真结束 .计次循环尾 () .如果真 (有没) 剩余 = 动画框1.取物体数 () .如果真 (剩余 < 10) 得分总和 = 得分总和 + 2000 - 剩余 × 剩余 × 20 当前得分.标题 = 到文本 (得分总和) .如果真结束 .如果真 (得分总和 > 最高得分) 最高得分 = 得分总和 当前得分.标题 = 到文本 (得分总和) 最高得分1.标题 = “最高得分:” + 到文本 (最高得分) .如果真结束 .如果真 (关卡 = 1) .如果 (到整数 (当前得分.标题) ≥ 1000) 信息框 (“闯关成功!”, 0, ) 关卡 = 关卡 + 1 当前得分.标题 = 到文本 (得分总和) 动画框1.销毁所有物体 () 初始化 () 返回 () .否则 信息框 (“闯关失败!”, 0, ) 关卡 = 1 当前得分.标题 = “0” 动画框1.销毁所有物体 () 初始化 () 返回 () .如果结束 .如果真结束 .如果真 (关卡 = 2) .如果 (到整数 (当前得分.标题) ≥ 3000) 信息框 (“闯关成功!”, 0, ) 关卡 = 关卡 + 1 当前得分.标题 = 到文本 (得分总和) 动画框1.销毁所有物体 () 初始化 () 返回 () .否则 信息框 (“闯关失败!”, 0, ) 关卡 = 1 当前得分.标题 = “0” 动画框1.销毁所有物体 () 初始化 () 返回 () .如果结束 .如果真结束 .如果真 (关卡 ≥ 3 且 关卡 < 10) .如果 (到整数 (当前得分.标题) ≥ (关卡 - 1) × 3000) 信息框 (“闯关成功!”, 0, ) 关卡 = 关卡 + 1 当前得分.标题 = 到文本 (得分总和) 动画框1.销毁所有物体 () 初始化 () 返回 () .否则 信息框 (“闯关失败!”, 0, ) 关卡 = 1 当前得分.标题 = “0” 动画框1.销毁所有物体 () 初始化 () 返回 () .如果结束 .如果真结束 .如果真 (关卡 ≥ 10) .如果 (到整数 (当前得分.标题) ≥ (关卡 - 1) × 4000) 信息框 (“闯关成功!”, 0, ) 关卡 = 关卡 + 1 当前得分.标题 = 到文本 (得分总和) 动画框1.销毁所有物体 () 初始化 () 返回 () .否则 信息框 (“闯关失败!”, 0, ) 关卡 = 1 当前得分.标题 = “0” 动画框1.销毁所有物体 () 初始化 () 返回 () .如果结束 .如果真结束 动画框1.销毁所有物体 () .如果真结束 .子程序 _重开按钮_被单击 动画框1.销毁所有物体 () 得分总和 = 0 初始化 () .子程序 _动画框1_物体左键被放开 .参数 物体标识值, 整数型 .参数 已被按下物体, 整数型 .局部变量 连定, 整数型, , "5" .局部变量 计数, 整数型 .局部变量 计次, 整数型 .局部变量 A, 整数型 .局部变量 有无, 逻辑型 .局部变量 确定相连, 整数型, , "100" .局部变量 变暗计次, 整数型 .如果真 (物体标识值 + 已被按下物体 > 0 且 物体标识值 = 已被按下物体) 计数 = 1 连定 [1] = 物体标识值 确定相连 [计数] = 连定 [1] 连定 [2] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) - 40) ' 上 .如果真 (连定 [2] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [2]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [2] .如果真结束 .如果真结束 连定 [3] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) + 40) ' 下 .如果真 (连定 [3] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [3]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [3] .如果真结束 .如果真结束 连定 [4] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) - 40, 动画框1.取物体顶边 (连定 [1])) ' 左 .如果真 (连定 [4] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [4]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [4] .如果真结束 .如果真结束 连定 [5] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) + 40, 动画框1.取物体顶边 (连定 [1])) ' 右 .如果真 (连定 [5] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [5]) = 动画框1.取附加文本 (连定 [1])) 计数 = 计数 + 1 确定相连 [计数] = 连定 [5] .如果真结束 .如果真结束 .如果真 (动画框1.取附加文本 (连定 [2]) ≠ 动画框1.取附加文本 (连定 [1]) 且 动画框1.取附加文本 (连定 [3]) ≠ 动画框1.取附加文本 (连定 [1]) 且 动画框1.取附加文本 (连定 [4]) ≠ 动画框1.取附加文本 (连定 [1]) 且 动画框1.取附加文本 (连定 [5]) ≠ 动画框1.取附加文本 (连定 [1])) 返回 () .如果真结束 .计次循环首 (计数 + 20, 计次) .如果真 (确定相连 [计次 + 1] = 0 或 计次 + 1 > 计数) 跳出循环 () .如果真结束 连定 [1] = 确定相连 [计次 + 1] .如果真 (有无 = 真) 有无 = 假 .如果真结束 连定 [2] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) - 40) ' 上 .如果真 (连定 [2] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [2]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [2] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [2] .如果真结束 有无 = 假 .如果真结束 .如果真结束 连定 [3] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]), 动画框1.取物体顶边 (连定 [1]) + 40) ' 下 .如果真 (连定 [3] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [3]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [3] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [3] .如果真结束 有无 = 假 .如果真结束 .如果真结束 连定 [4] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) - 40, 动画框1.取物体顶边 (连定 [1])) ' 左 .如果真 (连定 [4] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [4]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [4] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [4] .如果真结束 有无 = 假 .如果真结束 .如果真结束 连定 [5] = 动画框1.定位物体 (动画框1.取物体左边 (连定 [1]) + 40, 动画框1.取物体顶边 (连定 [1])) ' 右 .如果真 (连定 [5] ≠ -1) .如果真 (动画框1.取附加文本 (连定 [5]) = 动画框1.取附加文本 (连定 [1])) .计次循环首 (计数, A) .如果真 (连定 [5] = 确定相连 [A]) 有无 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (有无 = 假) 计数 = 计数 + 1 确定相连 [计数] = 连定 [5] .如果真结束 有无 = 假 .如果真结束 .如果真结束 .计次循环尾 () .如果真结束 .计次循环首 (100, 变暗计次) 动画框1.置亮度 (标识1 [变暗计次], 0) .计次循环尾 () .计次循环首 (计数, 计次) 动画框1.置亮度 (确定相连 [计次], 250) .计次循环尾 () 本次得分1.标题 = 到文本 (计数 × 计数 × 5) .子程序 __启动窗口_将被销毁 写配置项 (取运行目录 () + “\win.ini”, “userdata”, “最高得分”, 到文本 (最高得分))
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
加载全部内容