有关计算机代码的游戏,七灯游戏是一款经典的益智类游戏。游戏中,有七盏灯排成一圈,如图a所示,初始时灯的开关状态随机生成,操作其中某一盏灯,则可以切换该灯的“开/关”状态,同时,这盏灯-组卷网...
七燈游戲是一款經(jīng)典的益智類游戲。游戲中,有七盞燈排成一圈,如圖a所示,初始時(shí)燈的開關(guān)狀態(tài)隨機(jī)生成,操作其中某一盞燈,則可以切換該燈的“開/關(guān)”狀態(tài),同時(shí),這盞燈對面的兩盞燈也會切換“開/關(guān)”狀態(tài),如圖b所示:
圖a
圖b
圖a為初始狀態(tài),操作圈中的燈,則該燈與對面的兩盞燈都會切換“開/關(guān)”狀態(tài),如圖b所示。假設(shè)這些燈的編號為0到6號,“開/關(guān)”狀態(tài)隨機(jī)產(chǎn)生,并輸出到列表框List1中,接著需要從中選出數(shù)盞燈進(jìn)行操作,使得最后所有燈都打開(已證明方案-一定存在且唯一),并在列表框List2中輸出燈的編號。
程序采用枚舉策略,一一嘗試對每盞燈狀態(tài)進(jìn)行“切換"操作,“1”表示對當(dāng)前燈進(jìn)行切換,“0”表示不操作。
程序運(yùn)行界面如圖c所示。
圖c
(1)0-6號燈的初始狀態(tài)為“關(guān)?關(guān)?關(guān)?開?關(guān)?關(guān)?開”,如對1號燈進(jìn)行切換操作,對面隨之切換燈的編號是:_________________和_____________
(2)實(shí)現(xiàn)上述功能的VB程序如下,請?jiān)趧澗€處填入合適的代碼。
Dim a(0 To 6)As Integer,b(0 To 6) As Integer
Private Sub Command1_Click()
Dim i As Integer,x As Integer,pos As Integer
Dim flag As Boolean
List2.Clear
For i = 0 To __________①________
x = i:pos = 0:flag = True
For j = 0 To 6
b(j)= a(j)
Next j
Do While x > 0
If x Mod 2 = 1 Then
b(pos)= 1 - b(pos)
b((pos + 3) Mod 7) = 1 – b((pos + 3) Mod 7)
___________②_______
End If
pos = pos + 1
x = x \ 2
Loop
For j = 0 To 6
If _____③___ Then flag = False:Exit For
Next j
If flag Then
pos = 0
Do While i > 0
If i Mod 2 = 1 Then List2.AddItem? "第" + CStr(pos)+? "號"
i = i \ 2
pos = pos + 1
Loop
Exit For
End If
Next i
End Sub
Private Sub Form_Load()’隨機(jī)生成初始數(shù)據(jù)
Dim i As Integer
Randomize
List1.Clear
For i = 0 To 6
a(i)= Int(Rnd * 2)
If a(i)= 1 Then
List1.AddItem? "第" + CStr(i) +? "號:"+? "開"
Else
List1.AddItem "第" + CStr(i) +? "號:" +? "關(guān)"
End If
Next i
End Sub
總結(jié)
以上是生活随笔為你收集整理的有关计算机代码的游戏,七灯游戏是一款经典的益智类游戏。游戏中,有七盏灯排成一圈,如图a所示,初始时灯的开关状态随机生成,操作其中某一盏灯,则可以切换该灯的“开/关”状态,同时,这盏灯-组卷网...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《乌冬的旅店》玩家必看!轻松操作
- 下一篇: 风暴奇兵有哪些强力阵容 风暴奇兵阵容推荐