python3 pygame实现接小球游戏


Posted in Python onMay 14, 2019

本文实例为大家分享了python3 pygame接小球游戏的具体代码,供大家参考,具体内容如下

操作方法:鼠标操作

截图:

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() #更新

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python enumerate遍历数组示例应用
Sep 06 Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
Python实现控制台进度条功能
Jan 04 Python
matplotlib绘图实例演示标记路径
Jan 23 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
Python requests模块实例用法
Feb 11 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
python实现小程序推送页面收录脚本
Apr 20 Python
去除python中的字符串空格的简单方法
Dec 22 Python
python运行脚本文件的三种方法实例
Jun 25 Python
Django 多环境配置详解
May 14 #Python
python仿evething的文件搜索器实例代码
May 13 #Python
python爬虫租房信息在地图上显示的方法
May 13 #Python
详解如何设置Python环境变量?
May 13 #Python
详解python运行三种方式
May 13 #Python
OpenCV图像颜色反转算法详解
May 13 #Python
搞清楚 Python traceback的具体使用方法
May 13 #Python
You might like
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
比较discuz和ecshop的截取字符串函数php版
2012/09/03 PHP
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
php数组和链表的区别总结
2019/09/20 PHP
Javascript alert消息换行的方法
2013/08/07 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
Python自动连接ssh的方法
2015/03/07 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
python之mock模块基本使用方法详解
2019/06/27 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python @property装饰器原理解析
2020/01/22 Python
python Paramiko使用示例
2020/09/21 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
《大海那边》教学反思
2014/04/09 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
读后感作文评语
2014/12/25 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
创业计划书之水果店
2019/07/18 职场文书