使用pygame开发一个小游戏

article/2025/8/26 18:07:01

        学习了pygame,身为一个IKUN所以,做了一个简单的小游戏。游戏规则是,使用键盘的方向键控制坤坤,当坤坤触碰到篮球,就会爆发出音乐”只因你太美“。代码如下:

import random
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((495,299))
pygame.display.set_caption("篮球和鸡")        #显示标题
icon = pygame.image.load("坤.webp")
pygame.display.set_icon(icon)               #显示标题图像
bgImg = pygame.image.load("篮球和鸡.webp")   #背景图#添加音效
#pygame.mixer.music.load("鸡你太美.mp3")
#pygame.mixer.music.play(-1)
bao_sound = pygame.mixer.Sound("鸡太美.mp3")#玩家移动和玩家位置
playerX=100
playerY=200
playerStep_X=0
playerStep_Y=0
playerImg = pygame.image.load("坤球.png") #导入游戏人物50*58#篮球移动和篮球位置
ballX= random.randint(100,400)
ballY= random.randint(20,150)
ballStep=1      #篮球速度
ballImg = pygame.image.load("篮球.png")  #导入篮球50*37#def process_events():def delay():for i in range(1,101):for q in range(1,301):pass#篮球类
class Balls():def __init__(self):self.img = pygame.image.load("篮球.png")self.x = random.randint(100,400)self.y = random.randint(20,150)self.step = random.randint(2,6)balls = []
number_of_balls =6
for i in range (number_of_balls):balls.append(Balls())#游戏主循环
while True:screen.blit(bgImg,(0,0))screen.blit(playerImg, (playerX, playerY))for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()if event.type == pygame.KEYDOWN:if event.key == pygame.K_RIGHT:playerStep_X = 1elif event.key == pygame.K_LEFT:playerStep_X = -1
#            playerX += playerStep_Xif event.type == pygame.KEYUP:playerStep_X = 0if event.type == pygame.KEYDOWN:if event.key == pygame.K_UP:playerStep_Y = -1elif event.key == pygame.K_DOWN:playerStep_Y = 1
#            playerY += playerStep_Yif event.type == pygame.KEYUP:playerStep_Y = 0#导入一个篮球screen.blit(ballImg, (ballX, ballY))ballX += ballStepif(ballX > 450 or ballX < 0):ballStep *= -1ballY += 3if ballY >= 350:ballY = 0# #导入多个篮球# for e in balls:#     screen.blit(e.img,(e.x,e.y))#     e.x += e.step#     if(e.x > 450 or e.x < 0):#         e.step *= -1#         e.y += 13#         if e.y >=299:#             e.y = 0#键盘控制上下左右移动if playerX >= 450:playerX = 450elif playerX <=0:playerX = 0playerX += playerStep_Xif playerY <= 0:playerY = 0elif playerY >=250:playerY =250playerY += playerStep_Yif (ballX <= playerX-2 and ballY+10 >= playerY):bao_sound.play()ballX = random.randint(100, 400)ballY = random.randint(20, 150)pygame.display.update()

运行的结果图如下

图片可以根据自己的要求自行更改。游戏很简单,但是所学习的东西有很多,也算是一次不错的收获。


http://chatgpt.dhexx.cn/article/9qFMfLtC.shtml

相关文章

微信小游戏开发教程

微信小游戏开发教程-前言 自18年年初对开发者开放小游戏接口以后小游戏越来越火热&#xff0c;本文就是对小游戏开发的入门教程&#xff0c;希望这篇文章能够帮到想要入门开发游戏的你。 哈哈哈&#xff0c;看到有人说我故意分成好几篇刷PV&#xff0c;改了一下删了两篇&…

支持小游戏开发的“引擎四剑客”

2017年12月28日&#xff0c;微信发布了一款叫“跳一跳”的微信小程序的一个小游戏&#xff0c;无需下载安装&#xff0c;即点即玩&#xff0c;只需要在微信客户端的小程序界面搜索“跳一跳”&#xff0c;点击即可加载进入该游戏玩。游戏小而精&#xff0c;借助于微信巨大的社交…

小程序开发小游戏注意事项

今天研究小游戏开发&#xff0c;总结了一些自己遇到的问题 : 一. 注册appId 用小程序开发的小游戏跟用小程序开发其他项目不是公用的一个appId 如果你现在的小程序账号已经选了别的类目&#xff08;非游戏&#xff09;&#xff0c;那你就需要另外注册一个账号来单独申请小游戏…

【小程序】快来开发你的第一个微信小游戏(详细流程)

&#x1f973; 作者&#xff1a;伯子南 &#x1f60e; 坚信&#xff1a; 好记性不如乱笔头&#xff0c;独乐乐不如众乐乐 &#x1f4aa; 个人主页&#xff1a;https://blog.csdn.net/qq_34577234?spm1010.2135.3001.5421 &#x1f46c;&#x1f3fb; 觉得博主文章不错的话&…

小游戏开发

小游戏开发 1、游戏发展历史 广义&#xff1a;一种有组织的玩耍&#xff0c;一般是以娱乐为目的&#xff0c;有时也有教育目的。在英语中&#xff0c;体育比赛(Game)也是游戏&#xff0c;只要其活动本质带有目的、规则、挑战和互动&#xff0c;我们都可以把其归为游戏。 狭义…

