跳轉至內容

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 程式設計

華夏公益教科書