竞选按钮记忆游戏 2 (随机放置,时间限制)
这个版本的竞选按钮记忆游戏使用计时器来限制游戏时间和限制用户查看他们选择的图像的时间(当图像不匹配时)。这个版本还随机放置政治按钮在表单上,以便可以无限次地玩这个游戏。
引言
这个竞选按钮记忆游戏第二部分由 www.pcbutton.com 提供 - (2004 年竞选按钮、政治按钮和纪念品按钮)。
这个版本的竞选按钮记忆游戏使用计时器来限制游戏时间和限制用户查看他们选择的图像的时间(当图像不匹配时)。这个版本还随机放置政治按钮在表单上,以便可以无限次地玩这个游戏。
当用户选择了两个竞选按钮,他们有 1-2 秒的时间来查看它们。然后,如果这两个政治按钮相同,它们将保持可见,否则它们将消失。整个游戏也在 30 秒的时间限制内运行。在 30 秒的时间限制结束时,如果用户没有匹配所有竞选按钮,那么他/她就输掉了游戏。如果在 30 秒的时间限制结束前,用户匹配了所有政治按钮,那么他/她就赢了游戏。在每局游戏结束时,会出现“开始另一局游戏”按钮,以便用户可以玩另一轮。

竞选按钮是如何随机放置的?
当政治按钮数据(data.xml)被加载时,竞选按钮节点从随机位置提取并放置在文档的末尾。这个过程重复 100 次,而数据只有 12 个节点,因此它们被很好地随机化了。如果政治按钮数据超过 100 个节点,那么这个逻辑就必须修改为迭代更多次。
实例化一个文档来保存政治按钮数据
Set pDoc = New MSXML2.DOMDocument
加载政治按钮数据
pDoc.Load "data.xml"
迭代 100 次,从政治按钮数据中随机提取竞选按钮,并将它们放置在文档的末尾。
Dim i As Integer
For i = 0 To 100
Dim nl As IXMLDOMNodeList
Set nl = pDoc.selectNodes("./images/image")
Dim iLen As Integer
iLen = nl.length
Dim iFirstNode As Integer
iFirstNode = getRandLocation(iLen)
Dim temp1 As MSXML2.IXMLDOMNode
Set temp1 = nl.Item(iFirstNode)
Dim newtemp1 As MSXML2.IXMLDOMNode
Set newtemp1 = temp1.cloneNode(True)
Dim imgs As MSXML2.IXMLDOMNode
Set imgs = pDoc.selectSingleNode("./images")
imgs.appendChild newtemp1
imgs.removeChild temp1
Next
计时是如何工作的?
我们只使用计时器来计算一秒的间隔并递增计数器。计数器的值,因为它们最后一次重置,决定了已经过去了多少秒。这种方法的分辨率是一秒,但适用于我们的目的。
Private Sub tmrSecond_Timer()
如果用户选择了两个竞选按钮
If bStarted = True Then
如果他们查看两个竞选按钮的时间到了
If intTimeLeft = difficulty Then
然后继续,如果它们匹配,则保留竞选按钮的显示,或者如果它们不匹配,则隐藏它们。
continue
bStarted = False
End If
intTimeLeft = intTimeLeft + 1
Else
intTimeLeft = 0
End If
如果游戏开始
If bSecondsRemainingStarted = True Then
如果时间到了
If txtTimeRemaining = "0" Then
结束游戏,因为所有政治按钮没有在规定时间内匹配。
stopGameTimer
stopGameTimer
cmdButton.Caption = "Start Another Game"
lblOuput = "Click ""Start Another Game"" _
to begin playing Campaign Button Memory"
MsgBox "Sorry, time is up. Game over."
cmdButton.Visible = True
End If
If CInt(txtTimeRemaining) > 0 Then
txtTimeRemaining = CInt(txtTimeRemaining) - 1
End If
End If
End Sub
历史
- 2004年2月23日:最初发布