当前位置: 首页 > news >正文

如何用python来做小游戏

本文重点内容:pygame

前情准备:我们需要安装好python,没有安装?传送门➡️

https://blog.csdn.net/weixin_54714100/article/details/152517550

如果我们安装成功了python,那么我们就可以用【pip】指令完成pygame的安装

pip install pygame  // Windowspip3 install pygame  // macOs

一个简单的小游戏:

绘制一个小球,通过方向键控制小球的移动,并使它不超过画布边界。

先来展示一下代码,下面会有一些知识点补充解释:

import pygame
import sys# 初始化 Pygame
pygame.init()# 设置窗口大小
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("控制小球移动")  # 设置标题# 颜色定义
WHITE = (255, 255, 255)
RED = (255, 0, 0)# 小球属性
ball_radius = 30  # 小球的半径
ball_x = WIDTH // 2  # ball_x是指小球圆心的位置x坐标,两个斜杠是整除的意思,见下方解释【1】
ball_y = HEIGHT // 2  # ball_y是指小球圆心的位置y坐标
ball_speed = 5  # 小球的移动速度# 游戏主循环 while循环,见下方解释【3】
running = True
while running:screen.fill(WHITE)  # 填充背景色# 绘制小球 pygame.draw.circle 见下方解释【2】pygame.draw.circle(screen, RED, (ball_x, ball_y), ball_radius)# 更新画面pygame.display.flip()# 处理事件 for循环,见下方解释【3】for event in pygame.event.get():if event.type == pygame.QUIT:running = False# 获取按键状态keys = pygame.key.get_pressed()if keys[pygame.K_LEFT]:ball_x -= ball_speed # ball_x是指小球的位置x坐标 -= +=运算,见下方解释【4】if keys[pygame.K_RIGHT]:ball_x += ball_speedif keys[pygame.K_UP]:ball_y -= ball_speed # ball_y是指小球的位置y坐标if keys[pygame.K_DOWN]:ball_y += ball_speed# 防止小球出界,读代码:如果小球的圆心x坐标减去半径,也就是最左边小于0的话,# 就把横坐标重置到半径位置,确保小球能够完全展示在画面里,# 其余语句同理,可以自己理解一下if ball_x - ball_radius < 0:ball_x = ball_radiusif ball_x + ball_radius > WIDTH:ball_x = WIDTH - ball_radiusif ball_y - ball_radius < 0:ball_y = ball_radiusif ball_y + ball_radius > HEIGHT:ball_y = HEIGHT - ball_radius# 退出 Pygame
pygame.quit()
sys.exit()

引入pygame,import就是引入的意思

import sys

sys是什么?

指路:https://blog.csdn.net/weixin_54714100/article/details/153315741

代码解释:

按照注释其实能够对代码有一个比较清晰的了解。

1. // 作为整数除法运算符(//)用于执行地板除运算,返回商的整数部分

举个例子:WIDTH // 2,WIDTH的值是800,也就是 800 // 2,可以整除,运算结果就是400,

如果是801 // 2,结果等于400余1,舍去余数,得400。

如果是809 // 10,结果等于80余9,同样舍弃余数,得80。

这就是【地板】的意思 floor,取下面的值,向下取整。

2. pygame.draw.circle(screen, color, center, radius)

其中,参数surface指的是要画圆的Surface对象;

color指定了圆的颜色(由参数width决定该颜色是画圆的线的颜色还是填充色),该参数的类型是Color类或者表示颜色的元组;

center指定了圆心的位置,其类型是Vector2类或者表示位置的元组或列表;

radius表示圆的半径,该参数的类型是整型或者浮点型,如果该参数的值小于1,则不进行画圆的动作。

circle()函数的返回值是Rect类型的变量,表示画出的圆的范围。

3. 循环:

while循环:

解释,当 while后面的这个结果是【true】时,就会执行循环体,否则的话就跳出循环。

对应到代码里就是:先定义一个值为true的变量【running】,当running为true的时候就一直循环让小球操控运动,直到running变成【false】时,就结束了。

for循环:

让【event】在所有键盘动作【pygame.event.get()】里循环,执行循环体,遍历完所有的按键动作之后,循环结束。

循环检测按下键盘的动作,如果是【退出游戏】,就把running改成【false】结束主循环。

4. -= 运算符

举个例子:

a = 6

a -= 2 意思就是 a = a - 2, 是这行代码的简化写法

经过运算之后得到 a = 4

   += 运算符

举个例子:

b = 6

b += 2 意思就是 b = b + 2, 是这行代码的简化写法

经过运算之后得到 b = 8

http://www.dtcms.com/a/498890.html

相关文章:

  • 捡到h3开发板,做了个视频小车(二),御游追风plus做遥控器
  • U盘安装群晖RR引导
  • 昆山市住房和城乡建设网站wordpress淘宝联盟
  • 数据库中表和视图的关系
  • 优先级队列的学习(二)
  • 内部排序——一文速通
  • 数据结构——东方财富掘金量化速成学习(python)
  • 做网站商城项目的流程深圳专业网站设计哪家好
  • 【招聘】-音视频行业企业的招聘分析
  • css word属性
  • 晋中网站seo芯火信息做网站怎么样
  • Orleans 流系统握手机制时序图
  • 【C + +】异常处理:深度解析与实战
  • 《从理论到实践:红黑树的自平衡机制与C++高效实现指南》
  • 将iOS/macOS应用上架至App Store
  • 海南做网站电话如今做哪个网站能致富
  • 数据结构——栈在递归中的应用
  • java.net 包详解
  • Three.js光照技术详解:为3D场景注入灵魂
  • 企业门户网站系统下载网店平台
  • 监听指定事件然后触发鼠标点击操作等,智能文本识别按键工具的使用教程
  • connect 的断线重连
  • wp-config.php文件是什么
  • 编译esp-idf小智报错
  • 微信小程序开发踩坑记:从AI工具翻车到找到合适方案
  • 《3D植被建模痛点解决:开放世界层级实例化+GPU批处理优化方案》
  • openharmony之分布式蓝牙实现多功能场景设备协同实战
  • Linux ARM 程序启动全链路解析:从 shell 到 main(含动态/静态链接)
  • 具身智能黑客松之旅002
  • 免费发布产品网站网站权重能带来什么作用