pygame实现弹球游戏


Posted in Python onApril 14, 2020

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

pygame弹球游戏

写的很简陋
pip install pygame 安装pygame模块

代码,复制运行即可

import pygame
import random

pygame.init()

win = pygame.display.set_mode((600, 600)) # 画布窗口的大小
pygame.display.set_caption("弹球游戏") # 窗口标题

x, y = 300, 0 # 方块的起点
width, height = 10, 10 # 方块的宽,高
speed = 1 # 速度


def _randomOK():
  return random.randint(0, 1)


stop = False
_random = _randomOK()

str1 = "暂停中"
baffle = 250
status = 0

count = 0
top = 0
while True:
  # 刷新频率, 小球移动速度
  pygame.time.Clock().tick(1000)

  for event in pygame.event.get():
    # 窗口x事件
    if event.type == pygame.QUIT:
      exit(0)
    elif event.type == pygame.KEYDOWN:
      # 回车事件
      if event.key == 13:
        str1 = "暂停中"
        stop = not stop
        if status == 1:
          x, y = 300, 0

  keys = pygame.key.get_pressed()
  if stop:
    pygame.display.set_caption(str1) # 窗口标题
    continue
  if y >= 590:
    status = 1
    stop = not stop
    str1 = "游戏结束,回车重新开始,反弹次数" + str(count)
    count = 0

  pygame.display.set_caption("弹球游戏") # 窗口标题
  if y == 0:
    top = 0
  if top == 0:
    if _random == 0: # 向下左弹
      x -= speed
      y += speed
    elif _random == 1:
      x += speed
      y += speed
  else:
    if _random == 0: # 向上左弹
      x -= speed
      y -= speed
    elif _random == 1: # 向上右弹
      x += speed
      y -= speed
  # 方向箭头响应
  if keys[pygame.K_LEFT]:
    baffle -= speed
    if baffle < 0:
      baffle = 0

  if keys[pygame.K_RIGHT]:
    baffle += speed
    if baffle > 500:
      baffle = 500
  # 碰撞逻辑
  if 500 <= y <= 520:
    print(x, y)
    print(baffle)
    # y 高度坐标 200 x 宽度坐标 200
    # x坐标加300 大于 宽度初始坐标, 小于 宽度+300
    if baffle <= x <= baffle + 100:
      count += 1
      top = 1

  # 防止跑出边界
  if x > win.get_size()[0] - width:
    _random = _randomOK()
    x = win.get_size()[0] - width

  if x < 0:
    _random = _randomOK()
    x = 0

  if y > win.get_size()[1] - height:
    _random = _randomOK()
    y = win.get_size()[1] - height

  if y < 0:
    _random = _randomOK()
    y = 0

  # 将每一帧的底色先填充成黑色
  win.fill((64, 158, 255))
  # 画方块
  pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))
  # 挡板设置,
  pygame.draw.rect(win, (255, 255, 255), (baffle, 500, 100, 20))
  # 更新画布
  pygame.display.update()
pygame.quit()

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

Python 相关文章推荐
Python爬虫之模拟知乎登录的方法教程
May 25 Python
Python+Turtle动态绘制一棵树实例分享
Jan 16 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
Python 分享10个PyCharm技巧
Jul 13 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
Python交互式图形编程的实现
Jul 25 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
通过Python pyecharts输出保存图片代码实例
Nov 25 Python
python快速安装OpenCV的步骤记录
Feb 22 Python
 分享一个Python 遇到数据库超好用的模块
Apr 06 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 #Python
Python request操作步骤及代码实例
Apr 13 #Python
jupyter notebook插入本地图片的实现
Apr 13 #Python
Python BeautifulReport可视化报告代码实例
Apr 13 #Python
解决jupyter notebook 出现In[*]的问题
Apr 13 #Python
超全Python图像处理讲解(多模块实现)
Apr 13 #Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 #Python
You might like
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
php判断linux下程序问题实例
2015/07/09 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
Python实现提取文章摘要的方法
2015/04/21 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
Python关于反射的实例代码分享
2020/02/20 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
python Zmail模块简介与使用示例
2020/12/19 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
法学院方阵解说词
2014/01/29 职场文书
见习期自我鉴定
2014/01/31 职场文书
法学院毕业生求职信
2014/06/25 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
员工工作能力评语
2014/12/31 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
个人先进事迹总结
2015/02/26 职场文书
农村党支部承诺书
2015/04/30 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
Java常用函数式接口总结
2021/06/29 Java/Android
Python加密技术之RSA加密解密的实现
2022/04/08 Python