Commit e284aa77 authored by Vincent BRULE's avatar Vincent BRULE
Browse files

maj

parent 3c54068c
...@@ -26,27 +26,35 @@ class Unite: ...@@ -26,27 +26,35 @@ class Unite:
self.proprietaire = pro # Propriétaire du soldat self.proprietaire = pro # Propriétaire du soldat
self.violence = 1 # Agressivité qu'apporte le soldat self.violence = 1 # Agressivité qu'apporte le soldat
self.prix = 5 # Prix du soldat self.prix = 5 # Prix du soldat
self.temps = 0
self.liste_case = [] self.liste_case = []
self.temps_passe = 0
def modifier_vitesse(self, vit): def modifier_vitesse(self, vit):
self.vitesse = vit self.vitesse = vit
def afficher(self, ecran):
if self.numero_image == 1: def chrono(self):
image_soldat_initiale = image.load(self.chemin_image_soldat) return self.temps_passe - self.temps
elif self.numero_image == 2:
image_soldat_initiale = image.load(self.chemin_image_soldat_2)
elif self.numero_image == 3: def afficher(self, ecran):
image_soldat_initiale = image.load(self.chemin_image_soldat_3) if self.affichage == 1:
elif self.numero_image == 4: if self.numero_image == 1:
image_soldat_initiale = image.load(self.chemin_image_soldat_4) image_soldat_initiale = image.load(self.chemin_image_soldat)
elif self.numero_image == 2:
image_soldat_initiale = image.load(self.chemin_image_soldat_2)
image_soldat_finale = transform.scale(image_soldat_initiale, (Constante.taille_rel, Constante.taille_rel)) elif self.numero_image == 3:
ecran.blit(image_soldat_finale, self.position) image_soldat_initiale = image.load(self.chemin_image_soldat_3)
return elif self.numero_image == 4:
image_soldat_initiale = image.load(self.chemin_image_soldat_4)
image_soldat_finale = transform.scale(image_soldat_initiale, (Constante.taille_rel, Constante.taille_rel))
ecran.blit(image_soldat_finale, self.position)
return
else :
return
### Retire de la sante à l'unité (si elle se fait attaquer par exemple) ### Retire de la sante à l'unité (si elle se fait attaquer par exemple)
...@@ -56,44 +64,59 @@ class Unite: ...@@ -56,44 +64,59 @@ class Unite:
else: else:
self.sante = 0 self.sante = 0
def avancer(self, carte): def avancer(self, carte, base, ecran):
(u, v) = (self.position[0]/Constante.taille_rel, self.position[1]/Constante.taille_rel) if self.chrono() > self.vitesse:
self.temps = time.time()
if (u, v) not in self.liste_case: (u, v) = (self.position[0]/Constante.taille_rel, self.position[1]/Constante.taille_rel)
if (self.position[0] % Constante.taille_rel == 0 and self.position[1] % Constante.taille_rel == 0):
self.liste_case.append((u, v)) if (u, v) not in self.liste_case:
if (self.position[0] % Constante.taille_rel == 0 and self.position[1] % Constante.taille_rel == 0):
self.liste_case.append((u, v))
prochaineCase = self.chercherProchaineCase(carte)
if prochaineCase != "erreur": prochaineCase = self.chercherProchaineCase(carte)
a = (prochaineCase[0] * Constante.taille_rel - self.position[0])
b = (prochaineCase[1] * Constante.taille_rel - self.position[1]) if prochaineCase != "erreur":
a = (prochaineCase[0] * Constante.taille_rel - self.position[0])
if a != 0: b = (prochaineCase[1] * Constante.taille_rel - self.position[1])
dx = (-self.vitesse if a < 0 else self.vitesse)
else: if a != 0:
dx = 0 dx = (-5 if a < 0 else 5)
if b != 0: else:
dy = (-self.vitesse if b < 0 else self.vitesse) dx = 0
else:
dy = 0 if b != 0:
dy = (-5 if b < 0 else 5)
if dx == -self.vitesse: else:
self.numero_image = 1 dy = 0
elif dx == self.vitesse :
self.numero_image = 2 if dx == -5 :
elif dy == -self.vitesse: self.numero_image = 1
self.numero_image = 3 elif dx == 5 :
elif dy == self.vitesse: self.numero_image = 2
self.numero_image = 4 elif dy == -5:
self.numero_image = 3
nPos = (self.position[0] + dx, self.position[1] + dy) elif dy == 5:
self.position = nPos self.numero_image = 4
return nPos = (self.position[0] + dx, self.position[1] + dy)
self.position = nPos
if self.proprietaire == 2:
if nPos[0]/Constante.taille_rel == 1 and nPos[1]/Constante.taille_rel == 4:
print "ok"
base.perte_sante()
base.liste_unite.remove(self)
image_route_initiale = image.load(self.chemin_image_route)
image_route_finale = transform.scale(image_route_initiale, (Constante.taille_rel, Constante.taille_rel))
ecran.blit(image_route_finale, (Constante.taille_rel*2, Constante.taille_rel*4))
self.affichage = 0
return
else :
self.temps_passe = time.time()
return
def chercherProchaineCase(self, carte): def chercherProchaineCase(self, carte):
(u, v) = (self.position[0]/Constante.taille_rel, self.position[1]/Constante.taille_rel) (u, v) = (self.position[0]/Constante.taille_rel, self.position[1]/Constante.taille_rel)
...@@ -113,7 +136,7 @@ class Unite: ...@@ -113,7 +136,7 @@ class Unite:
if (g, h) in carte.liste_route and (g, h) not in self.liste_case: if (g, h) in carte.liste_route and (g, h) not in self.liste_case:
return (g, h) return (g, h)
else: else:
return "erreur" return "erreur"
class Unite_feu(Unite): class Unite_feu(Unite):
...@@ -124,16 +147,18 @@ class Unite_feu(Unite): ...@@ -124,16 +147,18 @@ class Unite_feu(Unite):
self.chemin_image_soldat_2 = "soldat_feu_2.png" self.chemin_image_soldat_2 = "soldat_feu_2.png"
self.chemin_image_soldat_3 = "soldat_feu_3.png" self.chemin_image_soldat_3 = "soldat_feu_3.png"
self.chemin_image_soldat_4 = "soldat_feu_4.1.png" self.chemin_image_soldat_4 = "soldat_feu_4.1.png"
self.numero_image = 0 self.numero_image = 1
self.chemin_image_route = "route.png" self.chemin_image_route = "route.png"
self.sante = 50 # Santé du soldat self.sante = 50 # Santé du soldat
self.position = pos # Position du soldat self.position = pos # Position du soldat
self.vitesse = 5 # Vitesse du soldat self.vitesse = 0.001 # Vitesse du soldat
self.proprietaire = pro # Propriétaire du soldat self.proprietaire = pro # Propriétaire du soldat
self.violence = 1 # Agressivité qu'apporte le soldat self.violence = 1 # Agressivité qu'apporte le soldat
self.prix = 5 self.prix = 5
self.liste_case = [] self.liste_case = []
self.temps = time.time()
self.temps_passe = time.time()
self.affichage = 1
class Unite_glace(Unite): class Unite_glace(Unite):
def __init__(self, pos, pro): def __init__(self, pos, pro):
...@@ -142,15 +167,15 @@ class Unite_glace(Unite): ...@@ -142,15 +167,15 @@ class Unite_glace(Unite):
self.chemin_image_soldat_2 = "soldat_glace_2.png" self.chemin_image_soldat_2 = "soldat_glace_2.png"
self.chemin_image_soldat_3 = "soldat_glace_3.png" self.chemin_image_soldat_3 = "soldat_glace_3.png"
self.chemin_image_soldat_4 = "soldat_glace_4.png" self.chemin_image_soldat_4 = "soldat_glace_4.png"
self.numero_image = 0 self.numero_image = 1
self.chemin_image_route = "route.png" self.chemin_image_route = "route.png"
self.sante = 50 # Santé du soldat self.sante = 50 # Santé du soldat
self.position = pos # Position du soldat self.position = pos # Position du soldat
self.vitesse = 6 # Vitesse du soldat self.vitesse = 0.01 # Vitesse du soldat
self.proprietaire = pro # Propriétaire du soldat self.proprietaire = pro # Propriétaire du soldat
self.violence = 1 # Agressivité qu'apporte le soldat self.violence = 1 # Agressivité qu'apporte le soldat
self.prix = 5 self.prix = 5
self.liste_case = [] self.liste_case = []
self.temps = time.time()
self.temps_passe = time.time()
self.affichage = 1
\ No newline at end of file \ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment