私はTI-Basicでヘビゲームを書いています。移動するたびに、ヘビの頭が尻尾のどこかに当たっているかどうかを確認する必要があります。テールは循環リストベースのキューとして保存され、一定時間で開始と終了を追加できます。
唯一の難しい部分は、すべての反復でこれと同様のことをしなければならないことです:(S =リストのサイズ)
For(I,1,S)
If X=LX(I) and Y=LY(I)
Then
Disp "GAME OVER"
Return
End
End
かなり短いループですが、10個のアイテムのリストでも永遠にかかります。私はシーケンスの方法を試しました:
If sum(seq(X=LX(I) and Y=LY(I),I,1,S))
...
私が考えることができる他の唯一の最適化は、NからN + 2の値をチェックしないことです(ヒットする可能性のあるテールの最初の部分はN + 3であるため)が、それは4ポイント後に問題を延期するだけです。 14ポイントでゲームをプレイできないようにすることは、10ポイント後にプレイできないことよりも優れています。
リンクケーブル(またはアセンブリを作成したい)がないため、アセンブリを使用することはできません。