实验13:Pygame游戏编程

一、实验目的和要求

学会Pygame的基本应用

二、Pygame的优点及应用

   使用Python进行游戏开发的首选模块就是Pygame,专为电子游戏设计(包括图像、声音),创建在SDL基础上,允许实时电子游戏研发而不被低级语言(如汇编语言)束缚。基于这一设想,所有需要的游戏功能和理念(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言(如Python)提供。

三、实验环境

1、安装Pygame:在桌面的搜索栏中输入“cmd”找到命令提示符,然后输入“pip install pygame”,然后按回车键,自行开始安装Pygame。如出现问题,会自动弹出还需安装的插件,或请上官网查询相关信息:https://www.pygame.org/wiki/GettingStarted

2、检查Pygame是否安装成功:在桌面的搜索栏中输入“IDLE”找到python代码实现界面,输入“import pygame\n pygame.ver”(\n为换行符,请按回车键),然后再按回车键:若显示版本信息,即为安装成功。

2、操作步骤如下:

 

 

四、实验过程

1、实例1:制作一个Pygame窗口

 1 # -*- coding:utf-8 -*-
 2 import pygame               
 3 import sys
 4 
 5 pygame.init()                         #初始化pygame
 6 size = width, height = 320,240      #设置窗口
 7 screen = pygame.display.set_mode(size)#显示窗口
 8 
 9 #执行死循环,确保窗口一直显示
10 while True:
11     #检查事件
12     for event in pygame.event.get():  #遍历所有事件
13         if event.type == pygame.QUIT: #如果单击关闭窗口,则退出
14             sys.exit()
15 
16 pygame.quit()                         #退出pygame

 

运行效果:(一直不知道哪里出了问题,窗口就是关不了)

 

 

2、制作一个跳跃的小球游戏

创建一个游戏窗口,然后再窗口内创建一个小球。以一定的速度移动小球,当小球碰到窗口的边缘时,小球弹回,继续移动。代码如下:

 

 1 import pygame                         #导入pygame模块
 2 import sys                            #导入sys模块
 3 
 4 pygame.init()                         #初始化pygame
 5 size = width,height = (1040,750)      #设置窗口 (根据自己的电脑显示器进行调整)
 6 screen = pygame.display.set_mode(size)#显示窗口
 7 color = (0,0,0)                       #设置颜色
 8 
 9 ball = pygame.image.load("ball.jpeg") #加载图片
10 ballrect = ball.get_rect()            #获取矩形区域
11 
12 speed = [1,1]                         #设置移动的x轴,y轴距离(数值越大越快)
13 while True:                           #执行死循环,确保窗口一直显示,并检查事件
14     for event in pygame.event.get():
15         if event.type == pygame.QUIT: #如果单击关闭窗口,则退出
16             sys.exit()
17 
18     ballrect = ballrect.move(speed)   #移动小球
19     if ballrect.left <0 or ballrect.right > width:
20         speed[0] = -speed[0]
21     if ballrect.top <0 or ballrect.bottom >height:
22         speed[1] = -speed[1]
23         
24     screen.fill(color)                #填充颜色
25     screen.blit(ball,ballrect)        #将图片画到窗口上
26     pygame.display.flip()             #更新全部显示
27 
28 pygame.quit()

 

运行效果:

五、函数积累

pygame.init()         --初始化pygame  

pygame.display.set_mode(size) --显示窗口

pygame.display.flip()     --更新全部显示

 

pygame.image.load("图片名+格式") --加载图片

 

pygame.event.get() --获取事件队列

pygame.QUIT    --退出pygame

event.type     --单击操作

 

sys.exit()

 


 

posted on 2022-12-03 10:08  Mandeluda  阅读(91)  评论(0编辑  收藏  举报