Witam, uczę się programować w pythonie przez tworzenie gry Space Invaders od podstaw korzystając z biblioteki Pygame. Otóż mam problem ponieważ dodałem 1 rząd kosmitów i teraz nie wiem jak zmienić mój kod, żeby było 5 rzędów po 11 kosmitów jak w prawdziwej grze.
Oto kod jaki napisałem w tej chwili:
def initialize(self):
self.invaders = []
xPos = 512
for i in range(11):
invader = Invader.Invader()
invader.setXPos(xPos)
invader.setYPos(100)
self.invaders.append(invader)
xPos += 50
def update(self):
for i in range(11):
self.invaders[i].moveHorizontal(self.alienSpeed * self.alienDirection)
if self.invaders[0].getXPos() < 96:
self.alienDirection = +1
xPos = 96
for i in range(11):
self.invaders[i].moveVertical(4)
self.invaders[i].setXPos(xPos)
xPos = xPos + self.invaderImg.get_width()
if self.invaders[10].getXPos() > 924:
self.alienDirection = -1
xPos = 924 - self.invaderImg.get_width() * 10
for i in range(11):
self.invaders[i].moveVertical(4)
self.invaders[i].setXPos(xPos)
xPos = xPos + self.invaderImg.get_width()
def draw(self):
for i in range(11):
self.screen.blit(self.invaderImg, self.invaders[i].getPosition())
pygame.display.flip()
Dodam, że ten kod działa bez problemu ale nie mam pojęcia jak dodać kolejne 4 rzędy po 11 kosmitów, żeby to wszystko działało.