如果用Python克隆大富翁大亨,您会使用哪些库?

3 投票
2 回答
712 浏览
提问于 2025-04-15 11:09

你玩过大富翁大亨这个游戏吗?我觉得它非常好玩。 我很想重新制作这个游戏。不过,遗憾的是,我在3D编程方面没有任何经验。我想,学习openGL相关的东西可能会比较难,特别是要弄清楚用户点击了什么之类的……

如果你要做这个项目,你觉得需要哪些库呢?

2 个回答

4

我推荐用pyglet。它从一开始就使用OpenGL,不依赖那些看起来很糟糕的SDL库,而且它的接口比我见过的其他Python多媒体库要好。

import pyglet
from pyglet.gl import *

class Application(object):
    def __init__(self):
        self.window = window = pyglet.window.Window()
        window.push_handlers(self)

    def on_draw(self):
        self.window.clear()
        glBegin(GL_TRIANGLES)
        glVertex2f(0,0)
        glVertex2f(200,0)
        glVertex2f(200,200)
        glEnd()

if __name__=='__main__':
    app = Application()
    pyglet.app.run()

我从头写了这个代码,给你一个参考。你可以直接从这个开始。

这个库里有一些很有用的东西,比如顶点列表、纹理、调度、Unicode字体,还有一些简单的用户界面组件、事件处理和音频功能。虽然这个库内部结构有点乱,我对它不是特别满意。但这只是我对所有流行库的看法,都是我自己查过的。

我个人对OpenGL的命名空间不太满意。如果能用非C语言的命名空间在前面会更好。这样会给你一些灵活性:

from pyglet.gl import Begin, Vertex2f, TRIANGLES, End

...
    Begin(TRIANGLES)
    Vertex2f(0,0)
    Vertex2f(200,0)
    Vertex2f(200,200)
    End()
6

pyGame 看起来已经相当成熟,它是建立在一个叫做 SDL 的可靠库之上的。

撰写回答