代码之家  ›  专栏  ›  技术社区  ›  Tal

从Python中勾选Python实例

  •  1
  • Tal  · 技术社区  · 16 年前

    我被要求用python做一个编程游戏,我想用GunTactyx的风格来做( http://apocalyx.sourceforge.net/guntactyx/index.php ). 只是简单得多,因为我主要是在python中并行执行python脚本。

    Gun Tactyx要求玩家编写一个程序,控制团队中各个单位的协同工作,每个指令都带有一个时间面板。每个程序都在自己的受保护环境中执行,通过可以与游戏世界交互的功能与游戏世界通信。

    我想知道是否有一种Python方法可以达到类似的效果。

    游戏引擎的伪代码结构如下:

    Instantiate units with individual programs
    while 1
       Update game world
       for unit in units:
          unit.tick()
    

    亲切的问候

    /税收

    1 回复  |  直到 16 年前
        1
  •  1
  •   kurczak    16 年前

    也许你应该看看蟒蛇之叉: stackless

    而且,使用stackless实现Actor模型非常容易:

    在演员模型中,所有的东西都是演员.Actors是可以: 接收来自其他参与者的消息。 向其他参与者发送消息。

    演员不能直接接触其他演员。所有通信都是通过消息传递来完成的。这提供了一个丰富的模型来模拟松散耦合且对彼此内部知识有限的真实对象。

    Introduction to concurrent programming with stackless

    或者,您也可以通过实现共同例程来模拟这种行为—使用python生成器,如图所示 here