TI-84计算器的大亨脚本

时间:2017-02-09 01:27:14

标签: calculator ti-basic

我为TI-84 Plus CE制作了一个Tycoon脚本,我觉得它不是很好。 我不擅长计算器编程,我不太了解。我刚刚从朋友和一些YouTube视频中学到了一些。

我在想,有谁知道如何改进这个脚本以使其更好?

这就是我所拥有的:

顺便说一下->是STO键。

:ClrHome
:13->S
:5->T
:13->X
:5->Y
:0->B
:5->C
:1->D
:Output(T,S,"CASH:"
:Output(Y,X,"M"
:getkey->A
:X->S
:Y->T
:If A=26
:Then
:X+1->X
:If X=27
:26->x
:End
:If A=34
:Then
:Y+1->Y
:If Y=11
:10->Y
:End
:If A=25
:Then
:Y-1->Y
:If Y=1
:2->Y
:End
:If A=11
:Then
:Stop
:End
:If X=D and Y=C
:Then
:B+1->B
:Output(1,6,B
:End
:If B≥200
:Then
:6->E
:1->F
:Output(E,F,"5"
:End
:If X=F and Y=E and B≥200
:Then
:B+5->B
:Output(1,6,B
:End
:If B≥1500
:Then
:7->G
:1->H
:Output(G,H,"10"
:End
:If X=H and Y=G and B≥1500
:Then
:B+10->B
:Output(1,6,B
:End
:End

1 个答案:

答案 0 :(得分:2)

应该在codereview.SE上询问这种性质的未来问题,但无论如何我都会看一些优化问题。

我只会寻求大小优化,而不是速度(虽然它们可能会让你的程序更快)。 以下是一些:

  • 首先,这些行中的四行可以删除其末尾引号(-4)
  • 0->B:5->C可以是DelVar B5->C(您可以删除以下冒号)( - 1)
  • 如果条件是一行,则您的If语句不需要ThenEnd。因此,:If A=11:Then:Stop:End可以是:If A=11:Stop(-4)

现在我看到了主要的优化:

首先,,也许更明显的是,您经常致电:Output(1,6,B。看起来您可以将其移到If块之外,并删除ThenEnd每个-4字节

您可能不知道的

第二,min(max(命令,它们分别返回两个值或列表中较小或较大的值。这是一个例子:

:If A=26
:Then
:X+1->X
:If X=27
:26->X
:End

以上代码相当于:

:If A=26
:min(26,X+1->X

看起来您可以使用此优化四次,这很重要,因为它使程序更小,更快,更易读。

总的来说,我希望我能够帮到你。如果您有任何疑问,请询问:)