创建类实例的循环

时间:2020-01-11 12:34:59

标签: python

那是我想做的事情

第一堂课-使用pygame创建一个“火箭”-实际上是rect。每次都从同一点在屏幕中随机“飞行”。

第二类-出现了问题-我想创建一个“火箭”循环,每个火箭都从同一点开始,然后随机飞行....只需创建一个头等舱的循环。

实际上没有任何问题..仅该程序仅创建1个实例和1枚火箭...

这是代码:

import pygame
import sys
import random

screen_size=[600,600]
pygame.init()

clock = pygame.time.Clock()

class rocket():
    def __init__(self):
        self.screen=pygame.display.set_mode((screen_size[0],screen_size[1]))
        self.white=(255,255,255)
        self.black=(0,0,0)
        self.height=30
        self.width=10
        self.refresh=10
        self.acc_x=0
        self.vel_x=0
        self.vel_y=0
        self.acc_y=0
        self.x=300
        self.y=570
        pygame.display.set_caption("Rockets ML Project")

    def new_rocket(self):

        self.rocket=pygame.draw.rect(self.screen, (self.black),[self.x, self.y, self.width, 
        self.height])
        pygame.draw.rect(self.screen,self.black, self.rocket)
        self.acc_x+=random.randint(-1,1)
        self.vel_x+=self.acc_x
        self.x+=self.vel_x
        self.acc_y-=random.randint(-1,1)
        self.vel_y-=self.acc_y
        self.y+=self.vel_y
        self.screen.fill(self.white)
        self.rocket=pygame.draw.rect(self.screen, (self.black),[self.x, self.y, self.width, 
        self.height])
        pygame.display.flip()
        clock.tick(self.refresh)




Rocket=rocket()
class pop(rocket):
    def __init__(self):
            self.pop_size=5
            self.all_rockets=[]


    def create_pops(self):
            for i in range(self.pop_size):
                    curr_rocket=Rocket.new_rocket()
                    self.all_rockets.append(curr_rocket)




Rocket=rocket()
Pop=pop()
while True :
    Pop.create_pops()

    for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()

0 个答案:

没有答案