易语言怎么使用动画框做消除游戏

发布时间:2021-06-16 17:25:02 作者:小新
来源:亿速云 阅读:157

这篇文章给大家分享的是有关易语言怎么使用动画框做消除游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

全局变量表

.版本 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”, “最高得分”, 到文本 (最高得分))

运行结果:

易语言怎么使用动画框做消除游戏

感谢各位的阅读!关于“易语言怎么使用动画框做消除游戏”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. HTML5 Canvas 血战消除游戏[连连看]
  2. JS如何实现点星星消除小游戏

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

易语言

上一篇:易语言怎么使用通用对话框打开程序返回完整路径的文件名

下一篇:易语言如何使用超文本显示新浪天气预报

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》