练习 13-2 更逼真的星星

import sys
import pygame
from pygame.sprite import Sprite,Group
from random import randint

class Star(Sprite):
    def __init__(self):
        super().__init__()
        self.image=pygame.image.load('images/star.bmp')
        self.rect=self.image.get_rect()
        self.rect.x=self.rect.width
        self.rect.y=self.rect.height
        

def create_star(stars,star_x,randint_x,star_y,randint_y):
    star=Star()
    star.rect.x=star_x+randint_x
    star.rect.y=star_y+randint_y
    stars.add(star)
    
def create_fleet(stars):
    star=Star()
    star_x=0
    star_y=0
    randint_x=randint(50,100)
    randint_y=randint(50,100)
    while star_y+randint_y+star.rect.height<600:
        while star_x+randint_x+star.rect.width<1200:
            create_star(stars,star_x,randint_x,star_y,randint_y)
            star_x=star_x+randint_x
            randint_x=randint(50,100)
        star_x=0
        star_y=star_y+randint_y    
        randint_y=randint(50,100)    
        
def run_game():
    pygame.init()
    screen=pygame.display.set_mode((1200,600))
    stars=Group()
    create_fleet(stars)
    while True:
        for event in pygame.event.get():
            if event.type==pygame.QUIT:
                sys.exit()
        screen.fill((255,255,255))
        stars.draw(screen)
        pygame.display.flip()
        
run_game()
    
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值