如何使用Python技术在游戏中使用脚本主要有两种方式,一种方式是主程序使用一门高级语言,比如C++进行编写,然后对其嵌入一个脚本解释器,在运行时动态执行一些脚本函数。
Python在很早的时候就是一种游戏编程的辅助工具。在《星球大战》中扮演了重要的角色。在“阿贝斯(Abyss)”、“星球之旅(Star Trek)”、“Indiana Jones”超级大片中担当特技和动画制作的工业光魔公司(Industrial Light)就采用Python制作商业动画。目前,通过Python完全可以编写出非常棒的游戏程序。
企业与政务应用目前,Python已经成功的实现企业级应用,在全球,已经有很多公司采用Python进行企业级软件的开发和应用,比如:ERP和CRM这样的应用。同时,通过Python技术,成功的实现了许多政务应用。用Python写的较大的系统有:
Zope:一个应用程序服务器,具有内容管理、团队开发、XML、面向对象、SOAP接口等一系先进特性,且开放源码。Gadfly:一个用Python写的面向对象关系型数据库,具有小巧、快速、可移植性好,具有大部分SQL语言特性,且开放源码。参还有一些比较有名的公司也在用Python进行原型的开发。
如Microsoft、IBM等,还有:红帽(Red Hat )曾用Python技术和Tk一起成功开发配置和管理操作系统的可视界面。整个系统可以全面控制Linux操作系统,并根据用户选择对配置文件作自动更新。
Infoseek在其公用搜索引擎使用了Python。该公司还用Python对其软件进行定制,使最终用户能对该网站内容进行方便下载。 通常,程序员爱上Python是因为它能增加生产力。由于没有编译过程,编辑-测试-调试周期相当快。调试Python程序很简单:一个错误永远不会导致一个段错误。
当解释器发现错误时,它就引发一个异常。当程序没有捕捉到异常,解释器就打印一个堆栈跟踪。一个源码级调试器允许我们检查局部和全局变量,计算表达式,设置断点,单步跟踪等等。
调试器是用Python技术写的,这证明了Python的能力。另外,最快的调试程序的方法是增加几条打印语句:快捷的编辑-测试-调试周期使得这个简单的办法十分有效。 基本的运算式 我们直接切入正题,直接简单的教你使用 Python。 我假设读者己有其它语言的基础,可以直接切入语法重点。
上面是 list 的使用范例。list 是一个 sequence data type, 类於 C/C++ 的 array, 但 array 是 fixed length 而 list 不是, 其长度是可以随时改变的。行 1 就 bind a 为一个空的 list。 行 2 则指定 index 0 为 'aoo' string object。行 3 为 list 的 slice 的使用范例。
将 index 1 和 index 3 之间的 item(index 1 和 2) 代换成 10 和 11。行 5 的 b[:3] 则相当於 b[0:3], 而 b[1:] 相当於 b[1:4]。list 内的 item 不需是相同的 type, 如上例在一个 list object 里可以同时包含整数和 string 不同 type 的 item。
上面是 list 的 append() 和 insert() 两个 method 的使用范例,append 用以新增一个 item 到 list 的最後面。 insert 用以在指定的位置插入一个新的 item。行 4即在 list 的 index 1 的位置(即 item 0 和 item 1 之间)插入一个新 item。
插件。
这样可以方便地根据需求的变化改写脚本代码,而不是必须重新编译链接二进制的动态链接库。Python强大的功能足以胜任,但是有一些操作系统特定的功能需要用C++来实现,再由Python调用。所以,最基础地,我们需要做到:
1. 把Python嵌入到Python技术中,在C++程序中调用Python函数和获得变量的值;
2. 用C++为Python编写扩展模块(动态链接库),在Python程序中调用C++开发的扩展功能函数。
Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。它的名字来源于一个喜剧,也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用。
著名的自由软件作者Eric Raymond在他的文章《如何成为一名黑客》中,将Python列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程。这的确是一个中肯的建议,对于那些从来没有学习过编程或者并非计算机专业的编程学习者而言,Python是最好的选择之一。
【编辑推荐】