Pygame
Conditions d’achèvement
3. Pygame hra
3.6. Nepriateľ
Vytvoríme triedu nepriateľ
class nepriatel(object):
kracaDolava=
[pygame.image.load('nepriatelDolava1.png'),
pygame.image.load('nepriatelDolava2.png'),
pygame.image.load('nepriatelDolava3.png'),
pygame.image.load('nepriatelDolava4.png'),
pygame.image.load('nepriatelDolava5.png'),
pygame.image.load('nepriatelDolava6.png'),
pygame.image.load('nepriatelDolava7.png'),
pygame.image.load('nepriatelDolava8.png'),
pygame.image.load('nepriatelDolava9.png'),
pygame.image.load('nepriatelDolava10.png'),
pygame.image.load('nepriatelDolava11.png')]
kracaDoprava=
[pygame.image.load('nepriatelDoprava1.png'),
pygame.image.load('nepriatelDoprava2.png'),
pygame.image.load('nepriatelDoprava3.png'),
pygame.image.load('nepriatelDoprava4.png'),
pygame.image.load('nepriatelDoprava5.png'),
pygame.image.load('nepriatelDoprava6.png'),
pygame.image.load('nepriatelDoprava7.png'),
pygame.image.load('nepriatelDoprava8.png'),
pygame.image.load('nepriatelDoprava9.png'),
pygame.image.load('nepriatelDoprava10.png'),
pygame.image.load('nepriatelDoprava11.png')]
def __init__(self, x, y, sirka, vyska, koniec):
self.x = x
self.y = y
self.sirka = sirka
self.vyska = vyska
self.cesta = [x, koniec] # kde zacina a kde konci cestu.
self.pocetKrokov = 0
self.posun = 3
def vykresliNepriatela(self, okno):
self.pohybNepriatela()
if self.pocetKrokov + 1 >= 33: # 11 obrazkov, kazdy obrazok 3x na obrazovke.
# kazdy obrazok ukazeme 3x.... 3 x 11 = 33.
self.pocetKrokov = 0
if self.posun> 0: # ak sa pohybuje doprava, zobrazime obr doprava
okno.blit(self.kracaDoprava[self.pocetKrokov//3], (self.x,self.y))
self.pocetKrokov+= 1
else:
okno.blit(self.kracaDolava[self.pocetKrokov//3], (self.x,self.y))
self.pocetKrokov += 1 #pridame metodu na pohyb
def pohybNepriatela(self):
if self.posun> 0: # ak sa pohybujeme doprava
if self.x < self.cesta[1] + self.posun: # pokial sa nedotkneme konca cesty
self.x += self.posun
else: # zmeni smer
self.posun = self.posun * -1
self.x += self.posun
self.pocetKrokov = 0
else: # ak sa pohybujeme dolava
if self.x > self.cesta[0] - self.posun: # ak sa nedotkneme laveho konca
self.x += self.posun
else: # zmeni smer
self.posun = self.posun * -1
self.x += self.posun
self.pocetKrokov = 0
Vytvoríme inštanciu nepriateľa
....
nepriatel1= nepriatel(100, 410, 64, 64, 300)
...
def prekresliHerneOkno():
okno.blit(pozadieObr, (0,0))
hrac1.vykresliPostavu(okno)
nepriatel1.vykresliNepriatela(okno)
for naboj in nabojePole:
naboj.vykresliNaboj(okno)
pygame.display.update()
Celý kód:
...