创建一个棋盘游戏模拟器(Python的?)(Pygame的?)(Creating a board g

2019-06-26 10:21发布

我决定开始编写我的一个老最喜欢的工作。 我从来没有做过一个游戏之前,也从未做过Python中的大型项目。

本场比赛是老山阿瓦隆游戏俄国竞选

我一直在玩pygame的一点点,不知道是否有理由不尝试与pygame的做到这一点和其他一些发动机/后语去。

什么是使用pygame的建设这个的缺点是什么?

我并不担心AI,主要是我只是喜欢让比赛的最低两个播放器版本运行起来。 奖金将是保存游戏的状态,并发挥在网络上的能力。

做的和不要的启动这个项目,将不胜感激。

Answer 1:

分开“后端”引擎(跟踪板的状态,接收来自移动前端的订单,生成随机数来解决战斗,将更新的前端,以节省交易和恢复特定的游戏,...)从“前端”的,这基本上提供用户接口,用于所有这一切。

pygame的是一个客户端前端一个合适的技术,但你可以实现多个前端(也许pygame的一个,一个基于浏览器的一个,一个基于文本的一个用于调试,等等,等等)。 当然,后端并不十分关心pygame的或其他UI技术。 Python是适合大多数前端(除了必须在Javascript中,动作等,如果你写的浏览器,Flash等前端;-)绝对罚款THRE后端的。

运行后端和前端为单独的进程和简单沟通,你可能可以 - 一个基于回合制游戏(因为我相信这个人是),XML-RPC或一些更简单的变型(JSON有效载荷回去和在提出HTTP POST和回复他们,说的)似乎最好。

我会与后端(可能使用JSON的有效载荷,正如我所说)开始,作为污垢简单的WSGI服务器(可能与触摸WERKZEUG或类似帮忙的mdidleware),和一个简单的,如-dirt调试命令行客户机。 在每一步我将被充实或者服务器端(后端)或客户端(前端)小心,避免做过于大或同时“措施”。 我不会用“重”的技术,也没有什么大的框架做神奇的东西,在我背后(没有的ORM,Django的,SOAP,...)。

确保你使用一个很好的源代码库(比如汞,也许svn的,如果你知道你会做它独自一人,或集市或git的,如果你已经知道它们)。



Answer 2:

我不认为你应该使用XML-RPC和JSON,服务器等在乎多plateforms支持,前端和后端的分离,通信多个进程

放下你的奖金,并专注于您的主要思想:回合制,两位选手的比赛。 这是你的第一场比赛,所以你有很多东西需要学习,又要照顾这一下子可以压倒。



文章来源: Creating a board game simulator (Python?) (Pygame?)
标签: python pygame