Python项目一:pygname

这篇博客详细介绍了如何使用Python的pygame库创建一个简单的游戏,包括窗口创建、图像处理、小球移动和碰撞检测。然后转向了jieba分词库的安装与使用,讲解了精确模式、全模式和搜索引擎模式,并展示了如何自定义词典。最后,博主探讨了如何用面向对象编程思想构建一个学生信息管理系统,包括需求分析、角色定位、文件结构和核心代码实现。
摘要由CSDN通过智能技术生成

1.安装pip   install    pygame

2.加载模块初始化:开始

import  sys
import  pygame

pygame.init()  #初始化

3.创建窗口

3.1pygame .display模块

作用:创建游戏窗口

常见的内置方法:

方法 作用

pygame。display.init()

初始化display模块
pygame.display.quit() 结束display模块
pygame.dispaly.set.mode() 判断是否初始化
pygame.display.set_mode() 初始化一个准备显示的界面
pygame.dispaly.get_surface() 获取当前surface
pygame.display.dlip() 更新显示
pygame.display.update() 更新部分内容显示到屏幕

小球续:

import sys
import pygame

pygame.init()  # 初始化

size = width, height = 640, 800
screen = pygame.display.set_mode()

# 执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
while True:
    #检查事件,显示窗口也是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

上述代码中,添加了轮询事件,pygame。display.get()可以获取事件队列,使用for....in遍历事件,在跟根据type属性判断事件类型是否属于关闭事件

4.添加小球

4.1image模块

  • 作用:pygame的图像传输模块
  • 常用方法:
方法 作用
pygame.image.load( )
从文件加载图片
pygame.image.save( )
将图片保存到磁盘
pygame.image.get_extended(
检查是否支持载入扩展的图像格式
pygame.image.tostring( )
将图像转为字符串
pygame.image.fromstring()
将字符串转为图像

 支持的图片格式:jpg   png    gif   bmp    pcx

注意:当一个图像被成功载入后,将转换为 Surface 对象,Surface 对象允许在其上边画线、设置像素、 捕获区域等

小球续:

import sys
import pygame
pygame.init() # 初始化pygame
size = width, height = 640, 480 # 设置窗口大小
screen = pygame.display.set_mode(size) # 显示窗口
color = (0, 0, 0) # 设置颜色
ball = pygame.image.load('ball.png') # 加载小球图片,不显示
# 执行死循环,确保窗口一直显示,直到手动关闭
while True:
    # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT: # 如果点击关闭则退出
            pygame.quit()
            sys.exit()

5.1处理Surface对象

5.1.1image.load()方法加载图片后会返回一个surface对象,其就是表示图片,可以进行二次处理如:涂画,变形,复制等

5.1.2.常用方法:

方法
作用
pygame.Surface.blit( ) 将图像绘制到另一个图像上
pygame.Surface.convert( )
转换图像的像素格式
pygame.Surface.fill( ) 使用颜色填充Surface
pygame.Surface.get_rect
获取Surface的矩形区域

小球续:

import sys
import pygame

pygame.init()  # 初始化

size = width, height = 640, 800
screen = pygame.display.set_mode()
colo=(0,0,0)  #设置颜色

ball=pygame.image.load('ball.png')  #加载小球图片,但不显示
ballrect=ball.get_rect()   #获取矩形区域,其实就是小球图形所占区域,只不过没内容


# 执行一个死循环,确保窗口一直存在,知道手动关闭(点击x)
while True:
    #检查事件,显示窗口也是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

screen.fill(color)
screen.blit(ball,ballrect) #将ball图片填充到屏幕矩形区域上
pygame.display.flip()


6.移动小球 

6.1.小球ballrect拥有move()方法,可用于移动,movexy)表示x轴和y轴的移动距离,左上角坐标为(0,0),可以设置move5,5

4.6.2. 小球续:

import sys
import pygame
pygame.init() # 初始化pygame
size = width, height = 640, 480 # 设置窗口大小
screen = pygame.display.set_mode(size) # 显示窗口,screen是一个Surface对象
color = (0, 0, 0) # 设置颜色
ball = pygame.image.load('ball.png') # 加载小球图片
ballrect = ball.get_rect() # 获取矩形区域
# 执行死循环,确保窗口一直显示,直到手动关闭
while True:
# 检查事件,显示窗口是一个事件,点击关闭也是一个事件
for event in pygame.event.get():
if event.type == pygame.QUIT: # 如果点击关闭则退出
pygame.quit()
sys.exit()
ballrect = ballrect.move(5, 5) # 小球循环移动
screen.fill(color) # 填充颜色
screen.blit(ball, ballrect) # 把ball图片填充到窗口上
pygame.display.flip() # 更新全部显示
注:上例代码发现小球移动太快,这是因为上述代码的运行时间太短了,导致肉眼观察
出现错觉,因此需要添加一个时钟用来控制程序运行事件
4.6.4. pygame.time 模块
  • 作用:pygame中监控时间的模块
  • 常用方法
方法
作用
pygame.time.get_ticks( ) 获取以毫秒为单位的时间
pygame.time.wait( ) 暂停程序一段时间
pygame.time.set_timer( ) 在事件队列上重复创建一个事件
pygame.time.Clock( ) 创建一个对象来帮助跟踪时间
注: Pygame 中的时间以毫秒( 1/1000 秒)表示
小球续:
import sys
import pygame
pygame.init() # 初始化pygame
size = width, height = 640, 480 # 设置窗口大小
screen = pygame.display.set_mode(size) # 显示窗口,screen是一个Surface对象
color = (0, 0, 0) # 设置颜色
ball = pygame.image.load('ball.png') # 加载小球图片
ballrect = ball.get_rect() # 获取矩形区域
clock = pygame.time.Clock() # 创建时钟
# 执行死循环,确保窗口一直显示,直到手动关闭
while True:
    clock.tick(60) # 更新时钟,每秒执行60次,即程序将永远不会超过每秒60帧
    # 检查事件,显示窗口是一个事件,点击关闭也是一个事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT: # 如果点击关闭则退出
            pygame.quit()
            sys.exit()

ballrect = ballrect.move(5, 5) # 小球循环移动
screen.fill(color) # 填充颜色
screen.blit(ball, ballrect) # 把ball图片填充到窗口上
pygame.display.flip() # 更新全部显示

4.7碰撞检测

4.7.1. 上例中小球移动后消失,表示移动到窗体之外了,所以需要增加碰撞检测,即小球与窗体任意一边的边缘发生碰撞则更改小球的移动方向

4.7.2. 小球终:

import sys
import pygame
pygame.init() # 初始化pygame
size = width, height = 640, 480 # 设置窗口
screen = pygame.display.set_mode(size) # 显示窗口
color = (0, 0, 0) # 设置颜色
ball &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值