Mevcut oyun döngüsü için tahminin sıra sayısını 1'e kadar arttırmak istiyorum. İlk başta 0 değerini belirledim ancak 1 'dan sonra güncellenmiyor. Aynı şey trys için de geçerli. i 21 ° C'da değeri de belirledik ama en kısa zamanda 20'ye kadar günceller ama senin Düğme olay işleyicisi oVB'de değişkenlerin güncellenmesi
Option Strict On
Option Explicit On
Public Class Form1
Private ReadOnly rand As New Random
Private value As Integer
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.value = rand.Next(minValue:=1, maxValue:=30)
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim guess As Integer 'guess number
Dim numTry As Integer 'No. of trys
Dim RandNo As Integer 'Random Number
Dim OrdNo As Integer 'Ordinal Number
Dim Score As Integer 'Score
Score = 0 'Initial value of score set as 0
OrdNo = CInt(1) 'Initial value of ordinal set as 1
numTry = CInt(21)
guess = CInt(TextBox1.Text)
OrdNo = +1
Label5.Text = CStr(OrdNo)
'Show Message Box if the guess is not within the range
If 1 > guess Then
MessageBox.Show("Input within the range (1-30)", "Error", MessageBoxButtons.OK)
Exit Sub
End If
'Show Message Box if the guess is not within the range
If guess > 30 Then
MessageBox.Show("Input within the range (1-30)", "Error", MessageBoxButtons.OK)
Exit Sub
End If
'Display result and message when guess is larger than the lucky number
If guess > Me.value Then
Label11.Text = CStr(guess)
Label10.Text = "The Lucky Number is smaller than your guess"
OrdNo = OrdNo + 1
Label5.Text = CStr(OrdNo)
numTry = numTry - 1
Label4.Text = CStr(numTry)
End If
'Display result and message when guess is smaller than lucky number
If guess < Me.value Then
Label11.Text = CStr(guess)
Label10.Text = "The Lucky Number is larger than your guess"
OrdNo = OrdNo + 1
Label5.Text = CStr(OrdNo)
numTry = numTry - 1
Label4.Text = CStr(numTry)
End If
'Display result and message when guess is equal to the lucky number
If guess = Me.value Then
Label11.Text = CStr(guess)
Label10.Text = "Congratulations ! This is the lucky number"
Score = +10 'Increase the score by 10
Label6.Text = CStr(Score)
numTry = numTry - 1
OrdNo = 1
Me.value = rand.Next(minValue:=1, maxValue:=30)
If numTry = 0 Then Application.Exit()
End If
End Sub
End Class
Ve ne:
İkincisi, bir yöntem bloğunun kapsamı dışında aynı şekilde, sadece bir kez rastgele bir değer saklamak değeri ve işin atar tamsayı değişken bildirmek senin sorunun? Ne kadar hata yapıyorsun? Ne işe yaramıyor? – Claudius
Sanırım rakamın doğru olduğunu tahmin edene kadar her zaman aynı olmasını istiyor, ancak bu koda bakmadan, yanlış tahmin edildiğinde rastgele sayıyı değiştireceğini tahmin ediyorum. – Werdna
Lütfen hata ayıklamayı öğrenin .. – cybermonkey