本文介绍了Mastermind游戏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在创建一个策划游戏,我有一些代码可以执行所有操作,但会根据随机计算机颜色集来检查答案。我想知道是否有人可以帮助我理解这部分代码是如何工作的。这就是我到目前为止所拥有的。
I am creating a mastermind game and I have code that does everything but check the answer against the randomized computer set of colors. I was wondering If anyone could help me understand how that part of the code would work. This is what I have so far.
Public Class Form1
Private checkguess_Count As Integer = 0
Private btn1_Count As Integer = 0
Private btn2_Count As Integer = 0
Private btn3_Count As Integer = 0
Private btn4_Count As Integer = 0
Dim rndColor As Integer
Dim red As Color = Color.Red
Dim green As Color = Color.Green
Dim blue As Color = Color.Blue
Dim white As Color = Color.White
Dim numbers = New Color() {red, green, blue, white}
Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
'Exit button
Application.Exit()
End Sub
Private Sub HelpToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HelpToolStripMenuItem.Click
MessageBox.Show("Click on each box to change the color of your guess. When you are ready click check guess to see your feedback and then try again!")
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MessageBox.Show("Welcome to Mastermind!")
Dim rand As New Random
picA1.BackColor = numbers(rand.Next(0, numbers.length))
picA2.BackColor = numbers(rand.Next(0, numbers.length))
picA3.BackColor = numbers(rand.Next(0, numbers.length))
picA4.BackColor = numbers(rand.Next(0, numbers.length))
End Sub
Private Sub NewGameToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NewGameToolStripMenuItem.Click
Dim rand As New Random
picA1.BackColor = numbers(rand.Next(0, numbers.length))
picA2.BackColor = numbers(rand.Next(0, numbers.length))
picA3.BackColor = numbers(rand.Next(0, numbers.length))
picA4.BackColor = numbers(rand.Next(0, numbers.length))
txtHide.Visible = True
checkguess_Count = 0
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
'Set all boxes back
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
picC1.BackColor = white
picC2.BackColor = white
picC3.BackColor = white
picC4.BackColor = white
picD1.BackColor = white
picD2.BackColor = white
picD3.BackColor = white
picD4.BackColor = white
picE1.BackColor = white
picE2.BackColor = white
picE3.BackColor = white
picE4.BackColor = white
picF1.BackColor = white
picF2.BackColor = white
picF3.BackColor = white
picF4.BackColor = white
picG1.BackColor = white
picG2.BackColor = white
picG3.BackColor = white
picG4.BackColor = white
picH1.BackColor = white
picH2.BackColor = white
picH3.BackColor = white
picH4.BackColor = white
picI1.BackColor = white
picI2.BackColor = white
picI3.BackColor = white
picI4.BackColor = white
End Sub
Private Sub btnCheckGuess_Click(sender As Object, e As EventArgs) Handles btnCheckGuess.Click
checkguess_Count = checkguess_Count + 1
'1st Guess
If checkguess_Count = 1 Then
If picB1.BackColor = red Then
picI1.BackColor = red
ElseIf picB1.BackColor = green Then
picI1.BackColor = green
ElseIf picB1.BackColor = blue Then
picI1.BackColor = blue
Else picI1.BackColor = white
End If
If picB2.BackColor = red Then
picI2.BackColor = red
ElseIf picB2.BackColor = green Then
picI2.BackColor = green
ElseIf picB2.BackColor = blue Then
picI2.BackColor = blue
Else picI2.BackColor = white
End If
If picB3.BackColor = red Then
picI3.BackColor = red
ElseIf picB3.BackColor = green Then
picI3.BackColor = green
ElseIf picB3.BackColor = blue Then
picI3.BackColor = blue
Else picI3.BackColor = white
End If
If picB4.BackColor = red Then
picI4.BackColor = red
ElseIf picB4.BackColor = green Then
picI4.BackColor = green
ElseIf picB4.BackColor = blue Then
picI4.BackColor = blue
Else picI4.BackColor = white
End If
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
End If
'2nd Guess
If checkguess_Count = 2 Then
If picB1.BackColor = red Then
picH1.BackColor = red
ElseIf picB1.BackColor = green Then
picH1.BackColor = green
ElseIf picB1.BackColor = blue Then
picH1.BackColor = blue
Else picH1.BackColor = white
End If
If picB2.BackColor = red Then
picH2.BackColor = red
ElseIf picB2.BackColor = green Then
picH2.BackColor = green
ElseIf picB2.BackColor = blue Then
picH2.BackColor = blue
Else picH2.BackColor = white
End If
If picB3.BackColor = red Then
picH3.BackColor = red
ElseIf picB3.BackColor = green Then
picH3.BackColor = green
ElseIf picB3.BackColor = blue Then
picH3.BackColor = blue
Else picH3.BackColor = white
End If
If picB4.BackColor = red Then
picH4.BackColor = red
ElseIf picB4.BackColor = green Then
picH4.BackColor = green
ElseIf picB4.BackColor = blue Then
picH4.BackColor = blue
Else picH4.BackColor = white
End If
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
End If
'3rd Guess
If checkguess_Count = 3 Then
If picB1.BackColor = red Then
picG1.BackColor = red
ElseIf picB1.BackColor = green Then
picG1.BackColor = green
ElseIf picB1.BackColor = blue Then
picG1.BackColor = blue
Else picG1.BackColor = white
End If
If picB2.BackColor = red Then
picG2.BackColor = red
ElseIf picB2.BackColor = green Then
picG2.BackColor = green
ElseIf picB2.BackColor = blue Then
picG2.BackColor = blue
Else picG2.BackColor = white
End If
If picB3.BackColor = red Then
picG3.BackColor = red
ElseIf picB3.BackColor = green Then
picG3.BackColor = green
ElseIf picB3.BackColor = blue Then
picG3.BackColor = blue
Else picG3.BackColor = white
End If
If picB4.BackColor = red Then
picG4.BackColor = red
ElseIf picB4.BackColor = green Then
picG4.BackColor = green
ElseIf picB4.BackColor = blue Then
picG4.BackColor = blue
Else picG4.BackColor = white
End If
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
End If
'4th Guess
If checkguess_Count = 4 Then
If picB1.BackColor = red Then
picF1.BackColor = red
ElseIf picB1.BackColor = green Then
picF1.BackColor = green
ElseIf picB1.BackColor = blue Then
picF1.BackColor = blue
Else picF1.BackColor = white
End If
If picB2.BackColor = red Then
picF2.BackColor = red
ElseIf picB2.BackColor = green Then
picF2.BackColor = green
ElseIf picB2.BackColor = blue Then
picF2.BackColor = blue
Else picF2.BackColor = white
End If
If picB3.BackColor = red Then
picF3.BackColor = red
ElseIf picB3.BackColor = green Then
picF3.BackColor = green
ElseIf picB3.BackColor = blue Then
picF3.BackColor = blue
Else picF3.BackColor = white
End If
If picB4.BackColor = red Then
picF4.BackColor = red
ElseIf picB4.BackColor = green Then
picF4.BackColor = green
ElseIf picB4.BackColor = blue Then
picF4.BackColor = blue
Else picF4.BackColor = white
End If
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
End If
'5th Guess
If checkguess_Count = 5 Then
If picB1.BackColor = red Then
picE1.BackColor = red
ElseIf picB1.BackColor = green Then
picE1.BackColor = green
ElseIf picB1.BackColor = blue Then
picE1.BackColor = blue
Else picE1.BackColor = white
End If
If picB2.BackColor = red Then
picE2.BackColor = red
ElseIf picB2.BackColor = green Then
picE2.BackColor = green
ElseIf picB2.BackColor = blue Then
picE2.BackColor = blue
Else picE2.BackColor = white
End If
If picB3.BackColor = red Then
picE3.BackColor = red
ElseIf picB3.BackColor = green Then
picE3.BackColor = green
ElseIf picB3.BackColor = blue Then
picE3.BackColor = blue
Else picE3.BackColor = white
End If
If picB4.BackColor = red Then
picE4.BackColor = red
ElseIf picB4.BackColor = green Then
picE4.BackColor = green
ElseIf picB4.BackColor = blue Then
picE4.BackColor = blue
Else picE4.BackColor = white
End If
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
End If
'6th Guess
If checkguess_Count = 6 Then
If picB1.BackColor = red Then
picD1.BackColor = red
ElseIf picB1.BackColor = green Then
picD1.BackColor = green
ElseIf picB1.BackColor = blue Then
picD1.BackColor = blue
Else picD1.BackColor = white
End If
If picB2.BackColor = red Then
picD2.BackColor = red
ElseIf picB2.BackColor = green Then
picD2.BackColor = green
ElseIf picB2.BackColor = blue Then
picD2.BackColor = blue
Else picD2.BackColor = white
End If
If picB3.BackColor = red Then
picD3.BackColor = red
ElseIf picB3.BackColor = green Then
picD3.BackColor = green
ElseIf picB3.BackColor = blue Then
picD3.BackColor = blue
Else picD3.BackColor = white
End If
If picB4.BackColor = red Then
picD4.BackColor = red
ElseIf picB4.BackColor = green Then
picD4.BackColor = green
ElseIf picB4.BackColor = blue Then
picD4.BackColor = blue
Else picD4.BackColor = white
End If
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
End If
'7th Guess
If checkguess_Count = 7 Then
If picB1.BackColor = red Then
picC1.BackColor = red
ElseIf picB1.BackColor = green Then
picC1.BackColor = green
ElseIf picB1.BackColor = blue Then
picC1.BackColor = blue
Else picC1.BackColor = white
End If
If picB2.BackColor = red Then
picC2.BackColor = red
ElseIf picB2.BackColor = green Then
picC2.BackColor = green
ElseIf picB2.BackColor = blue Then
picC2.BackColor = blue
Else picC2.BackColor = white
End If
If picB3.BackColor = red Then
picC3.BackColor = red
ElseIf picB3.BackColor = green Then
picC3.BackColor = green
ElseIf picB3.BackColor = blue Then
picC3.BackColor = blue
Else picC3.BackColor = white
End If
If picB4.BackColor = red Then
picC4.BackColor = red
ElseIf picB4.BackColor = green Then
picC4.BackColor = green
ElseIf picB4.BackColor = blue Then
picC4.BackColor = blue
Else picC4.BackColor = white
End If
picB1.BackColor = white
picB2.BackColor = white
picB3.BackColor = white
picB4.BackColor = white
btn1_Count = 0
btn2_Count = 0
btn3_Count = 0
btn4_Count = 0
End If
If checkguess_Count >= 8 Then
MessageBox.Show("Hey you either lost or won, start a new game!")
txtHide.Visible = False
End If
End Sub
Private Sub picB1_Click(sender As Object, e As EventArgs) Handles picB1.Click
btn1_Count = btn1_Count + 1
If (btn1_Count = 1) Then
picB1.BackColor = red
ElseIf (btn1_Count = 2) Then
picB1.BackColor = green
ElseIf (btn1_Count = 3) Then
picB1.BackColor = blue
ElseIf (btn1_Count = 4) Then
picB1.BackColor = white
ElseIf (btn1_Count = 5) Then
btn1_Count = 0
End If
End Sub
Private Sub picB2_Click(sender As Object, e As EventArgs) Handles picB2.Click
btn2_Count = btn2_Count + 1
If (btn2_Count = 1) Then
picB2.BackColor = red
ElseIf (btn2_Count = 2) Then
picB2.BackColor = green
ElseIf (btn2_Count = 3) Then
picB2.BackColor = blue
ElseIf (btn2_Count = 4) Then
picB2.BackColor = white
ElseIf (btn2_Count = 5) Then
btn2_Count = 0
End If
End Sub
Private Sub picB3_Click(sender As Object, e As EventArgs) Handles picB3.Click
btn3_Count = btn3_Count + 1
If (btn3_Count = 1) Then
picB3.BackColor = red
ElseIf (btn3_Count = 2) Then
picB3.BackColor = green
ElseIf (btn3_Count = 3) Then
picB3.BackColor = blue
ElseIf (btn3_Count = 4) Then
picB3.BackColor = white
ElseIf (btn3_Count = 5) Then
btn3_Count = 0
End If
End Sub
Private Sub picB4_Click(sender As Object, e As EventArgs) Handles picB4.Click
btn4_Count = btn4_Count + 1
If (btn4_Count = 1) Then
picB4.BackColor = red
ElseIf (btn4_Count = 2) Then
picB4.BackColor = green
ElseIf (btn4_Count = 3) Then
picB4.BackColor = blue
ElseIf (btn4_Count = 4) Then
picB4.BackColor = white
ElseIf (btn4_Count = 5) Then
btn4_Count = 0
End If
End Sub
End Class
推荐答案
它看到ms,你选择不打扰关闭之前的问题。
It seems that you have elected to not bother to close your previous questions.
因此,我不选择 回答你的更多帖子。
For that reason, I choose not to answer any more of your posts.
祝圣诞快乐。
这篇关于Mastermind游戏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!