第2章 用Python设计第一个游戏

2.1 第一个小游戏

有读者可能会说:“哇,小甲鱼(注:作者)!你开玩笑呢?这么快就教我们开发游戏啦?难道你不打算先讲讲变量、分支、循环、条件、函数等常规的内容?”

没错的,大家如果继续学下去就会发现,本书的教学会围绕着一个个个性鲜明的实例来展开,跟着本书完成这些实例的编写,你会发觉不知不觉中那些该掌握的知识,已经化作你身体的一部分了!这样的学习方式才能充满快乐并让你一直期待下一章节的到来。

好,今天来讲一下“植物大战僵尸”这款游戏的编写……但这是不可能的,因为虽然说Python容易入门,但像“植物大战僵尸”这类游戏要涉及碰撞检测、边缘检查、画面刷新和音效等知识点比较多,需要将这些基础知识累积完成才能开始讲。

目前对于我们所掌握的基础……貌似只有print()这个BIF,哦,BIF的概念甚至还没讲解……不过请淡定,这一点儿也不影响我们今天的节奏!

那么今天是一个什么样的节奏呢?今天打算讲一个文字游戏……

先来看下这段代码,并试图猜测一下每条语句的作用:

在这里要求大家都动动手,亲自输入这些代码,你需要做的是:

  • 打开IDLE。
  • 选择File->New Window命令(或者你可以直接按Ctrl+N键,在很多地方这个快捷键都是新建一个文件的意思)。
  • 按照上边的格式填入代码。
  • 按快捷键Ctrl+S,将源代码保存为名为p2_1.py的文件。
  • 输完代码一起来体验一下,F5走起(也可以选择Run->Run Module命令)!

程序执行结果如下:

提示

Tab按键的使用:

(1)缩进。

(2)IDLE会提供一些建议,例如输入pr TAB会显示所有可能的命令供你参考。

OK,我们是看到程序成功跑起来了,但坦白说,这玩意儿配叫游戏吗?呃……没事啦,咱慢慢改进,好,我们说下语法。

有C-like语言(一切语法类似C语言的编程语言称为C-like语言)编程经验的朋友可能会受不了,变量呢?声明呢?怎么直接就给变量定义了呢!有些真正零基础的读者可能还不知道什么是变量,不怕,随着本书内容的展开,大家很快就能掌握相关的知识。有些读者可能发现这个小程序没有任何大括号,好多编程语言都用大括号来表示循环、条件等的作用域,而在Python这里是没有的。在Python中,只需要用适当缩进来表示即可。