使用pygame开发一个小游戏
学习了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()
运行的结果图如下
图片可以根据自己的要求自行更改。游戏很简单,但是所学习的东西有很多,也算是一次不错的收获。
使用pygame开发一个小游戏相关推荐
- 如何不用服务器来开发一个小游戏
我是代长新,来自上海享物说,主要负责游戏客户端研发. 享物说是一个大家可以互相赠送物品,有趣.不花钱的社区平台.为了创造更好的社区氛围,我们决定通过小游戏来增加社区的趣味性和互动性. <乐享花园 ...
- 如何开发一个小游戏?其中有什么难点
如果仅仅针对个人开发者来讲,要独立开发一款大型游戏几乎无可能,更大成功的可能还是开发一款类似<羊了个羊>这样洗脑的小程序游戏. 所以这里主要论述小游戏开发的情况,也就是小程序游戏,首先从小 ...
- 用 pygame 开发象棋小游戏
源码及资源请前往github获取 如果觉得还不错的话,请赏个 star 呗. 最近因为工作原因,需要学习一下python,学习了基础语法,打算做一个游戏,算做python 学习的一个阶段点. 前段时间 ...
- 【h5白鹭引擎】如何快速开发一个小游戏
1.环境搭建 安装教程传送门:http://edn.egret.com/cn/index.php?g=&m=article&a=index&id=207&terms1_ ...
- libGDX跨平台游戏开发框架入门:开发一个小游戏之加载资源
目录 前言 加载资源 libGDX资源目录说明 配置各个平台启动器 desktop模块启动器设置 Android模块启动器设置 加速度计和指南针 html模块启动器设置 编写加载资产代码 1. 加载图 ...
- 用JavaFx开发一个小游戏
老婆特喜欢一个叫做ColorLinez的小游戏,但这个叫做WinLinez的小游戏的界面实在太老了,而且很多老婆大人想要的功能都没有,因此我一直想给老婆亲手做一个,她想要的,谁让咱是程序员呢? 我目前 ...
- 使用pygame开发一个弹幕射击游戏(一)
本文作为开发过程记录用. 目前游戏画面: 下一个添加的功能:敌机可以进行射击. 弹幕类 from pygame.sprite import Sprite from pygame import tran ...
- Pygame:编写一个小游戏
大学最后的考试终于结束了,迎来了暑假和大四的漫长的"自由"假期.当然要自己好好"玩玩"了. 我最近在学习Python,本意是在机器学习深度学习上使用Python ...
- 如何开发一个小程序游戏?
小程序游戏开发需要开发人员具备以下几点能力: 有一定的编程基础,例如 JavaScript.TypeScript 至少熟悉一种游戏开发引擎,比如 Cocos.Unity等 对游戏机制.游戏系统有一定的 ...
最新文章
- Oracle用户密码过期和用户被锁解决方法【转】
- 将JavaScript字符串全部转换为小写吗?
- 架构师之路 — 分布式系统 — gRPC 谷歌远程过程调用
- 图解Oracle dump 命令初步
- 酱油和gbt酱油哪个好_都说日本的酿造酱油品质好,我国的酱油究竟差在哪儿?...
- mysql断电不受影响db引擎_一次服务器断电,造成innodb引擎表(日志表)损坏的解决办法...
- 网络测试工具 - QCheck
- 你听过哪些匪夷所思的故事?
- VisualStudio中解决方案
- 学html需要什么软件,在上海学html需要学什么软件?
- win10+ubuntu双系统修复ubuntu启动引导
- xposed框架安装使用教程(第一篇)
- 公司如何使用开源软件
- 深入研究webrtc平滑发送(paced sender)
- 2022年全球沥青毯市场前景分析及研究报告
- SVN_处理文件误删恢复
- 利用mobi 和 epub 电子书文件建立自己的书库
- 苦学Excel、VBA,工作效率依旧低下?你该认识这个新工具了
- LaTeX论文图片排版
- css字号 h5_你应该知道的CSS文字大小单位PX、EM、PT
热门文章
- python实现AI抠图
- 微信小程序网络请求异常怎么办_解决·微信小程序开发-网络请求报Invalid request 400错误...
- 103 THREE.JS 实现局部纹理刷新
- 学习 《模型思维》-斯科特·佩奇 笔记 9.27
- 解决jdbc连接数据库出现的问题: Sun Jan 30 18:46:54 CST 2022 WARN: Establishing SSL connection without server‘s i
- AndroidStudio 使用ADB命令进行 WIFI调试
- java for循环 写法_java中for循环的6种写法
- python 获取计算机的网卡信息
- 解决 hsdb jinfo jmap sa-jdi等mac不可用问题
- mysql 查询去除小数点_SQL查询金额去掉小数点后面的零