我使用print
,for
,if
,else
等内容编写了一个基本的python 2.7游戏。我还创建了一个网站来保存游戏下载。我想知道是否有办法将python游戏直接嵌入HTML5网站。我查看的所有其他问题都包含与不存在的网站的链接。
答案 0 :(得分:1)
正如我所说的,我不熟悉 javascript (我在 java 中有一些经验),但这是我看到你必须要做的:重定向打印到单独的文件,而不是sys.stdout
,发送到输出流,并让javascript在浏览器中显示流中收到的信息。
关于javascript,我不完全确定。
但是这里有一些你的python代码的指导:
print "Hi! I'm Zin"
为...
print >> (destination file), "Hi! I'm Zin"
print >> sys.stderr, "Hi I'm Zin" # Will print to Python's built in error stream.
答案 1 :(得分:1)
取决于你想要什么以及游戏如何进行I / O,但是我会查看pypy.js,它是浏览器中运行的pypy版本,能够进行基本的I / O和什么不是,这将需要最少量的当前设置重做。为了加快加载速度,可以使用与pypy.js相同的工具链将python代码编译为C,将C编译为asm.js.这需要将代码重新编写为有效的RPython,这需要静态类型化运行时变量以及一些其他限制。这将允许您的游戏以接近原生的速度在控制台中运行。
如果您希望在Web服务器上运行游戏代码,则可以使用COMET / AJAX解决方案。我通常使用Nevow中的Athena LivePage来处理这类事情。一个'插入式'解决方案是使用ShellInABox或PyInABox之类的东西来运行服务器端shell,并在shell中运行你的python脚本,在chroot中作为无权限用户运行。