Commit ee321956 authored by Maxime DEBUREAU's avatar Maxime DEBUREAU
Browse files

Version 1.2 du programme, post séance 6/05 modification des codes avec...

Version 1.2 du programme, post séance 6/05 modification des codes avec création des classes fondamentales.
parent 66e08f49
import numpy as np
import time
import random
import Plat
#A FAIRE
# DEPLACER LES DONNEES DES PIONS SUR LE PREMIER LAYER DE L4ARRAY
#FINIR LES EXPRESSIONS DE CLASSES
#CREER UNE SUPER CLASSE PARTIE ? (pk pas)
# CREER UNE METHODE QUI ENREGISTRE DANS UN FICHIER TEXTE LA PARTIE, AVEC :
# EN EI LE PLATEAU ET COMMENT CELUI CI EST AGENCE, AINSI QUE LE PION DESIGNE (aleatoirement)
# A CHAQUE ITERATION / DEPLACEMENT IL CODE LE CHANGEMENT DE POSITION (objet, position init + deplacement+ Position Arrivee
class Piece :
def __init__(self, abscisse, ordonnee, piece_name, plateau):
self.absc = abscisse
self.ordo = ordonnee
self.coord = (abscisse,ordonnee)
self.name = piece_name
self.color = piece_name[2]
self.plateau = plateau
self.type = piece_name[0]
#La nomenclature pour chaque pièce est la suivante : TypePièce_CouleurPiece_Forme
#ex : R_R (robot rouge)
#ex : P_B_C (pion bleu carré)
class Pion(Piece) :
def __init__(self, abscisse, ordonnee, name):
super().__init__(abscisse, ordonnee, name,plateau)
self.form = name[4]
class Robot(Piece) :
def __init__(self, abscisse, ordonnee, name):
super().__init__(abscisse, ordonnee, name)
def move_up(self):
while self.ordo > 0 :
if self.plateau.PJ[self.absc,self.ordo,1] != "V" : #Condition qu'on évolue pas dans le vide
break
elif "H" in self.plateau.PJ[self.absc,self.ordo,0] : #Condition qu'on puisse monter (au niveau des murs)
break
else :
self.absc = self.absc
self.ordo = self.ordo -1
def move_down(self):
while self.ordo < 15:
if self.plateau.PJ[self.absc, self.ordo, 1] != "V": # Condition qu'on évolue pas dans le vide
break
elif "B" in self.plateau.PJ[self.absc, self.ordo, 0]:
# Condition qu'on puisse monter (au niveau des murs)
break
else:
self.absc = self.absc
self.ordo = self.ordo + 1
def move_left(self):
while self.absc > 0:
if self.plateau.PJ[self.absc, self.ordo, 1][0] == "P" or : # Condition qu'on évolue pas dans le vide
break
if "H" in self.plateau.PJ[self.absc, self.ordo, 0]:
break
else:
self.absc = self.absc
self.ordo = self.ordo - 1
\ No newline at end of file
import numpy as np
import time
import random
import Plateau
class Robot :
def __init__(self, abscisse, ordonnee, couleur):
self.absc = abscisse
self.ordo = ordonnee
self.name = "R_" + couleur
self.color = couleur
self.type = "R"
def move_up(self):
while self.ordo > 0 :
if Plateau.plateau_jeu[self.absc,self.ordo,1] != "V" : #Condition qu'on évolue pas dans le vide
break
if "H" in Plateau.plateau_jeu[self.absc,self.ordo,0] : #Condition qu'on puisse monter (au niveau des murs)
break
else :
self.absc = self.absc
self.ordo = self.ordo -1
def move_down(self):
while self.ordo < 15:
if Plateau.plateau_jeu[self.absc, self.ordo, 1] != "V": # Condition qu'on évolue pas dans le vide
break
if "B" in Plateau.plateau_jeu[
self.absc, self.ordo, 0]: # Condition qu'on puisse monter (au niveau des murs)
break
else:
self.absc = self.absc
self.ordo = self.ordo + 1
def move_left(self):
while self.absc > 0:
if Plateau.plateau_jeu[self.absc, self.ordo, 1] != "V": # Condition qu'on évolue pas dans le vide
break
if "H" in Plateau.plateau_jeu[
self.absc, self.ordo, 0]: # Condition qu'on puisse monter (au niveau des murs)
break
else:
self.absc = self.absc
self.ordo = self.ordo - 1
def move_up(self):
while self.ordo > 0:
if Plateau.plateau_jeu[self.absc, self.ordo, 1] != "V": # Condition qu'on évolue pas dans le vide
break
if "H" in Plateau.plateau_jeu[
self.absc, self.ordo, 0]: # Condition qu'on puisse monter (au niveau des murs)
break
else:
self.absc = self.absc
self.ordo = self.ordo - 1
def find_and_create_robots(Plateau) :
import numpy as np
import time
import random
import Piecettes
# --------------------------------------------------------------------------
......@@ -187,18 +190,62 @@ def create_plateau(List_tblos):
class Plateau :
def __init__(self,List_tblos):
self.PJ = create_plateau(List_tblos)
self.L_Rob = []
self.L_Pion = []
def create_plateau(self, List_tblos):
List_fin_plateau = random.sample(List_tblos, 4)
np.random.shuffle(List_fin_plateau)
tblo_plat_1, tblo_plat_2, tblo_plat_3, tblo_plat_4 = List_fin_plateau[0], List_fin_plateau[1], List_fin_plateau[2], List_fin_plateau[3]
tblo_plat_1, tblo_plat_2, tblo_plat_3, tblo_plat_4 = List_fin_plateau[0], List_fin_plateau[1], List_fin_plateau[
2], List_fin_plateau[3]
tblo_plat_2 = quart_droit_p_plateau(tblo_plat_2)
tblo_plat_3 = quart_droit_p_plateau(quart_droit_p_plateau(tblo_plat_3))
tblo_plat_4 = quart_droit_p_plateau(quart_droit_p_plateau(quart_droit_p_plateau(tblo_plat_4)))
A = np.concatenate((tblo_plat_1, tblo_plat_2), axis=1)
B = np.concatenate((tblo_plat_4, tblo_plat_3), axis=1)
C = np.concatenate((A, B), axis=0)
self.PJ = C
return(C)
def create_pieces(self):
for i in range(16) :
for j in range(16) :
if self.PJ[i,j,1] != 'V' :
if self.PJ[i,j,1][0] =='R' :
R_temp = Robot(i,j,self.PJ[i,j,1])
plateau.L_Rob.append(R_temp)
elif self.PJ[i,j,1][0] =='P' :
P_temp = Pion(i,j,self.PJ[i,j,1])
plateau.L_Pion.append(P_temp)
def find_and_create_robot_entities(self):
Plat_Jeu = Plateau(List_tblos)
import numpy as np
import time
import random
import Plateau
import Pièce
import Plat
import Piecettes
#Programme principal et son organisation générale
......
Markdown is supported
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