Python 还能这样玩?PyGame 制作小游戏
首先需要安装 pygame 模块,安装命令如下:
pip install pygame
这样就可以安装 pygame 模块了
导入 pygame 模块,这里安装的是 1.9.4 版本的
pygame 的官网地址 https://www.pygame.org/wiki/Contribute
完整代码如下:
import pygame as pg
import sys
import random
import time
# 初始化
pg.init()
# 设置窗口以及大小
game_window = pg.display.set_mode((600, 500))
# 窗口标题
pg.display.set_caption('接球')
# 背景颜色
window_color = (0, 0, 255)
# 小球的颜色
ball_color = (255, 165, 0)
# 球拍的颜色
rect_color = (255, 0, 0)
# 分数
score = 0
# 分数的字体样式
font = pg.font.Font(None, 70)
ball_x = random.randint(20, 580)
ball_y = 20
move_x = 1
move_y = 1
point = 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))
# 分数设置
my_text = font.render(str(score), False, (255, 255, 255))
game_window.blit(my_text, (500, 30))
# 设置小球不能越过边界
ball_x += move_x
ball_y += move_y
# 边界设置
if ball_x <= 20 or ball_x >= 580:
move_x = -move_x
if ball_y <= 20:
move_y = -move_y
elif mouse_x - 20 < ball_x < mouse_x + 120 and ball_y >= 470:
move_y = -move_y
score += point
count += 1
# 小球速度加快
if count == 3:
count = 0
point += point
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):
break
pg.display.update()
time.sleep(0.005)
效果如下:
原文始发于微信公众号(Woo home):Python 还能这样玩?PyGame 制作小游戏