import sys
import pygame
from settings import Settings
from star import Star
class StarInvasion:
def __init__(self):
pygame.init()
self.settings = Settings()
self.screen = pygame.display.set_mode((800,600))
self.settings.screen_width = self.screen.get_rect().width
self.settings.screen_height = self.screen.get_rect().height
pygame.display.set_caption("Star Invasion")
self.stars = pygame.sprite.Group()
self.bg_color = (0,0,0)
self._create_fleet()
def run_game(self):
while True:
self._update_screen()
def _create_fleet(self):
star = Star(self)
star_width,star_height = star.rect.size
available_space_x = self.settings.screen_width - (2 * star_width)
number_star_x = available_space_x // (2 * star_width)
available_space_y = (self.settings.screen_height -
(3 * star_height))
number_rows = available_space_y // (2 * star_height)
for row_number in range(number_rows):
for star_number in range(number_star_x):
self._create_star(star_number,row_number)
def _create_star(self,star_number,row_number):
star = Star(self)
star_width,star_height = star.rect.size
star.x = star_width + 2 * star_width * star_number
star.rect.x = star.x
star.rect.y = star.rect.height + 2 * star.rect.height * row_number
self.stars.add(star)
def _update_screen(self):
self.screen.fill(self.settings.bg_color)
self.stars.draw(self.screen)
pygame.display.flip()
if __name__ == '__main__':
ai = StarInvasion()
ai.run_game()
这样不知道为什么运行后全屏黑没有星星图案,并且程序卡死
不是输出一行一行的星星
def stars1(n):
for i in range(1,n+1):
str = "*"*i
print str
if __name__ == "__main__":
stars1(5)