我在分配方面遇到了一些问题。案例项目是:
创建一个允许用户猜测计算机生成的随机数的应用程序。当用户猜错时,应用程序应该向上或向下移动图像,具体取决于猜测与随机数的比较。如果随机数大于用户的猜测,则应用程序应向上移动图像以指示用户需要猜出更高的数字。如果随机数小于用户的猜测,则应用程序应向下移动图像以指示用户需要猜测较低的数字。当用户猜出随机数时,游戏结束。但是,应用程序应该允许用户过早地停止游戏。当发生这种情况时,应用程序应该使用随机数。
我已经尝试过每一种我能想到的方式,包括使用文本框而不是输入框并使用语法 - 但似乎无法正确使用它。建议将不胜感激。感谢。
我的代码:
Public Class Form1
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Number As Integer
Dim inputNumber As Integer
Dim answer As Integer
Dim isconverted As Boolean
Dim computerchoice As New Random
answer = computerchoice.Next(1, 20)
inputNumber = InputBox("Please guess number", "Random Number Game")
Do
isconverted = Integer.TryParse(inputNumber, Number)
If isconverted = True Then
If answer = Number Then
MessageBox.Show("You Win")
ElseIf answer > Number Then
PictureBox1.SetBounds(0, 90, 0, 0, BoundsSpecified.Y)
ElseIf answer < Number Then
PictureBox1.SetBounds(0, 220, 0, 0, BoundsSpecified.Y)
End If
Else
MessageBox.Show("Please enter a valid number between 1 - 20 only")
End If
inputNumber = InputBox("Please guess number", "Random Number Game")
Loop While answer <> Number
MessageBox.Show("Answer:" & answer.ToString)
End Sub
End Class
答案 0 :(得分:2)
您的代码实际上几乎可以使用。但有一些事情:
.Top
属性。如果您是Visual Studio的新手,并且不了解breakpoints和其他调试,那么值得研究一下。使用这些工具,您可以在程序中的给定点暂停代码,查看值变量保持,逐行逐步执行代码。
这是工作代码:
Do
If isconverted = True And Number >= 1 And Number <= 20 Then
If answer > Number Then
PictureBox1.Top -= 10
ElseIf answer < Number Then
PictureBox1.Top += 10
End If
Else
MessageBox.Show("Please enter a valid number between 1 - 20 only")
End If
inputNumber = InputBox("Please guess number", "Random Number Game")
isconverted = Integer.TryParse(inputNumber, Number)
Loop While (answer <> Number)
MessageBox.Show("You Win! The answer is " & answer.ToString)