py篮球游戏

文章展示了一个使用Python的Pygame库创建的简单篮球投篮游戏的代码实现。玩家通过键盘控制篮球移动,按空格键投篮,碰到篮筐得分。游戏包括篮球和篮筐的图像加载、位置更新、边界限制、碰撞检测及得分系统。
摘要由CSDN通过智能技术生成

球球:看见那些篮球了吗我也想玩投篮。

威威:这个可以吗?

 

hoop.png

 

basketball.png

球球:你想干啥,这个只是张照片而已?

威威:编程。

 (游戏规则:按空格键发射,碰到篮筐加一分。左右键即左右。碰到篮筐加一分后便落下。

球球:哇!代码是?

import pygame
import random

# 游戏初始化
pygame.init()
screen = pygame.display.set_mode((640, 480))
clock = pygame.time.Clock()

# 加载篮球和篮筐图像
basketball = pygame.image.load('basketball.png')
hoop = pygame.image.load('hoop.png')

# 设置篮球的初始位置和速度
basketball_x = 320
basketball_y = 440
basketball_speed_x = 0
basketball_speed_y = 0

# 设置篮筐的位置
hoop_x = 270
hoop_y = 30
hoop_width = hoop.get_width()
hoop_height = hoop.get_height()

# 设置得分变量
score = 0

# 游戏循环
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                basketball_speed_x = -5
            elif event.key == pygame.K_RIGHT:
                basketball_speed_x = 5
            elif event.key == pygame.K_SPACE:
                if basketball_speed_y == 0:  # 只有在篮球静止时才能跳跃
                    basketball_speed_y = -10

    # 更新篮球的位置
    basketball_x += basketball_speed_x
    basketball_y += basketball_speed_y

    # 限制篮球的移动范围
    if basketball_x < 0:
        basketball_x = 0
    if basketball_x > 600:
        basketball_x = 600
    if basketball_y < 0:
        basketball_y = 0
        basketball_speed_y = 0
    if basketball_y > 440:
        basketball_y = 440
        basketball_speed_y = 0

    # 碰撞检测
    basketball_rect = pygame.Rect(basketball_x, basketball_y, basketball.get_width(), basketball.get_height())
    hoop_rect = pygame.Rect(hoop_x, hoop_y, hoop_width, hoop_height)
    if basketball_rect.colliderect(hoop_rect):
        score += 1  # 当篮球碰到篮筐后,得分加一
        basketball_speed_y = 5  # 当篮球碰到篮筐后,将速度设为正值,使篮球向下移动

    # 绘制篮球和篮筐以及得分
    screen.fill((255, 255, 255))
    screen.blit(basketball, (basketball_x, basketball_y))
    screen.blit(hoop, (hoop_x, hoop_y))
    score_font = pygame.font.Font(None, 36)
    score_text = score_font.render("Score: " + str(score), True, (0, 0, 0))
    screen.blit(score_text, (10, 10))

    # 更新屏幕显示
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

  1. 为什么鱼会游泳?因为它们不会开车啊!
  2. 有一天,猫和鱼打架了,结果是谁赢了?当然是谁也没赢,因为猫不会游泳,鱼不会爬树啊!
  3. 有一只乌龟想要过马路,结果它走了五十年,然后有辆慢慢的汽车开过来,把它压扁了。你猜乌龟说了什么?它说:“哎呀,太没速度了!”
  4. 有一天,一只兔子对一只乌龟挑战比赛,结果兔子跑得飞快,但是当它看到终点时,乌龟早已经在那里等它了。兔子很奇怪地问:“你是怎么做到的?”乌龟回答:“我自己带着终点跑的。”
  5. 为什么蓝天喜欢喝咖啡?因为它喜欢拿一个大杯子去“云吞”!

 休!bong!

(电……电脑碎了)

 

(我的下一篇将在2023-07-19 16:45发表,名为“py文字游戏(5)”) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值