【python 小游戏】用 python 写一款小游戏 -- 贪吃蛇
今天,突发奇想的想用 python 写一款小游戏--贪吃蛇。相信大家都玩过,那么玩一款自己写的是一种什么样的体验呢。
我们首先导入相关模块
## 导入相关模块
import random
import pygame
import sys
那么这三个模块有什么意思呢。我们一一介绍。
1.random
Python 中的 random 模块用于生成随机数,它提供了很多函数。常用函数总结如下:1. random.random()用于生成一个 0 到 1 的随机浮点数: 0 <= n < 1.0
2. random.seed(n)用于设定种子值,其中的 n 可以是任意数字。random.random() 生成随机数时,每一次生成的数都是随机的。但是,使用 random.seed(n) 设定好种子之后,在先调用 seed(n)时,使用 random() 生成的随机数将会是同一个。
3. random.uniform(a,b)返回 a,b 之间的随机浮点数,若 a<=b 则范围[a,b],若 a>=b 则范围[b,a] ,a 和 b 可以是实数。
4. random.randint(a,b)返回 a,b 之间的整数,范围[a,b],注意:传入参数必须是整数,a 一定要比 b 小。
5. random.randrange([start=0], stop[, step=1])返回前闭后开区间[start,stop)内的整数,可以设置 step。只能传入整数。
6. random.choice(sequence)从 sequence(序列,列表、元组和字符串)中随机获取一个元素。7. random.choice(sequence, k)从 sequence(序列,列表、元组和字符串)中随机获取 k 个元素,可能重复,k 用参数名传值,k 省略则默认取 1 个,返回 list。
8. random. shuffle(x)用于将列表中的元素打乱顺序,俗称为洗牌。
9. random. sample(sequence,k)从指定序列中随机获取 k 个不重复元素作为一个列表返回, sample 函数不会修改原有序列。
知识点扩展:
python random 模块导入及用法
random 是程序随机数,很多地方用到,验证码,图片上传的图片名称等,下面说说 python random 模块导入及用法
1,模块导入 import random
2,random 用法
random.randomrange(1,10) 返回 1-10 随机数,不包括 10
random.randomint(1,10) 返回 1-10 随机数,包括 10
random.randomrange(1,100,2) 随机选取 0-100 的偶数
random.random() 返回浮点数
random.choice()random.sample() 从多个字符选取特定字符
2.pygame
pygame 简介 pygame 可以实现 python 游戏的一个基础包。pygame 实现窗口初始化 pygame,init()类似于 java 类的初始化方法,用于 pygame 初始化。pygame.init()设置屏幕,(500,400)设置屏幕初始大小为 500 * 400 的大小,0 和 32 是比较高级的用法。这样我们便设置了一个 500*400 的屏幕。surface = pygame.display.set_mode((500, 400), 0, 32)如果不设置 pygame 事件的话,窗口会一闪而逝。这里去捕捉 pygame 的事件,如果没有按退出,那么窗口就会一直保持着,这样方便我们去设置不同的内容展示。
3.sys
sys 模块 与 os 包一样,也是对系统资源进行调用。功能同样也是非常丰富,接下来我们会对 sys 模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见的 Python 背后的事件。
sys 中的常用方法
编辑
示例如下:
言归正传,我们继续说说下一步我们要怎么做。
初始化
颜色定义
我们接下来定义一下四个方向
主函数
游戏运行主体
接下来,就是我们今天的主角--贪吃蛇和它的食物。
然后我们设计贪吃蛇有没有吃到食物,判定贪吃蛇死亡以及食物随机产生。
接下来,我们设计一个开局画面,代码如下:
我们再来设计游戏结算的画面。
当我们贪吃蛇吃一个食物得多少分,我们可以这样写:
到这里,我们贪吃蛇的主体程序已经写出来,我们稍加完善就能运行。
版权声明: 本文为 InfoQ 作者【BROKEN】的原创文章。
原文链接:【http://xie.infoq.cn/article/818fb26eea06176fe543e7845】。文章转载请联系作者。
评论