从零开始学Python AI开发系列12

从零开始学Python AI开发系列12

在接下来的内容中,我们将学习开发第一个简单的Python实战项目。

在这个实战项目中,我们将学习制作视频游戏中的生命药剂。

那么这个游戏的背景是什么呢?额,暂时不必要弄得这么复杂。总之我们现在有一个游戏人物,假定他的HP血量是45,

使用生命药剂,可以让游戏人物迅速恢复随机数量的生命值。

同时,我们给游戏设置了难度等级,简单,中等和困难三种级别。

根据游戏难度的不同,生命药剂恢复生命的效力会有所不同。

为此,我们将使用Python中的变量、数学运算和随机数来实现所需的功能。

好了,对这个游戏的介绍就到此为止了,接下来让我们来具体实现它。

首先还是打开Jupyter Notebook,具体的方法这里就不再赘述了。

因为这是一个全新的项目,我们可以创建一个新的Notebook,在PythonProjects文件夹中点击右上角的New

然后选择Python 3

此时在浏览器中会打开一个新的页面,如下图。

点击jupyter图标旁边的Untitled,修改notebook的名字为HealthPotion


好了,一切准备工作就绪,接下来就可以正式进入项目的开发了。

首先,我们要找到一种方式可以代表玩家的生命值。生命值其实是个很复杂的概念,即便是再高明的医生,恐怕也很少用简单的数据来显示一个人的生命值。不过为了简单起见,我们必须找到一种简化的方式,让计算机可以理解什么是生命值~

想想看,Numbers数字类型的变量是否就是一个很不错的选择呢?

如果进一步简化的话,直接用整数integer类型就可以了~

因此,现在我们需要创建一个代表玩家生命值的整数变量,并在游戏的过程中更改相关的信息。

小练习:

创建一个名为health的变量,并让它的初始数值为50。

完成了吗?其实真的很简单,在Jupyter Notebook的Cell中输入

health = 50

好了,现在我们就有了代表玩家生命值的变量health,它的初始值是50.

接下来我们将创建代表生命药剂的变量,它的数值是25到50之间的随机整数。

如果我们要从零实现在Python中生成一个随机数,还是有点复杂的。不过幸运的是Python中提供了辅助性的module(模块),可以帮我们快速生成随机数。而至于它是如何生成随机数的,这里就暂时不展开讲了,感兴趣的童鞋可以去Google和百度上搜索随机数生成算法。

那么什么是module(模块)呢?模块,简单来说在Python中可以理解为对应一个文件。我们可以把某些常用的函数和变量保存在某个脚本文件中。这样,当我们在其它文件或项目中需要用到这些功能时,只需要导入这个模块,就可以重用这些函数和变量了。module的名字就是文件名去掉.py这个后缀。

有时候我们还可能会在Python中用到package(包),那么package又指的是什么呢?包通常是一个目录,其中包含了某些功能相近的文件。关于package,我们在后面的学习中还会接触到,这些先有个大概的印象就可以了~

为了在文件中导入生成随机数的模块,我们需要使用下面的代码:

Import random

可以看到,这里的import使用绿色显示。在Jupyter Notebook中,对于Python语言中的关键词通常使用绿色表示。所谓的关键词就是Python语言的基本语法命令,我们不能使用这些关键词作为变量的名称,否则就会出现问题。

当然,如果关键词输错了,那么在Notebook中也不会变绿,比如:

这里我们把import错误的书写成了impot,那么系统就无法自动识别其作用~

好吧,现在我们已经导入了import这个module,那么它到底有什么作用呢?我们应该如何查看其作用呢?

在Jupyter Notebook中,从菜单栏中选择Help-Python,就会在浏览器中打开Python的帮助文档。

点击右上角的modules链接,就会打开Python中相关模组的帮助文档索引。

然后找到random,打开链接,就可以看到关于random这个模组的详细说明了。

在文档中往下拖动,很快就可以找到我们所需要的函数。

使用random.randint函数,就可以得到在a和b之间的随机整数。


好了,现在让我们在notebook中试一下。

可以看到,这里生成了一个随机整数15.

紧接着再尝试两次,可以看到每次都出现了不同的结果。

好了,回到我们的游戏。之前提到过,我们希望生命药剂的回血量是25到50之间的随机整数,那么,应该如何使用random模块来实现呢?

其实很简单,首先我们要创建一个代表药剂回血量的变量,然后使用random.randint函数来生成随机整数,并保存在这个变量中。

所以,为了实现我们这一课的目标,我们实际上做了三步工作,体现在三行代码中:

1.定义了一个名为health的变量,并设置它的初始数值是50,也就是玩家的初始生命值为50

2.使用import关键词导入了random这个模块

3.创建了一个名为potion_health的变量,用它来代表生命药剂的回血量。然后使用random.randint函数生成了一个25到50之间的随机整数,并保存在potion_health变量中。

现在小结一下,在这一课的内容中,我们学习或者复习了三个内容:

1.如何使用变量,特别是数字变量

2.如何导入模块

3.如何使用random.randint函数生成一个随机整数

好了,本课的内容到此结束,我们下一课见~

联系方式:

个人微信:iseedo

Github:

eseedo - Overviewgithub.com图标

编辑于 2019-08-24

文章被以下专栏收录