jquery - Python jquery 网页游戏

标签 jquery python mongodb web web.py

很难说出这里问的是什么。这个问题是模棱两可的、含糊的、不完整的、过于宽泛或修辞的,不能以其目前的形式得到合理的回答。如需帮助澄清此问题以便可以重新打开,visit the help center .




9年前关闭。




我正在尝试开发基于网络的文本策略游戏。这个想法包括在太空中,看到雷达屏幕,四处走动,攻击其他玩家,挖掘行星等等。

我尝试过的当前技术是:

  • 用于服务器端游戏引擎/数据库查询的 Python
  • 用于托管数据库的 Mongodb
  • Web.py 用于提供网页服务。
  • 网站上的界面的jQuery。
  • 用于显示雷达的 HTML5 W/canvas 这只是对我当前位置附近什么的简单查询。

  • 目前发展阶段:

    Python:

    我写了一个基于文本的命令行游戏,它遍历了一些玩家对象在数据库周围的扫描和移动。

    MongoDB:

    数据库已设置并运行良好。我能够操作对象和查询对象。

    网络.py:

    目前支持 'localhost:8080('/', '/register', '/game') 当你到达时,它有一个非常简单的登录框,它没有使用真正的身份验证,而是一个简单的 db.users.find({})验证用户。稍后我将对此进行扩展,但对于与 friend 的简单测试,我还不太担心安全性。如果他们输入了错误的值,它会滚动到/register,他们可以在其中创建一个帐户。然后将它们放入/game 中,我可以在其中从表单('name')中提取用户名并打印一个简单的 Hello %name。

    查询:

    能够执行 jquery 脚本来操作 div 和什么不是。

    HTML5:

    还没有真正的开发,但 HTML 是我的强项,所以我现在还不担心。

    挑战:

    我遇到的真正障碍是试图弄清楚如何向用户提供一个带有 jquery 发布的 *.html 页面到我的后端 python 脚本以对数据库执行查询或更新或执行一些代码进行战斗以及什么不是。

    我一直在阅读所有不同的技术和框架,但我还没有真正找到任何适合我需要的东西,或者我缺乏经验使我无法理解如何实现它。

    我想知道是否有一种简单的方法可以编写一个将数据发布到 python 的 jquery(post) 以便我编写的函数可以根据 jquery(post) 执行查询或更新并返回用户请求的数据

    我观看了一个用于发布到 php 的 youtube 教程,它看起来非常简单,但是每当我搜索发布到 python 时,我得到的结果很少,而且几乎所有宣称他们的框架都是最好的。我几乎想知道我是否不应该只切换到 php。

    你们能指出我正确的方向吗?我是否需要废弃 web.py 并切换到 ajax 和 mod_python?

    我应该放下并彻底阅读 django 的文档吗?

    本周末我将使用非常慢的互联网,并希望我能找到正确的方向进行研究,因此当我周六回到我的位置时,我可以开始研究策略游戏的网络部分。

    代码示例:

    web.py 脚本:
    import web
    from web import form
    import pymongo
    
    db = pymongo.Connection('localhost', 27017).bbarnes_test
    render = web.template.render('templates/')
    urls = (
      '/', 'index',
      '/register', 'register',
      '/game', 'game')
    
    app = web.application(urls, globals(), True)
    
    login = form.Form(
        form.Textbox("Username",
                    form.notnull),
        form.Password("Password",
            form.notnull))
    
    
    class index:
        def GET(self):
            form = login()
            return render.formtest(form)
    
        def POST(self):
            form = login()
            if not form.validates():
                return render.formtest(form)
            else:
                            uname = db.users.find_one({'name' : form.d.Username, 'pw' : form.d.Password})
    
                            if uname != None:
                                    return render.game(uname['name'])
                            else:
                                    raise web.seeother('/register')
    
    class register:
            def GET(self):
                    form = login()
                    return render.register(form)
    
            def POST(self):
                    form = login()
                    if not form.validates():
                            return render.register(form)
                    else:
                            db.users.insert({'name' : form.d.Username, 'pw' : form.d.Password})
                    uname = db.users.find_one({'name' : form.d.Username})
                    raise web.seeother('/')
    
    
    class game:
            def GET(self):
                    return render.game(form)
    
    if __name__=="__main__":
        web.internalerror = web.debugerror
        app.run()
    ~
    

    游戏.html
    $def with(uname)
    <html>
    <!DOCTYPE html>
    <head>
    <script type="text/javascript" src="../static/jquery.js"></script>
    <script type="text/javascript">
    J = jQuery;
    J(document).ready(function(){
            J("p").click(function(){
                    J(this).hide();
            });
    });
    
    
    
    </script>
    
    <title>The Game</title>
    </head
    
    
    <body>
    <p> This is a test of jQuery.</p>
    <p> Welcome to the game $uname</p>
    
    </body>
    
    </html>
    

    最佳答案

    如果您认为 Python 脚本与 Web 基础设施分离,那么您的想法是错误的。当您谈论对 Web 应用程序执行 HTTP 调用(如 POST)以操作数据库中的数据时,这就是 Web 服务。我的大部分经验是使用 Pyramid + Cornice 和 Django + Piston(呃),但 web.py 相当有能力,应该能够做到这一点。 This blog post是旧的,但看起来很有希望。您还会有更多的运气搜索“RESTful web services python”或类似的东西。

    关于jquery - Python jquery 网页游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13499856/

    相关文章:

    jquery mask 取决于下拉值

    jquery.validate 插件 - 如何在表单验证之前修剪值

    python - 计算协方差矩阵——numpy.cov 和 numpy.dot 之间的区别?

    python - 使用条件和函数向量化嵌套循环

    javascript - 我如何在 node.js 的 promise 中重新发送?

    javascript - 如何循环遍历模型文件并初始化所有文件?

    jquery - Intellisense 不适用于 Visual Studio 2012 中的 JavaScript

    javascript - 使用映射将字符串转换为对象中嵌套值的日期

    python - 使用行为标签仅执行此类标签的子案例

    java - Mongodb $week 和 Java Calendar.WEEK_OF_YEAR