python3 pygame实现接小球游戏
作者:Higashino_Keigo 发布时间:2023-07-28 18:04:21
标签:python3,pygame,小球
本文实例为大家分享了python3 pygame接小球游戏的具体代码,供大家参考,具体内容如下
操作方法:鼠标操作
截图:
直接放代码:
# -*- coding:utf-8 -*-
import sys,pygame,random #导入库
from pygame.locals import *
def print_text(font,x,y,text,color=(255,255,255)):
imgText = font.render(text,True,color) # 创建字体,三个参数是文本.抗锯齿.颜色
screen.blit(imgText,(x,y)) #built screen 创建文本窗口
pygame.init() #init 初始化
#窗口设置
screen = pygame.display.set_mode((600,500))#screen-size 窗口大小设置
pygame.display.set_caption('BallFall') #title 窗口标题
font1 = pygame.font.Font(None,24) #font,size 字体类型(None为pygame默认字体).字体大小
pygame.mouse.set_visible(False) #mouse-visible 光标可视
#颜色设置
white = 255,255,255 #rgb
red = 220,50,50
yellow = 230,230,50
blue = 0,0,100
#计数设置
lives = 3 #初始生命
score = 0 #初始分数
#初始化设置
game_over = True #游戏结束判断
mouse_x = mouse_y = 0 #光标初始化
pos_x = 300 #挡板位置初始化
pos_y = 460
bomb_x = random.randint(0,500) #小球位置随机初始化
bomb_y = -50 #小球下落高度初始化
vel_y = 0.3 #小球下落速度
while True:
for event in pygame.event.get(): #事件判断
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == MOUSEMOTION: #鼠标运动
mouse_x,mouse_y = event.pos
elif event.type == MOUSEBUTTONUP: #鼠标抬起
if game_over:
game_over = False
lives = 3
score = 0
keys = pygame.key.get_pressed() #获取键盘
if keys[K_ESCAPE]: #键盘右上角esc键
pygame.quit()
sys.exit()
screen.fill(blue) #背景颜色
if game_over:
print_text(font1,100,200,'click to play')
else: #判断小球运行轨迹
bomb_y += vel_y
if bomb_y > 500: #fallen
bomb_x = random.randint(0,500) #小球随机出现
bomb_y = -50
lives -= 1
if lives == 0:
game_over = True
elif bomb_y > pos_y:
if bomb_x > pos_x and bomb_x < pos_x + 120:
score += 1
bomb_x = random.randint(0,500)
bomb_y = -50
pygame.draw.circle(screen,yellow,(bomb_x,int(bomb_y)),30,0) #绘制圆形 五个参数为屏幕.颜色.位置.实心半径.空心半径
pos_x = mouse_x #挡板位置变化设置
if pos_x < 0:
pos_x = 0
elif pos_x > 500:
pos_x = 500
pygame.draw.rect(screen,red,(pos_x,pos_y,120,40),0) #绘制矩形 参数跟圆形一样
print_text(font1,0,0,'Lives:' + str(lives)) #文字显示
print_text(font1,500,0,'Score:' + str(score))
pygame.display.update() #更新
来源:https://blog.csdn.net/Higashino_Keigo/article/details/80276141
0
投稿
猜你喜欢
- 一、状态介绍在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于 * 作系统的调度算法控制,程序会进入几个状态:就绪,运
- 很简单,我们用两个文件就可以实现这一功能:login.htm<% @ Language=JavaScript&nb
- 换脸!这段时间,deepfakes搞得火热,比方说把《射雕英雄传》里的朱茵换成了杨幂,看下面的图!毫无违和感!其实早在之前,基于AI换脸的技
- table通过使用下面语句创建:create table userinfo(name text, email text)更快地插入数据在此用
- 随着技术的不断升级,微软的王牌数据库SQL Server 2000正在逐渐淡出人们的视线,而新版的SQL Server 2005正成为企业和
- 启发式搜索在人工智能中起着关键作用。在本章中,您将详细了解它。AI中的启发式搜索的概念启发式是一个经验法则,它引导我们找到可能的解决方案。人
- 先前在DW教学-Dreamweaver量身打造Wordpress留言板(一) 教学文章中,已经成功的把前端留言机制与界面搞定了,虽然有了留言
- 有时候我们用的一些pdf资料是没有目录的,这样找寻我们想到的东西比较麻烦。本篇文章就为大家带来python来生成pdf目录书签的方法。首先,
- 本文实例讲述了python调用机器喇叭发出蜂鸣声(Beep)的方法。分享给大家供大家参考。具体分析如下:下面这段python代码可调用机器喇
- 在cssrain整理的一个 试题集 中有这么一道题:<SCRIPT LANGUAGE="JavaScript"&g
- 编解码器在字符与字节之间的转换过程称为编解码,Python自带了超过100种编解码器,比如:ascii(英文体系)gb2312(中文体系)u
- 以前写过一个标签效果,外观虽然好看,但代码不太规范,实现的方法比较繁冗。需要注意的是标签的背景图,两种状态,激活的标签背景为蓝色,反之为灰色
- 以下是演示**“如何在Python中复制文件”的九种方法**。shutil copyfile()方法shutil copy()方法shuti
- 看代码吧~class ConvNet(nn.module): def __init__(self, num_cla
- 如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin
- 定义:Dim MyArray() Redim MyArray(5)Session("StoredAr
- 前言在 PyQt 中可以使用很多方式实现照片查看器,最朴素的做法就是重写 QWidget 的 paintEve
- 文章主要描述的是SQL Server数据库和Oracle数据库行转列的一种比较典型操作方法,对于有些业务来说,数据在表中的存储与其最终的Gr
- PHP hebrev() 函数实例反向显示希伯来字符:<?php echo hebrev("á çù&
- 1.安装Python-LDAP(python_ldap-2.4.25-cp27-none-win_amd64.whl)pip install