我正在将命令行游戏移植到网络上。我将使用Ajax将所有内容粘合在一起。
现在,在我写完的前几条概念验证线之后,我面临着对架构的怀疑。你通常会如何构建这样一个项目?
我的游戏引擎是用Python编写的面向对象的风格,所以我有一个Game类,一个Player类等等......
据我所知,我基本上有两种选择:
a)使用Javascript作为粘合剂 b)在Javascript中重现我的对象模型的最小值
由于这是一个纸牌游戏,我将拥有一个“玩牌”的功能,而在选项A中,它看起来很像这样:
function playCard(idx, player){
$.ajax({
type: 'POST',
url: '/play_card/' + idx + '/',
success: function(){//do something}
});
}
在选项B中,这个playCard将是一个在游戏开始时已经实例化的Player对象的方法。
另外,如果您选择B,您将如何将Javascript实例与其服务器端对应连接?例如,当PlayerA.playCard(1)玩牌时,我怎么能让它知道哪张牌的牌从哪张牌中选出?
提前致谢。
答案 0 :(得分:0)
我在一个使用Django和Ajax的网站上工作。唯一棘手的部分是表单验证。我们不会将生成的表单html推送到JavaScript,而是构建我们自己的UI表单并创建一个REST API,它使用Django模型并在我们的python ajax处理程序中手动形成api。另一个棘手的问题是csrf令牌,你必须告诉你的JavaScript。