【发布时间】:2021-01-23 13:13:56
【问题描述】:
我正在尝试在我的方案程序中创建一个全局分数,并且对于我的函数的每次迭代,它要么增加 1,减少 1,要么不改变。例如,当我希望分数增加 1 时,我的函数中有这个:
(set! score (+ score 1)))
我可以使用 set 来做到这一点!但我需要一种不使用集合的方法来实现它!手术。任何帮助将不胜感激!
【问题讨论】:
-
形成一个 state 数据结构,其中包含一个字段
score,并为函数的每次迭代创建一个新的 state。跨度> -
我不确定你所说的状态是什么意思。抱歉,我是 Scheme 新手
-
状态是您需要跟踪的一切。因此,游戏将具有包含玩家位置、得分等的 GameState。在“游戏循环”中,您可以从前一个游戏状态创建一个新的游戏状态,从而避免改变全局变量的需要。