【问题标题】:Create a Tic-Tac-Toe Animation创建井字游戏动画
【发布时间】:2011-06-16 15:08:44
【问题描述】:

我想创建一个简单的游戏动画,以便您可以看到游戏的进行。它应该是一个动画,您可以在其中看到 Tic-Tac-Toe 游戏。我在描述中有游戏的状态。所以玩家 1 标记了一个单元格 = 状态 1;玩家 2 标记一个单元格 = 状态 2 等等。

我目前在 ruby​​ 程序中解析了游戏;只显示一种状态(如图像中)很容易,但是如何从中创建动画呢?是否有捷径可寻?我对每种语言的解决方案都持开放态度,但实施起来应该不会花费太多时间。我想在演示文稿中展示这样的动画。

<state1>
cell(1,1,x).
cell(1,2,o).
cell(1,3,o).
cell(2,1,o).
cell(2,2,x).
cell(2,3,x).
cell(3,1,b).
cell(3,2,b).
cell(3,3,x).
</state1>

<state2>
...
</state2>

【问题讨论】:

  • 谢谢,但它必须是 示例中的动画。 (我将使用它的实际游戏是 Breakthrough,但因为不是每个人都可能现在该游戏&-描述更长,我以井字游戏为例)
  • @Joris 这些点是干什么用的? cell(1,1,x)**.**
  • 这是一个相当复杂的状态表示。您只需要一个九个字符串X X OXOXO,或井字游戏中每个状态的 18 位。同样,为了突破,假设没有花哨的压缩等,您只需要一个 64 个字符串或每个状态 128 位。
  • 我不知道优化到 18 位是否明智,但是是的,当前的表示比它需要的要冗长。
  • @phwd 最初是 Prolog 程序的写出 :)

标签: java jquery ruby flash


【解决方案1】:

既然您已经知道如何显示一种状态,那么制作动画的方法就是按顺序一个接一个地显示每个状态。

显示第一个状态并设置一个定时器,然后当定时器关闭时显示下一个状态并设置另一个延迟,以此类推所有状态。

既然你说你对所有语言都开放,我真的不想打扰任何超出高级概述的特定代码。例如,在 Flash/ActionScript 中,我会使用 TweenLite 延迟显示符号,但我不知道该特定代码是否对您有用。

我从未编写过 Ruby,但它可能有类似 setDelay() 或 setTimer() 之类的命令。如果没有,可以使用一个主循环来实现相同的效果,该循环将检查每个循环的时间,如果延迟足够长,它会显示下一个状态。

【讨论】:

    【解决方案2】:

    对于 ruby​​,您可以从 https://github.com/grosser/tic_tac_toe 获得很棒的井字游戏

    只需执行“gem install tic_tac_toe”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2015-01-08
      相关资源
      最近更新 更多