使用Python的GAE简单游戏,逻辑应该在哪里?

2024-05-01 21:48:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始学习Python,读了Python的《头先用Python》一书,还完成了Python runtime environment GAE教程。到现在为止,一直都还不错。你知道吗

现在我想用Python做一个小项目,只是为了在做一些有意义的事情的同时获得更多的经验。我选择了为GAE上的浏览器制作一个小纸牌游戏。你知道吗

我有一个主.py显示索引.html向用户和游戏.html当用户单击主页上的“播放”时加载的文件。我也有一个甲板.py以及卡片.py代表牌组和牌。目前这些都非常模糊,卡片类中只有一个值,卡片组中的列表中有4张卡片。你知道吗

我使用jinja2提供html模板和webapp2作为我的web框架。你知道吗

在游戏.html我想展示与比赛有关的一切。显示游戏的初始设置、处理更多的牌、处理按键、更新正在玩的牌等等。你知道吗

我已经尝试在主.py然后通过jinja将它传递给html,希望我能以某种方式将它存储在页面上,但这似乎不起作用。你知道吗

问题是,我在哪里实现游戏逻辑? 我是否被迫使用javascript来编写我的游戏和逻辑?你知道吗

谢谢你的意见。。你知道吗


Tags: 项目用户py游戏environmenthtml浏览器教程
2条回答

这是个棘手的问题。通常,您会用Javascript对UI进行所有更改。但是你想在python中实现多少游戏逻辑取决于你,但是你仍然需要重新绘制屏幕,并且你需要一种在javascript和你的服务器(python端)之间来回发送请求的快速方法。有些游戏会在服务器端做很多紧张的工作,比如部落冲突。但通常情况下,逻辑在客户端,或者在javascript或flash浏览器中,或者在移动设备上,服务器只是在保存信息。它总是在速度、便利性和您希望在服务器上跟踪多少之间进行权衡——例如,对于那些希望在多个设备上跟踪自己正在做什么的人,您可以这样做。你知道吗

对于一个简单的游戏,应该首先使用input()print()语句将其编写为一个独立的Python程序。然后,用来自客户端的httpget请求替换输入,用HTML替换输出。虽然这是一种过分的做法(你完全重写了每一个请求的页面),但它足以让你开始。稍后,您可以优化页面。你知道吗

这种方法的优点是,您可以测试游戏逻辑,而不必担心浏览器、GAE、框架等。它还可以在出现问题时更容易地进行调试。你知道吗

相关问题 更多 >