所以我做了一个 TI-BASIC 程序,它伪造了计算器的主屏幕,但故意给出了错误的数学方程答案。这是代码:
:ClrHome
:Lbl 1
:Input "",A
:Disp rand
:Goto 1
它工作得很好,而且用它来欺骗朋友很有趣,但我想让它更复杂。例如:
1)当按下“ON”时如何绕过程序的自动中断,以及
2)有没有其他方法可以更好地伪造主屏幕(比如当有人按下之前没有数字的操作时,它会自动伪造“ANS”变量),以及如何在程序中编写这些变量。
提前致谢。
所以我做了一个 TI-BASIC 程序,它伪造了计算器的主屏幕,但故意给出了错误的数学方程答案。这是代码:
:ClrHome
:Lbl 1
:Input "",A
:Disp rand
:Goto 1
它工作得很好,而且用它来欺骗朋友很有趣,但我想让它更复杂。例如:
1)当按下“ON”时如何绕过程序的自动中断,以及
2)有没有其他方法可以更好地伪造主屏幕(比如当有人按下之前没有数字的操作时,它会自动伪造“ANS”变量),以及如何在程序中编写这些变量。
提前致谢。
避免语法错误
就像有人按下前面没有数字的操作
您可以将输入存储为 STR1 而不是 A
(可能会或可能不会回答您的问题)
以下网站显示了如何使用 SortA 使 ON 按钮不工作:
http://tibasicdev.wikidot.com/bunny-virus
在 999 个元素列表上使用 SortA 将使计算器忙碌一段时间,并使“打开”按钮无法工作。网站上的编码可以用来开玩笑,但不要用来做任何破坏性的事情,比如删除别人的代码。
(可能会回答你的问题)
如果您想在计算器实际执行某些操作时禁用 ON 按钮,请尝试将以下程序放到您的计算器上,并确保阅读 README 文件:
http://www.ticalc.org/archives/files/fileinfo/330/33039.html
没有可能的方法来禁用 on-break。它可以防止业余爱好者将计算器送入无限循环。
至于 Ans,我所做的(虽然不是很现实)是将输入保存到str1
然后使用
sub(str1,1,1) -> str1
if str2 = "+" or str2 = "/" or str2 = "*" or str2 = "-"
then
expr(str1)
Else
Disp "Cannot begin function with an operation"
end
expr()
可以在您找到字符串的同一区域中找到。
一旦执行此操作,它现在被视为数字,而不是字符串,因此您不再能够使用字符串命令。
我很长时间没有使用 TIBASIC,所以如果出现语法错误expr(str1)
或没有显示,只需将其存储到变量中,然后用于Disp <variable>
显示答案。
我还发现几乎所有 TIBASIC 的功能都可以在这里找到。