QUI卖萌作品《打地鼠》-工程师01 马上就要周末了,有些暴晒的午后,今天咱们的院刊小编,给大家带来咱们工程师01一款萌萌的按键精灵QUI作品~看看咱们的大姐大如何卖萌~~ |
- 您所在的用户组无法下载或查看附件
打地鼠这款小游戏,通过按键精灵纯QUI命令完成,没有插件命令哦~
在规定时间内,打中黄色的地鼠则游戏胜利。若打中炸弹(红色地鼠为炸弹),则游戏结束。
打地鼠——思路解析:
---->开始游戏;
---->地鼠和炸弹随机出现,定时器开始定时;
---->点击中地鼠,数量加1;
---->点击中炸弹,结束游戏。
---->定时器倒计时为0,结束游戏。
打地鼠——解构解析:
QUI窗体类的小游戏
一共用了5类QUI控件:
控件名称 | 控件属性 | 控件相应事件 |
窗体控件 | 可见/不可见 可用/不可用 | 加载、加载完成、卸载 |
图像控件 | 可见/不可见 可用/不可用 | 点击 |
标签控件 | 可见/不可见 可用/不可用 | 点击 |
定时器控件 | 不可见 可用/不可用 | 定时 |
按钮控件 | 可见/不可见 可用/不可用 | 点击 |
- 您所在的用户组无法下载或查看附件
① 窗体控件(Form1窗体);② 图像控件(logo图像、PictureBox1图像、地鼠图像、炸弹图像);
③ 标签控件(倒计时标签、数量标签);
④ 定时器控件(计时定时器);
⑤ 按钮控件(开始按钮)。
技术点二:随机函数:随机选择地鼠/炸弹出现的位置。 |
Randomize:初始化随机数生成器。
举例说明如何使用 Randomize 语句:
- Dim MyValue,Response
- Randomize '初始化随机数生成器。
- Do UntilResponse = vbNo
- MyValue = Int((6 * Rnd) + 1) ' 产生 1 到 6 之间的随机数。
- MsgBox MyValue
- Response = MsgBox ("Roll again? ",vbYesNo)
- Loop
复制代码
打地鼠——代码解析:
夜黑风高,我们一起玩玩打地鼠吧~~~
开始游戏按钮点击:Event Form1.开始.Click
初始化游戏之后,该隐藏的各个控件,该使用的各个控件属性走起~~~
地鼠/炸弹出现的位置,随机事件:Event Form1.随机.Timer
初始化几个地鼠坑的坐标,记入x、y数组。通过随机数来生成0-5的数组下标,来确认地鼠/炸弹出现的位置。
出现地鼠/炸弹,也是通过随机数来判断。
地鼠事件被点击:Event Form1.地鼠.Click
地鼠事件被点击之后,地鼠的计数器+1,然后地鼠这个图像消失。
炸弹事件被点击:Event Form1.炸弹.Click
炸弹事件被点击之后,炸弹图像消失,游戏结束。
倒计时事件启动:Event Form1.计时.Timer
倒计时小于等于0的时候,触发炸弹事件,游戏结束
- //<兄弟工程师01> 制作 2013.12.06
- //在规定的时间内,打中黄色的地鼠。红色地鼠为炸弹,打中游戏结束
- Event Form1.开始.Click
- k = - 1
- i = 0
- Form1.数量.Caption = "数量:" & i
- n = 30
- Form1.倒计时.Caption = "倒计时:" & n
- Form1.计时.Enabled = False
- Form1.计时.Enabled = True
- Form1.随机.Enabled = False
- Form1.随机.Enabled = True
- Form1.开始.Visible = False
- Form1.地鼠.Visible = False
- Form1.地鼠.Enabled = True
- Form1.炸弹.Visible = False
- Form1.logo.Visible = False
- End Event
- Event Form1.随机.Timer
- Dim x(5),y(5)
- x(0) = 123
- y(0) = 100
- x(1) = 339
- y(1) = 100
- x(2) = 561
- y(2) = 100
- x(3) = 123
- y(3) = 259
- x(4) = 339
- y(4) = 259
- x(5) = 561
- y(5) = 259
- Form1.地鼠.Visible = False
- Form1.炸弹.Visible = False
- Delay Lib.算法.随机数字串(2)
- Dim 数字
- Randomize
- 数字 = Int(2 * Rnd)
- If 数字 = 0 Then
- Do
- Randomize
- 数字 = Int(6 * Rnd)
- If 数字 <> k Then
- k = 数字
- Form1.地鼠.Left = x(数字)
- Form1.地鼠.Top = y(数字)
- Form1.地鼠.Visible = True
- Exit Do
- End If
- Loop
- Else
- Do
- Randomize
- 数字 = Int(6 * Rnd)
- If 数字 <> k Then
- k = 数字
- Form1.炸弹.Left = x(数字)
- Form1.炸弹.Top = y(数字)
- Form1.炸弹.Visible = True
- Exit Do
- End If
- Loop
- End If
- End Event
- Event Form1.地鼠.Click
- i = i + 1
- Form1.数量.Caption = "数量:" & i
- Form1.地鼠.Visible = False
- End Event
- Event Form1.炸弹.Click
- Form1.随机.Enabled = False
- Form1.计时.Enabled = False
- Form1.开始.Visible = True
- Form1.炸弹.Visible = False
- Form1.logo.Visible = True
- Form1.地鼠.Enabled = False
- Form1.地鼠.Left =339
- Form1.地鼠.Top = 259
- Form1.地鼠.Visible = True
- 数字 = k
- 'MessageBox "游戏结束"
- End Event
-
- Event Form1.计时.Timer
- n = n - 1
- Form1.倒计时.Caption = "倒计时:" & n
- If n <= 0 Then
- Form1.炸弹.Click
- End If
- End Event
复制代码- 您所在的用户组无法下载或查看附件