小基本if语句

时间:2017-03-23 10:06:52

标签: if-statement smallbasic

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

yourApp.app

我遇到的问题是,无论我的var1 100发生什么,都会被添加到我的点,即使var1是例如1或10.

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

提前致谢

1 个答案:

答案 0 :(得分:0)

你有三个问题。

  1. 如+ koceeng所示,Small Basic剂量不支持“x
  2. 从if到if-else,你有一个逻辑错误。 “5< var1和var1< 9”与“9< var1和var1< 10”组合在其中有一个洞。逻辑上有九个掉落,if语句永远不匹配。同样的事情将发生在5.正确的组合在逻辑的一端或另一端使用等号:“9< = var1和var1< 10”。
  3. 你的goto循环让我头疼。除非你做的事情很简单,比如创建一个无限循环,从程序的底部跳到顶部,你通常应该完全避免使用goto语句。对于您正在进行的输入保护类型,while循环是更好的选择。
  4. 以下是您的代码的更正版本:

    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.")