Sub Main()
Dim usersguess, guesstime As Integer
Randomize()
Dim value As Integer = CInt(Int((20 * Rnd()) + 1))
Console.WriteLine("You have to guess this number.")
usersguess = Console.ReadLine()
While usersguess < value Then
Console.WriteLine("You are wrong. You're to low. Go higher ")
End While
While usersguess > value
Console.WriteLine("Your too high. Go Lower.")
End While
While usersguess = value
Console.WriteLine("Your correct. Well Done")
End While
Console.WriteLine("You took,{0}", guesstime)
End Sub
首先,您只要求用户输入一次-readline
还需要在一个循环中请求多次猜测。使用这个循环,您可以使用if
语句检查答案:
usersguess = Console.ReadLine()
'keep looping until they get the right value
While userguess <> value
'now check how it compares to the random value
If usersguess < value Then
Console.WriteLine("You are wrong. You're too low. Go higher ")
ElseIf usersguess > value Then
Console.WriteLine("You're too high. Go Lower.")
End If
'read another guess
usersguess = Console.ReadLine()
End While
Console.WriteLine("You're correct. Well Done")
我还建议打开option strict
和option explicit
来帮助排除可能出现的任何错误,在这种情况下,这意味着您需要将读取的文本显式转换为整数:
usersguess = Convert.ToInt32(Console.ReadLine())
注意,如果不输入数字,这本身就会失败...我将把如何正确处理这一问题作为练习,但将向您介绍int32.tryparse
。
本食谱演示了使用组合流来创建游戏循环的一种方式。本食谱旨在突出如何用响应式的方式来重新思考现有问题。在这个示例中,我们将提供整体循环以及自上帧以来的增量时间。与此相结合的是用户输入流,以及当前的游戏状态,我们可以用它来更新我们的对象,并根据每帧的发出来将其渲染到屏幕上。 示例代码 ( StackBlitz ) import { BehaviorSubject, Observable, of, fr
包含在程序启动时启动的线程。这个线程包含一个循环,每40毫秒更新一次游戏并重新绘制()board。 备选办法B: 板创建一个摆动计时器。这个计时器的动作监听器是板本身。actionPerformed()方法每40毫秒运行一次,并更新game+repaints Board()。 谢谢
问题内容: 我写一个游戏循环,我发现在例如下面的代码在这里。我还研究了进行游戏循环的其他方法,例如本文。但是我无法让这些工作。因此,我保留了第一个链接中的那个。 我想知道的是: 我编写游戏循环的方式是否是实现此目标的好方法? 有什么建议? 我应该在游戏循环中使用吗? 这是我当前的代码: 问题答案: 最终,您将想要移至LWJGL之类的地方,但让我强调一下,请继续做您现在在这里所做的事情。它将教您基本
我的程序应该要求用户猜测 0 到 100 之间的数字,但我似乎无法正确输出。目前,如果用户数大于随机数,它会打印出无限数量的“您的数字太高”。此外,如果第一个 UserGuess 很低,那么以下所有数字都将具有相同的提示:(“您的数字太低”),尽管它们实际上大于随机数。我不知道我做错了什么。任何帮助将不胜感激。谢谢!
我对我正在写的一个介于两者之间的骰子游戏有一个问题。我之前有另一个问题被回答了,但我仍然有一个问题。(请记住,我对一般编程非常陌生) 甚至-史蒂文!高还是低[hl]?h 模具3:9 *你赢了!* 任何关于我需要改变什么/改变它的任何帮助都将非常感谢!提前谢了。