小游戏开发指南及过程中的难点问题

如果仅仅针对个人开发者来讲&#xff0c;要独立开发一款大型游戏几乎无可能&#xff0c;更大成功的可能还是开发一款类似《羊了个羊》这样洗脑的小程序游戏。 所以这里主要论述小游戏开发的情况&#xff0c;也就是小程序游戏&#xff0c;首先从小游戏的开发流程来看&#xff1…

oracle数据库中的注释

oracle数据库中的注释 单行注释-- --这是oracle中的单行注释 SELECT SYSDATE FROM dual; 多行注释/**/ /*这是oracle中的多行注释*/ SELECT 6 6 AS "计算结果" FROM dual;

MYSQL数据库如何写注释

方式一 注意&#xff1a;在写注释时&#xff0c;–与注释之间必须要一个空格 select * from stu -- 注释方式二 注意&#xff1a;这种方式比较随意&#xff0c;加不加空格不影响 select * from t_info #注释select * from t_info#注释select * from t_info # 注释方式三 s…

Idea连接数据库,显示表注释

idea设置显示数据库表名注释 操作步骤&#xff1a; View Apperarance Details in Tree View选上

达梦数据库中的注释的使用

在管理规模较大的数据库时&#xff0c;我们往往需要面对大量的表与视图&#xff0c;与此同时在表与视图中可能会存在着许多的字段&#xff0c;让人难以迅速分辨&#xff0c;不利于对于数据库对象的管理。除了在命名时&#xff0c;对于有意义的表、视图及列&#xff0c;应尽量赋…

Jpa 自动建表的时候在数据库中添加注释。

github地址 本项目可以让 Jpa 自动建表的时候在数据库中添加注释。 为什么做这件事 过去想要让 Jpa 在建表的时候自动添加注释一般需要使用 Column#columnDefinition 属性。示例如下&#xff1a; Column(columnDefinition "INT COMMENT ...") private int unitI…

达梦数据库中迁移过来的数据,在Mysql中批量添加注释,修改注释

一、原因 数据是从达梦数据库中迁移过来的&#xff0c;迁移完成注释丢失 二、方法 利用 information_schema.COLUMNS 这个表 三、执行步骤 1.这是达梦数据库导出的注释2.达梦的数数据库数据导出时是和创建表和索引都在一起&#xff0c;因此需要单独把注释这一块的给提取出…

2021.3.17丨致病菌毒力因子(VFDB)数据库注释

摘要 接到一个常规细菌的组装注释项目&#xff0c;不过客户提出想要获取关于组装结果与病毒之间的联系/按之前的操作&#xff0c;dfast没有病毒相关的数据库&#xff0c;无法满足客户需求。一番查阅&#xff0c;发现大家用这个VFDB数据库进行常规的病毒注释&#xff0c;下面将介…

【TP5】获取数据库注释信息

author&#xff1a;咔咔 wechat&#xff1a;fangkangfk table为表名 $data Db::query(SHOW FULL COLUMNS FROM .$table);

SpringBoot中使用Mybatis逆向工程(实体类含数据库注释)

Mybatis逆向工程&#xff1a;根据创建好的数据库表&#xff0c;生成对应的实体类、DAO、映射文件 文章目录 开发环境1.新建SpringBoot应用2.添加逆向工程插件依赖3.执行逆向生成 开发环境 开发工具&#xff1a;IntelliJ IDEA 2021.3.3 (Ultimate Edition)SpringBoot版本&#…

达梦数据库中注释的使用

在管理规模较大的数据库时&#xff0c;我们往往需要面对大量的表与视图&#xff0c;与此同时在表与视图中可能会存在着许多的字段&#xff0c;让人难以迅速分辨&#xff0c;不利于对于数据库对象的管理。除了在命名时&#xff0c;对于有意义的表、视图及列&#xff0c;应尽量赋…

达梦数据库注释的使用方法

在管理规模较大的数据库时&#xff0c;我们往往需要面对大量的表与视图&#xff0c;与此同时在表与视图中可能会存在着许多的字段&#xff0c;让人难以迅速分辨&#xff0c;不利于对于数据库对象的管理。除了在命名时&#xff0c;对于有意义的表、视图及列&#xff0c;应尽量赋…

数据库注释符

数据库注释符 MySQL数据库支持3中注释&#xff1a; 从‘#’字符到结尾&#xff1b;从‘- -’序列到结尾&#xff08;‘- -’要求第二个破折号后面至少跟一个空格&#xff09;&#xff1b;从/*到*/&#xff0c;可跨行&#xff1b; 例&#xff1a;

k8s安装kuboard面板

前面介绍了k8s的dashboard面板&#xff0c;这里介绍国人开发的kuboard面板&#xff0c;相较于dashboard面板&#xff0c;kuboard面板对很多运维调试功能做了很多增强。 官方文档&#xff1a;https://www.kuboard.cn/install/v3/install.html#kuboard-v3-x-%E7%89%88%E6%9C%AC%E…

[CKA]考试之K8s 版本升级

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Task 现有的Kubernetes 集群正在运行版本1.22.0。仅将master节点上的所有 Kuberne…