跳转至内容

TI-Basic Z80 编程/高级编程

来自 Wikibooks,开放世界中的开放书籍

本节将重点介绍高级编程技巧,这些技巧将帮助您更好地管理代码并创建高级编码结构。

习语是在程序之间重复使用的代码片段。

不可见的“Done”

[编辑 | 编辑源代码]

以下代码将清除屏幕并消除程序后面的Done。如果最后一个更改屏幕的命令(例如,Disp, ClrHome等)是Output(,则不会出现Done

ClrHome
Output(1,1,"


另一种解决方案是在最后一行设置一个变量、字符串或数字。该值将在程序结束时显示。因此,要删除Done,只需在程序末尾放置一个空字符串。

ClrHome
"


布尔值

[编辑 | 编辑源代码]

请注意,布尔值由10表示,其中1为真,0为假。这使得将真/假条件集成到方程中变得非常方便。

切勿使用=测试布尔值。相反,您可以使用

If A

表示“如果为真”,并使用

If not(A

表示“如果为假”。

这可能看起来微不足道,但最终,它将为您节省大量内存。

使用DelVar

[编辑 | 编辑源代码]

的强大功能DelVar常常被忽视。以下所有代码都使用DelVar:

Delvar ADelVar BDelvar C
DelVar ADisp B
Delvar ADelVar B5→C

如您所见,DelVar是一种非常高效的删除变量的方法,因为它还可以在同一行运行另一个命令。

尽管如此,还是有一个问题

:If A=1 :Then :DelVar AEnd :End


如果A=1,它会删除A,然后产生语法错误,因为End出现了两次。如果A=0,则不会发生任何事情,程序正常退出,因为DelVar A后面的End被忽略了。这是 TI-Basic 解释器中的一个设计缺陷。

可滚动列表

[编辑 | 编辑源代码]

可以通过在列表上暂停来快速创建可滚动列表,例如,

Pause L1

但是,它的布局不是很好看,因此仅当您需要真正快速地创建程序时才使用它。

关于暂停,您可以在变量、字符串和文本上暂停,这很方便。

Pause A
Pause Str1
Pause "My name is David Becker"


使用getKey

[编辑 | 编辑源代码]

可以使用四个XY变量通过按键更改If命令

:getKey→K :If K=24 :X-1→X :If K=26 :X+1→X :If K=25 :Y-1→Y :If K=34 :Y+1→Y


这是更好的方法

:getKey→K :X-(K=24)+(K=26)→X :Y-(K=25)+(K=34)→Y


如果可以,不要将值放在变量中,而是将它们存储在Ans. Ans中,这是一种存储值的更快方法,并且不会覆盖任何其他数据。唯一不好的地方是,如果您将值存储在变量中,Ans将设置为该值。

10
Disp Ans


For(技巧

[编辑 | 编辑源代码]

您可以通过将循环迭代的变量设置为结束值来提前结束For(循环

ClrHome
1→X
Disp 2
Lbl A
X+2→X
1→A
For(Z,3,√(X)) // 这是 For( 循环开始。
If not(fPart(X/Z))
Then
0→A
√(X)→Z // 这是变量设置的位置。
End
End // 如果 Z 设置为 √(X),循环将在此处结束,因此不会检查 X 的其余除数。
If A
Disp X
Goto A


您可以有以下类型的结构

If 条件 1
Then
如果条件 1 为真,则执行的代码
If 条件 2
Else
如果条件 1 为真或在执行代码块后条件 2 为真,则执行的代码
End

在某些情况下,这些可以节省大量空间。


上一页:提示、技巧和优化
下一页:编程游戏
目录:TI-Basic Z80 编程

华夏公益教科书