import pygame
import random
# 游戏窗口大小
WIDTH = 800
HEIGHT = 600
# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# 球的类
class Ball:
def __init__(self):
self.radius = 10
self.speed = [random.randint(2, 4), random.randint(2, 4)]
self.color = RED
self.rect = pygame.Rect(400, 300, self.radius * 2, self.radius * 2)
def move(self):
self.rect.move_ip(self.speed[0], self.speed[1])
# 球碰到边界反弹
if self.rect.left <= 0 or self.rect.right >= WIDTH:
self.speed[0] = -self.speed[0]
if self.rect.top <= 0 or self.rect.bottom >= HEIGHT:
self.speed[1] = -self.speed[1]
def draw(self, screen):
pygame.draw.circle(screen, self.color, self.rect.center, self.radius)
# 初始化pygame
pygame.init()
# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("壁球小游戏")
# 创建球对象
ball = Ball()
# 游戏主循环
running = True
clock = pygame.time.Clock()
while running:
# 处理退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 移动球
ball.move()
# 绘制背景
screen.fill(BLACK)
# 绘制球
ball.draw(screen)
# 更新屏幕
pygame.display.flip()
# 控制游戏帧率
clock.tick(60)
# 退出游戏
pygame.quit()
原文地址:https://blog.csdn.net/wsrzsfgst/article/details/134759896
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_32000.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。