【问题标题】:While True loop stops unexpectedly虽然 True 循环意外停止
【发布时间】:2016-09-03 00:11:04
【问题描述】:

在这个简单的程序中,一个点沿对角线穿过一个数组并从墙上反弹。它接触到的每个像素都会改变颜色。

在我的 TI 84+ CE 上,无限 while 循环每次都会在同一个位置过早停止。为什么?

0→X
0→Y
1→C
1→D

{11,20→dim([A]
For(E,1,20,1)
    For(F,1,11,1)
        0→[A](F,E)
    End
End

{1,2→dim([B]
21→[B](1,1
21→[B](1,2

{1,2→dim([C]
12→[C](1,1
12→[C](1,2

ClrHome
ClrDraw

While 1
    If X≠[B](1,2) and Y≠[C](1,2)
    Then
        Pxl-On(Y,X,RED
        X+C→X
        Y+D→Y
    Else
        If X≥[B](1,2)
        Then
            [B](1,1)-[B](1,2)→[B](1,2)
            C­1→C
        End
        If Y≥[C](1,2)
        Then
            [C](1,1)-[C](1,2)→[C](1,2)
            D­1→D
        End
    End
End

【问题讨论】:

  • 当循环明显停止时,XY 的值是多少? XY 的预期值范围是多少?
  • 尝试改用LblGoto,看看会不会有不同的结果
  • 我敢打赌循环不会停止,但内部的 If 语句停止评估为真。

标签: while-loop ti-basic


【解决方案1】:

我猜你的循环并没有停止,但是什么都没有发生,因为 X

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 2014-06-06
    • 2018-09-07
    • 2015-08-06
    • 2013-03-25
    相关资源
    最近更新 更多