第82页
27.1 致年龄小的读者
对年龄小的读者来说,如果你喜欢用 Python 学习编程,可能也会乐于尝试另一种方法。Squeak Etoys 是一种面向孩子们的编程“语言”,它几乎是完全图形化的。你几乎不用写任何代码,可以通过创建图形对象并修改它们的属性和动作来建立程序。在后台,这些图形对象会转换为一种 Smalltalk 语言的代码,可以在 squeakland.org 了解更多有关 Etoys 的内容。
另一种看起来和 Squeak 很像的语言是 Scratch。与 Squeak 类似,Scratch 也允许你使用拖拽的方式编程。Scratch 程序也可以放到 Web 上共享。你可以在 scratch.mit.edu 上获取 Scratch。
27.2 Python
很多地方都可以帮助你更深入地学习 Python。在线 Python 文档非常完备,不过读起来可能有点困难。它包含一个语言参考、库参考、全局模块索引和 Guido van Rossum 写的一个教程(正是他创建了 Python)。你可以在这里找到这个文件:docs.python.org。
市面上有很多关于 Python 高阶内容的书籍,多到我无法只向你推荐一两本。具体使用什么书取决于你的品味、学习方式以及你想用 Python 做的事情。但我坚信,如果你想在 Python 学习之路上走得更远,就一定能找到适合自己的书。
邮件列表也非常有用。你可以发布一个消息,其他用户就会尽力来回答你的问题。大多数列表都有归档页面,你可以阅读或搜索较早的消息,看看是不是已经有人问过你要问的问题。
27.3 游戏编程与 Pygame
如果你只是想建立游戏,关于这个主题有很多书,实在是太多了,根本无法在这里一一列出。你可能想学习一种 OpenGL 技术,这是“Open Graphics Language”(开放图形语言)的简写,很多游戏都使用了这种图形系统。在 Python 中可以使用一个名为 PyOpenGL 的模块来使用 OpenGL,关于这个内容也有很多书可以参考。
如果你对 Pygame 感兴趣,也可以找到一些地方来了解更多有关内容。Pygame 网站(pygame.org)提供了很多例子和教程。
如果你确实想用 Pygame 完成游戏编程,向你推荐两个非常棒的资源。一个是 Pygame 邮件列表。我发现这个资源很有用。你可以在 pygame.org/wiki/info 找到它。邮件列表地址是 pygame-users@seul.org。
如果你想在游戏中实现更逼真的物理行为,可以使用一个名为 PyMunk 的库。PyMunk 是基于 Chipmunk Physics 开发的。你可以利用 Chipmunk 在二维(2D)世界中创建圆、直线和图形等,然后它会让这些图形模拟出重力和摩擦力等物理学上基本的力。可以在 pymunk.org 获取 PyMunk。
27.4 其他语言的游戏编程(非 Python)
我如果你对游戏编程感兴趣,可能会有兴趣了解 Unity 游戏引擎。Unity 包含了很多东西,包括一个 3D 游戏引擎和一个物理引擎,并提供了编写脚本的方式。你可以用来编写脚本的语言之一叫做 Boo,它与 Python 有很多相似之处。
你可能玩过一些游戏,现在你可以通过编写代码来扩展它们。比如,要扩展 Roblox(roblox),你可以编写 Lua 代码。你也可以在 Minecraft(minecraft)中使用 Lua 或者 Java 编写代码。(顺便提一下,流行的 Angry Birds 游戏就是使用 Lua 编写的。)
27.5 传承 BASIC
你可能注意到这样一种现象,如果在图书馆找书,可以找到 20 世纪 80 年代为孩子们写的一些编程书,而且其中很多书都使用了一种名为 BASIC 的语言,这在当时相当流行。(现在你还能得到面向现代计算机的一些 BASIC 版本,包括面向 Windows 的 QBASIC 和 BBC BASIC。)这些书里往往有很多游戏。如果把这些古老的 BASIC 书中的游戏用 Python 重写可能很有意思。如果需要,你可以使用 Pygame 或 PythonCard 来帮助完成图形部分。我保证这样会让你大有收获!
27.6 移动应用
如果你对编写 iPhone 或者 Android 应用感兴趣的话,可以通过以下两种方式来编写。你可以通过 PhoneGap(phonegap)使用 HTML5 和 CSS 来编写 iPhone 应用。如果采用这种方式,你就很容易将应用移植到其他的手机操作系统上(如 Android 或 者 Blackberry OS)。另一种方式是使用 Objective-C 语言和 Cocoa Touch 库编写原生的 iPhone 应用代码。编写原生代码使用的编辑器叫做 Xcode,它只能在 Mac OS X 上运行。Android 应用基本上是用 Java 编写的,但你也可以利用像 PhoneGap 这样的库来使用其他语言编写。
27.7 回顾
有很多很多别的主题需要研究,还有很多资源可以帮助你在不同的编程领域尤其是 Python 编程领域中更为深入。你可以在图书馆或书店找一找,看看哪些书提供了你感兴趣的信息。也可以在网上搜索这些主题,看看有没有一些在线教程或者 Python 模块能帮你达成目标。
利用 Python 可以做很多事,但如果你需要做一些特定的事情,可能需要其他的语言,比如 C、C++、Java、JavaScript(和 Java 不同)或者别的什么语言。如果是这样的话,你就需要找到一本书或者其他资源来学习这门语言。这些书和资源非常之多,所以我也无法在这个话题上给出更多的建议了。
不管怎样,享受编程的快乐吧!不断学习、探索和试验。你对编程了解得越多,就会发觉它越有意思!