朋友们大家好,相信大部分人都喜欢玩游戏,无论是在工作间隙还是下班回家的路上,可能都会拿起手机玩游戏打发时间,亦或是在游戏中寻找乐趣,放松自己。上

我跟大家分享的内容主要是用Python的Pygame
Zero模块来制作小游戏,同时推荐编程环境:Thonny(开源跨平台)。Thonny是一个跨平台的开源开发环境,自带Python解释器,体积小巧、功能齐备。扫描如下二维码,会有老师手把手教你如何安装Thonny和运用Thonny。 

Thonny安装好后,进行Pygame Zero模块的安装。首先打开Thonny,点击菜单“工具”->“管理模块”,输入“pgzero”
点击搜索,最后点击“install” ,安装成功!

我们制作一个小精灵,要求点击小精灵后,会发出声音并且精灵会摔倒。第一步创建游戏角色:

• 在源代码文件目录下新建两个目录:一个是images(名字可自定义),用来存放图片文件;另一个是sounds,用来存放声音文件。

• 用Actor类创建一个精灵对象:指定图片、位置

• 在draw中画出精灵:精灵图片将出现在指定的位置alien.pos

第二步更新update:改变精灵的位置,每秒会改变60次!
import pgzrun import time #创建一个精灵 alien = Actor('alien') alien.pos = 100,56
#绘制窗口大小 WIDTH = 500 HEIGHT = alien.height + 100 #每次需要刷新窗口的时候,会自动调用draw函数
def draw():     screen.clear()     screen.fill((128, 0, 0))     alien.draw()
每一帧都会调用update函数 def update():     alien.left += 2     if alien.left > WIDTH:
        alien.left = 0

 第三步与精灵的交互:pos是鼠标的位置,当点击到精灵,精灵就会摔倒,并发出“呃”的声音,1s后恢复初始状态;如果没有点击到精灵,就会打印出“快闪”二字;如果无点击行为,精灵就将一直循环移动。
def on_mouse_down(pos):     if alien.collidepoint(pos):
        set_alien_hurt()     else:         print("快闪")         
def set_alien_hurt():         sounds.eep.play()
        alien.image = 'alien_hurt'         print("呃")
        clock.schedule_unique(set_alien_normal, 1.0)         
def set_alien_normal():     alien.image = 'alien' pgzrun.go()
    
到这里就大功告成了!以上是一个小例子,让大家初识Python的Pygame Zero模块,大家在空余时间可以用Python来做做小游戏,一方面可以巩固相关知识,另一方面可以开拓视野释放压力。

上期参考答案

程序:
from turtle import * from random import * from math import *   def tree(n, l):
    pd()      pencolor('brown')     pensize(n / 3)     forward(l)     
    if n > 0:         b = random() * 15 + 10          c = random() * 15 + 10 
        d = l * (random() * 0.25 + 0.7)          right(b)
        tree(n - 1, d)         left(b + c)         tree(n - 1, d)
        right(c)     else:         right(90)         pencolor('green')
        circle(3)         left(90)              pu()     backward(l) ht()
speed(0)  tracer(0) pu()  backward(100) left(90)  pu() backward(300)
tree(12, 100) done()    
结果:

在这里还是要推荐下我自己建的Python学习Q群:831804576,群里都是学Python的,如果你想学或者正在学习Python
,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),
包括我自己整理的一份2022最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

技术
©2019-2020 Toolsou All rights reserved,
Python学习笔记(一)Linux【shell】 shell编程创建一个线程——— Javaweb (3)evo工具使用问题——Degenerate covariance rank, Umeyama alignment is not possibleVMware 16安装centos 7详细教程C语言做一个简易的登陆验证(功能)界面C语言——qsort函数Spring Boot面试必问:自动配置原理Android EditText密码显示隐藏Qt入门教程【基础控件篇】QCalendarWidget日历控件