Python+Pygame实现接小弹珠游戏

 更新时间:2022年12月27日 09:42:04   作者:夏天是冰红茶  
这篇文章主要为大家详细介绍了Python如何利用Pygame实现接小弹珠游戏,即用挡板接住会反弹的小球,随着次数的增多,速度变快,分数增多,感兴趣的可以了解一下

游戏介绍

小学生都不一定会晚的游戏,用挡板接住会反弹的小球,随着次数的增多,速度变快,分数增多。

效果展示

游戏代码

import pygame as pg
import sys
from random import randint
import time
 
 
pg.init()         #对pygame内部各功能模块进行初始化创建及变量设置,默认调用
 
 
game_window = pg.display.set_mode((600, 500))   #初始化显示窗口,第一个size是一个二值元组,分别表示窗口的宽度和高度
pg.display.set_caption("接弹珠游戏")  #显示窗口的标题内容
score = 0
font = pg.font.Font(None, 60)
window_color = (0, 0, 0)  # 设置窗口颜色——黑色
ball_color = (0, 255, 0)  # 设置球的颜色-——绿色
rect_color = (255, 125, 0)  # 设置挡板颜色——橙色
move_x = 1
move_y = 1
ball_x = randint(20, 580) #球的初始位置随机
ball_y = randint(20, 480)
points = 1
count = 0
 
 
while True:
    game_window.fill(window_color)
    for event in pg.event.get():
        if event.type == pg.QUIT:
            sys.exit()
    mouse_x, mouse_y = pg.mouse.get_pos()
    pg.draw.circle(game_window, ball_color, (ball_x, ball_y), 20)   #在窗口内画球
    pg.draw.rect(game_window, rect_color, (mouse_x, 490, 100, 10))  #在窗口内画矩形接拍
    ball_x += move_x
    ball_y += move_y
    my_score = font.render(str(score), False, (255, 255, 255))    #设置分数显示,白色
    game_window.blit(my_score, (500, 30))
 
 
    ball_x += move_x
    ball_y += move_y
    if ball_x <= 20 or ball_x >= 580:          #左右两侧墙壁
        move_x = -move_x                       #碰到左右两侧墙壁时,X坐标变为反方向
    if ball_y <= 20:                           #碰到上方墙壁时,Y坐标改变方向
        move_y = -move_y
    elif ball_x >(mouse_x - 20) and ball_x <(mouse_x + 120) and ball_y >= 470:
        move_y = -move_y                      #下方接到球,改变Y坐标方向,并加分
        score += points
        count += 1                            #接球次数加1
        if count == 5:
            count = 0
            points += points                  #分数翻倍
            if move_x > 0:
                move_x += 1
            else:
                move_x -= 1
            move_y -= 1
 
 
    elif ball_y > 480 and (ball_x <= mouse_x - 20 or ball_x >= mouse_x + 120):
        ball_y = 490                         #没有接到球,退出程序
        break
    pg.display.update()                     #更新窗口,保证窗口始终打开
    time.sleep(0.03)

项目资源

Github:pygame-/接小弹珠 at main · Auorui/pygame- (github.com)

到此这篇关于Python+Pygame实现接小弹珠游戏的文章就介绍到这了,更多相关Python Pygame接弹珠游戏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 爬虫代理池Python3WebSpider源代码测试过程解析

    爬虫代理池Python3WebSpider源代码测试过程解析

    这篇文章主要介绍了爬虫代理池Python3WebSpider源代码测试过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python中asyncio模块的深入讲解

    Python中asyncio模块的深入讲解

    这篇文章主要给大家介绍了关于Python中asyncio模块的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • pytorch GAN伪造手写体mnist数据集方式

    pytorch GAN伪造手写体mnist数据集方式

    今天小编就为大家分享一篇pytorch GAN伪造手写体mnist数据集方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python为何不支持switch语句原理详解

    Python为何不支持switch语句原理详解

    这篇文章主要介绍了Python为何不支持switch语句原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • python实现修改固定模式的字符串内容操作示例

    python实现修改固定模式的字符串内容操作示例

    这篇文章主要介绍了python实现修改固定模式的字符串内容操作,结合实例形式详细分析了Python修改固定模式字符串原理、实现方法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • Python实现字符串格式化输出的方法详解

    Python实现字符串格式化输出的方法详解

    这篇文章主要介绍了Python实现字符串格式化输出的方法,结合具体实例形式总结分析了Python字符串格式化输出的各种常用操作技巧,需要的朋友可以参考下
    2017-09-09
  • Python如何抓取天猫商品详细信息及交易记录

    Python如何抓取天猫商品详细信息及交易记录

    这篇文章主要为大家详细介绍了Python如何抓取天猫商品详细信息及交易记录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python 数据可视化超详细讲解折线图的实现

    Python 数据可视化超详细讲解折线图的实现

    数据可以帮助我们描述这个世界、阐释自己的想法和展示自己的成果,但如果只有单调乏味的文本和数字,我们却往往能难抓住观众的眼球。而很多时候,一张漂亮的可视化图表就足以胜过千言万语,让我们来用Python实现一个可视化的折线图
    2022-03-03
  • Python设计模式之模板方法模式实例详解

    Python设计模式之模板方法模式实例详解

    这篇文章主要介绍了Python设计模式之模板方法模式,结合实例形式较为详细的分析了模板方法模式的概念、原理及Python定义、使用模板方法模式相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Python ConfigParser模块的使用示例

    Python ConfigParser模块的使用示例

    这篇文章主要介绍了Python ConfigParser模块的使用示例,帮助大家更好的理解和学习Python ConfigParser模块的用法,感兴趣的朋友可以了解下
    2020-10-10

最新评论