小基本 if 语句



所以对于学校来说,我正在做一个有小基础的项目,想法很简单,就像我的问题一样。我正在制作一种赌博模拟器。

ready:
TextWindow.WriteLine("Do you want to bet? yes(1) or no(2).")
answer = TextWindow.ReadNumber()
If answer = 1 Then
Goto start
Else 
Goto ready
EndIf
start:
TextWindow.WriteLine("Ok lets go.")
points = 100
var1 = Math.GetRandomNumber(10)
If 5 < var1 < 9 Then 
points = points + 100
ElseIf 9 < var1 < 10 then
points = points + 200
Elseif 1 < var1 < 5 then
points = points - 100
EndIf
TextWindow.WriteLine("You rolled " + var1 + ". You now have " + points + " points.")

我面临的问题是,无论我的 var1 100 发生什么,都会添加到我的积分中,即使 var1 是例如 1 或 10。

我问过我的老师,他无法向我解释出了什么问题。 我该怎么办?

提前致谢

你有三个问题。

  1. 正如+koceeng所建议的,小碱性剂量不支持"x
  2. 当你从if到if-else时,你有一个逻辑错误。"5<9"与"9>
  3. 你的goto循环让我头疼。 除非你正在做一些简单的事情,比如创建一个无限循环,从程序的底部跳到顶部,否则你通常应该完全避免goto语句。while 循环是您正在执行的输入保护类型的更好选择。

下面是代码的更正版本:

answer = 2
While answer <> 1 'Input Protection
TextWindow.WriteLine("Do you want to bet? yes(1) or no(2).")
answer = TextWindow.ReadNumber()
EndWhile
TextWindow.WriteLine("Ok lets go.")
points = 100
var1 = Math.GetRandomNumber(10)
If 5 <= var1 And var1 < 9 Then 
points = points + 100
ElseIf 9 = var1 or var1 = 10 then
points = points + 200
Elseif 1 <= var1 and var1 < 5 then
points = points - 100
EndIf
TextWindow.WriteLine("You rolled " + var1 + ". You now have " + points + " points.")

相关内容

  • 没有找到相关文章

最新更新