迷你入侵者射击游戏

迷你入侵者射击游戏

"""
   迷你入侵非面向对象版本中文注释.py
   这个版本用方块代替外星飞船和玩家。
   玩家按空格键发射子弹,然后需要等一定的时间才能发射第二颗子弹。
   这个机制是通过设定reloaded_event事件与配合reloaded逻辑变量实现的。
   开始时reloaded是为True,当按空格键后,它的值变为False,这时设定
   reloaded_event的发生时间。当时间到了,那么就把reloaded设为True,
   并清除reloaded_event事件发生的时间。
"""
# 导入pygame模块
import pygame

# 每500毫秒发射一颗子弹
RELOAD_SPEED = 500

# 向两边及下向移动间隔时间
MOVE_SIDE = 1000
MOVE_DOWN = 3500

# 创建屏幕对象
screen = pygame.display.set_mode((300, 200))
clock = pygame.time.Clock()

pygame.display.set_caption("迷你入侵非面向对象版本中文注释")

# 创建自定义事件
move_side_event = pygame.USEREVENT + 1
move_down_event = pygame.USEREVENT + 2
# 重装子弹事件
reloaded_event  = pygame.USEREVENT + 3

move_left, reloaded = True, True

invaders, colors, shots = [], [] ,[]
for x in range(15, 300, 15):
    for y in range(10, 100, 15):
        invaders.append(pygame.Rect(x, y, 7, 7))
        colors.append(((x * 0.7) % 256, (y * 2.4) % 256))

# 给移动事件设置定时器
pygame.time.set_timer(move_side_event, MOVE_SIDE)
pygame.time.set_timer(move_down_event, MOVE_DOWN)

player = pygame.Rect(150, 180, 10, 7) # 玩家方块

需要查看完整源代码,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客