From ce08c338289179bb7d3ad317c24f8535d188ceb6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A9o=20Duchmann?= <l.duchmann@etu.unistra.fr>
Date: Fri, 21 Oct 2022 14:39:25 +0200
Subject: [PATCH] Reformation du projet

---
 Emir/Champs.py                                |  41 -----
 Emir/teste pygame.py                          |  24 ---
 "L\303\251o/Champs.py"                        |  58 -------
 "L\303\251o/Game.py"                          | 154 ------------------
 "L\303\251o/T3.py"                            |  57 -------
 "L\303\251o/Temps.py"                         |  58 -------
 .../__pycache__/Champs.cpython-310.pyc"       | Bin 2044 -> 0 bytes
 .../__pycache__/Champs.cpython-39.pyc"        | Bin 2922 -> 0 bytes
 "L\303\251o/__pycache__/Game.cpython-310.pyc" | Bin 1289 -> 0 bytes
 "L\303\251o/__pycache__/Game.cpython-39.pyc"  | Bin 6385 -> 0 bytes
 10 files changed, 392 deletions(-)
 delete mode 100755 Emir/Champs.py
 delete mode 100755 Emir/teste pygame.py
 delete mode 100755 "L\303\251o/Champs.py"
 delete mode 100755 "L\303\251o/Game.py"
 delete mode 100755 "L\303\251o/T3.py"
 delete mode 100755 "L\303\251o/Temps.py"
 delete mode 100755 "L\303\251o/__pycache__/Champs.cpython-310.pyc"
 delete mode 100644 "L\303\251o/__pycache__/Champs.cpython-39.pyc"
 delete mode 100755 "L\303\251o/__pycache__/Game.cpython-310.pyc"
 delete mode 100644 "L\303\251o/__pycache__/Game.cpython-39.pyc"

diff --git a/Emir/Champs.py b/Emir/Champs.py
deleted file mode 100755
index c80f4cb..0000000
--- a/Emir/Champs.py
+++ /dev/null
@@ -1,41 +0,0 @@
-import pygame as py
-
-#class Champs:
-
-class Champs:
-
-    def __init__(self,coordonnee[]):
-        cooX = coordonnee[0]
-        cooY = coordonnee[1]
-        #taille height
-        #taille width
-        temperature
-        tauxEau
-        TauxInsecte
-        Construction[]
-
-    def image_graphique(self, image):
-        #selectionne l'image à afficher
-
-    def MouseHover(self):
-    #afficher le prix et la hitbox du champs
-
-
-    def debloquer(self):
-    #si le joueur à acheté et a débloquer ou pas
-    
-    
-
-    def plantation(self):
-    #info sur la plante choisi
-        
-    #méthode optionnelle   
-    def menu_des_plantations(self);
-    #menu deroulant ou fenetre qui affiche
-    #les trucs qu'on peut planter
-
-    def getcoordonee(self):
-    #Accesseur
-    
-    def stringAffichage(self):
-    #Affichage de toutes les infos
diff --git a/Emir/teste pygame.py b/Emir/teste pygame.py
deleted file mode 100755
index 2b26c2f..0000000
--- a/Emir/teste pygame.py	
+++ /dev/null
@@ -1,24 +0,0 @@
-import pygame as pg
-
-
-#tour par tour
-
-tour_fini = false;
-
-def TourParTour(self):
-    while not tour_fini:
-        if(BoutonEstClicker)
-            tour_fini = true;
-            tourParTour(BoutonActiver)
-        elif(BoutonExitClicker):
-            quitter le jeu
-        
-    return tour_fini
-
-continuer = true
-
-#Boucle de jeu
-while not tour_fini : 
-    res = TourParTour(BoolBtnValider)
-    if(res):
-        Tour_score +=1
diff --git "a/L\303\251o/Champs.py" "b/L\303\251o/Champs.py"
deleted file mode 100755
index 8a45e5c..0000000
--- "a/L\303\251o/Champs.py"
+++ /dev/null
@@ -1,58 +0,0 @@
-import pygame
-import numpy as np
-
-class Champs:
-    def __init__ (self, tempature, humidite, tempsAvantMaturation, pos, image):
-        self.temperature = tempature
-        self.humidite = humidite
-        self.TAM = tempsAvantMaturation
-        self.pos = np.array(pos)
-        self.image = image
-        self.imageSize = np.array(self.image.get_size())
-        self.rect = pygame.rect.Rect(self.pos, self.image.get_rect().size)
-        self.rectScale = self.rect
-        self.police = pygame.font.SysFont("Alef", 22) #pygame.font.get_fonts() -> liste des fonts
-        self.imgZoom = pygame.transform.scale(self.image, self.imageSize)
-
-    def draw (self, screen, camera):
-        scaleImage = camera.scaleImage(self.image)
-
-        if scaleImage: # != None
-            self.imgZoom = scaleImage
-            self.rectScale = pygame.rect.Rect(camera.convertLocation(self.pos), self.imgZoom.get_size())
-        
-        screen.blit(self.imgZoom, camera.convertLocation(self.pos))
-
-    def changeText (self, camera):
-        scaleText = camera.scaleImage(self.text)
-        if scaleText:
-            self.zoomText = scaleText
-
-class Houblon (Champs):
-    def __init__ (self, pos):
-        super().__init__(0, 0, 0, pos, pygame.image.load('../assets/champ.png'))
-        self.text = self.police.render("Température : " + str(self.temperature), False, (0,0,0))
-        self.zoomText = self.text
-
-    def showInfo (self, screen, camera):
-        pygame.draw.rect(screen, (255, 255, 255), pygame.rect.Rect(camera.convertLocation(self.pos), np.array(self.rect.size)*0.75*abs(camera.zoom)))
-        self.changeText(camera)
-
-        screen.blit(self.zoomText, camera.convertLocation(self.pos))
-
-class Buisson (Champs):
-    def __init__ (self, pos, prix = 10000):
-        super().__init__(0, 0, 0, pos, pygame.image.load('../assets/buissonCadenas.png'))
-        self.prix = prix
-        self.text = self.police.render("Champ disponible à l'achat : " + str(self.prix), False, (0,0,0))
-        self.zoomText = self.text
-
-    def showInfo (self, screen, camera):
-        pygame.draw.rect(screen, (255, 255, 255), pygame.rect.Rect(camera.convertLocation(self.pos), np.array(self.rect.size)*0.75*abs(camera.zoom)))
-        self.changeText(camera)
-
-        screen.blit(self.zoomText, camera.convertLocation(self.pos))
-
-    def buyField (self):
-        # Clique sur buisson -> Pop up "Êtes-vous certain ?" -> Oui ? -> Supprime le buisson de la liste et ajoute un Houblon aux mêmes coordonnées
-        return Houblon(self.pos)
diff --git "a/L\303\251o/Game.py" "b/L\303\251o/Game.py"
deleted file mode 100755
index e2aac7c..0000000
--- "a/L\303\251o/Game.py"
+++ /dev/null
@@ -1,154 +0,0 @@
-import pygame
-from Champs import *
-import numpy as np
-from Camera import *
-
-RAYON_MUR_INVISIBLE = 2000
-SAISONS = ["Printemps", "Été", "Automne", "Hiver"]
-MOIS = ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"]
-
-class Game:
-    def __init__ (self, screen):
-        self.screen = screen
-        self.screenSize = np.array(self.screen.get_size())
-        self.score = 0
-        self.money = 10000
-        self.displayMoney = 10000
-        self.month = 0
-        #self.champs = [Houblon((0,0)), Houblon((-200,0)), Houblon((0,-200)), Buisson((400,0)), Buisson((0,400)), Houblon((1000,1000))]#Houblon((100,100)), Houblon((400,100)), Houblon((700,100)), Houblon((100,300)), Houblon((400,300)), Houblon((700,300)), Houblon((100,500)), Houblon((400,500)), Buisson((700,500))]
-        self.champs = []
-        for i in range(12):
-            self.champs.append(Buisson(((i%4)*300-550,(i//4)*200-300)))
-        self.clock = pygame.time.Clock()
-        self.selectedChamp = None
-        self.imageMoney = pygame.image.load("../assets/money.png")
-        self.imageMoney = pygame.transform.scale(self.imageMoney, np.array(self.imageMoney.get_size())/3)
-        self.police = pygame.font.SysFont("Alef", 30)
-        self.camera = Camera(np.array(self.screen.get_size())/2)
-        self.background = pygame.image.load('../assets/terre.png')
-        self.background = pygame.transform.scale(self.background, (self.screen.get_width(), self.screen.get_height()))
-        self.pluie = pygame.image.load('../assets/pluie.png')
-        self.pluie = pygame.transform.scale(self.pluie, (200,200))
-        self.frame = 0
-        self.buyFrame = -1000
-        self.grange = pygame.image.load('../assets/grange.webp')
-        self.grange = pygame.transform.scale(self.grange, (self.screen.get_width(), self.screen.get_height()))
-        self.flecheChangementdroite = pygame.image.load("../assets/flecheScene.png")
-        self.flecheChangementgauche = pygame.image.load("../assets/flecheScene2.png")
-        self.flecheChangementdroite = pygame.transform.scale(self.flecheChangementdroite, (100,100))
-        self.flecheChangementgauche = pygame.transform.scale(self.flecheChangementgauche, (100,100))
-        self.coordonnee_image_droite = self.screenSize[0]-self.flecheChangementdroite.get_width() - 10, self.screenSize[1]/2
-        self.coordonnee_image_gauche = 10, self.screenSize[1]/2
-        self.rectangle_button_fleche = pygame.rect.Rect(*self.coordonnee_image_droite,100,100)
-        self.rectangle_button_fleche_gauche = pygame.rect.Rect(*self.coordonnee_image_gauche,100,100)
-    
-    def gameLoop (self):
-        while True:
-            self.screen.blit(self.background, (0,0))
-
-            # Météo
-            pygame.draw.rect(self.screen, (127, 127, 127), (0, self.screen.get_height() - 200, 200, 200))
-            self.screen.blit(self.pluie, (0, self.screen.get_height() - 200))
-
-            # Saison
-            surface = self.police.render(SAISONS[self.month%4], False, (0,0,0))
-            self.screen.blit(surface, (0, self.screen.get_height() - surface.get_height()))
-
-            isChamp = False
-            # Affichage des champs
-            for champ in self.champs:
-                champ.draw(self.screen, self.camera)
-
-            # Affiche les fps
-            fpsText = self.police.render(("%.0f fps" %(self.clock.get_fps())), True, (180,180,180))
-            self.screen.blit(fpsText, (self.screen.get_width() - fpsText.get_width(), 0))
-
-            if self.money < self.displayMoney:
-                self.displayMoney -= 500 # Si quelque chose coûte moins que 100, changer par -= min(100, self.displayMoney - self.money)
-            elif self.money > self.displayMoney:
-                self.displayMoney += 500 # Si quelque chose coûte moins que 100, changer par -= min(100, self.money - self.displayMoney)
-
-            textMoney = self.police.render(str(self.displayMoney), True, (255,255,255))
-            pygame.draw.rect(self.screen, (0,0,0), (200, self.screen.get_height() - 50, 100, 50))
-            self.screen.blit(textMoney, (200, self.screen.get_height()-30))
-            self.screen.blit(self.imageMoney, (300, self.screen.get_height()-self.imageMoney.get_height()))
-            
-            self.screen.blit(self.flecheChangementdroite, self.coordonnee_image_droite)
-
-            for event in pygame.event.get():
-                if event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
-                    exit()
-                elif event.type == pygame.MOUSEBUTTONDOWN and (*event.pos,0,0) in self.rectangle_button_fleche:
-                    self.gameLoopSecondScreen()
-                elif event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT:
-                    self.gameLoopSecondScreen()
-                elif event.type == pygame.MOUSEMOTION:
-                    if event.buttons[2] == 1: #maintenir enfoncé clic droit
-                        self.camera.setPosition(np.array(event.rel))
-
-                    for champ in self.champs:
-                        if champ.rectScale.contains(event.pos[0],event.pos[1],0,0):
-                            self.selectedChamp = champ
-                            isChamp = True
-                
-                    if not isChamp:
-                        self.selectedChamp = None
-                
-                elif event.type == pygame.MOUSEWHEEL:
-                    self.camera.zoomInOut(event.y)
-
-                # Achat d'un champ
-                elif event.type == pygame.MOUSEBUTTONDOWN:
-                    if event.button == 1:
-                        for champ in self.champs:
-                            if isinstance(champ, Buisson):
-                                if champ.rectScale.contains(event.pos[0],event.pos[1],0,0):
-                                    if self.money >= champ.prix:
-                                        self.moneyChange = self.police.render(str(-champ.prix), True, (255,0,0))
-
-                                        self.buyFrame = self.frame
-                                    
-                                        self.champs.append(champ.buyField())
-                                        self.champs.remove(champ)
-                                        self.money -= champ.prix
-                                    else:
-                                        self.moneyError()
-                                    
-
-            if self.frame < self.buyFrame + 20:
-                self.screen.blit(self.moneyChange, (200, self.screen.get_height()-textMoney.get_height()*4-(self.frame-self.buyFrame)*1.5))
-
-            if self.selectedChamp:
-                self.selectedChamp.showInfo(self.screen, self.camera)
-
-            pygame.display.update()
-            self.clock.tick(50)
-            self.frame += 1
-
-    def moneyError (self):
-        loop = True
-        while loop:
-            popUp = pygame.draw.rect(self.screen, (0,0,0), (self.screenSize/3, self.screenSize/3))
-
-            for event in pygame.event.get(pygame.MOUSEBUTTONDOWN):
-                if popUp.contains((*event.pos,0,0)):
-                    loop = False
-                    break
-
-            pygame.display.update()
-            self.clock.tick(50)
-
-    def gameLoopSecondScreen (self):
-        while True:
-            self.screen.blit(self.grange, (0,0))
-            self.screen.blit(self.flecheChangementgauche, self.coordonnee_image_gauche)
-
-            for event in pygame.event.get():
-                if event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
-                    exit()
-                elif event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT:
-                    return
-                elif event.type == pygame.MOUSEBUTTONDOWN and (*event.pos,0,0) in self.rectangle_button_fleche_gauche:
-                    self.gameLoop()
-            pygame.display.update()
-            self.clock.tick(50)
\ No newline at end of file
diff --git "a/L\303\251o/T3.py" "b/L\303\251o/T3.py"
deleted file mode 100755
index 439895e..0000000
--- "a/L\303\251o/T3.py"
+++ /dev/null
@@ -1,57 +0,0 @@
-import pygame
-pygame.init()
-
-from datetime import date
-import Game
-
-pygame.display.set_caption("Climate Simulator : Global Organization")
-screen = pygame.display.set_mode((0,0), pygame.FULLSCREEN)
-
-#on récupère le mois actuelle pour le faire commencer à ce moment
-class month:
-    def __init__ (self, str):
-        self.month = str
-
-current_month = month(date.today().strftime("%b"))
-
-#background (2è scène)
-background = pygame.image.load('../assets/accueil.jpg')
-background = pygame.transform.scale(background, (screen.get_width(), screen.get_height()))
-
-#bannière
-banner = pygame.image.load('../assets/banner.png')
-banner  = pygame.transform.scale(banner, (500,500))
-banner_rect = banner.get_rect()
-banner_rect.x = screen.get_width() / 4
-
-#bouton
-play_button = pygame.image.load('../assets/button.png')
-play_button = pygame.transform.scale(play_button,(400,150))
-play_button_rect = play_button.get_rect()
-play_button_rect.x = screen.get_width() / 2.8
-play_button_rect.y = screen.get_height() / 2.4
-
-#buisson
-bush = pygame.image.load('../assets/buisson.png')
-
-#cadenas
-lock = pygame.image.load('../assets/cadenas.png')
-
-screen.blit(background, (0,0))
-screen.blit(play_button, play_button_rect)
-
-#screen.blit(bush, (100,100))
-#screen.blit(lock, (bush.get_width()/2,bush.get_height()/2+40))
-
-pygame.display.update()
-
-inMenu = True
-while inMenu:
-    for event in pygame.event.get():
-        if event.type == pygame.MOUSEBUTTONDOWN and play_button_rect.contains(*event.pos,0,0):
-            inMenu = False
-        elif event.type == pygame.QUIT or event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
-            exit(0)
-
-# à l'appui du bouton start
-Game.Game(screen).gameLoop()
\ No newline at end of file
diff --git "a/L\303\251o/Temps.py" "b/L\303\251o/Temps.py"
deleted file mode 100755
index 7b93dcc..0000000
--- "a/L\303\251o/Temps.py"
+++ /dev/null
@@ -1,58 +0,0 @@
-import random
-
-class Temps:
-    climats = {
-        "janvier" : {
-            "temp" : [20,40],
-            "humidité" : [0,10]
-        },
-        "février" : {
-
-        },
-        "mars" : {
-
-        },
-        "avril" : {
-
-        },
-        "mai" : {
-
-        },
-        "juin" : {
-
-        },
-        "juillet" : {
-
-        },
-        "août" : {
-
-        },
-        "septembre" : {
-
-        },
-        "octobre" : {
-
-        },
-        "novembre" : {
-
-        },
-        "décembre" : {
-
-        }
-    }
-
-    def _init_ (self):
-        self.temperature
-        self.humidite
-        self.neige
-        self.currentMonth = "janvier"
-
-    def randomTemp (self):
-        intervalleTemp = self.climats[self.currentMonth]["temp"]
-        
-        return random.randint(*intervalleTemp) # *intervalleTemp = intervalleTemp[0], intervalleTemp[1]
-
-    def randomHumidite (self):
-        intervalleHumidite = self.climats[self.currentMonth]["humidité"]
-
-        return random.randint(*intervalleHumidite)
diff --git "a/L\303\251o/__pycache__/Champs.cpython-310.pyc" "b/L\303\251o/__pycache__/Champs.cpython-310.pyc"
deleted file mode 100755
index 12d6536b4202f04fe31dddc6292b731b81825794..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2044
zcmah~&2Jk;6rb6hU9X*wnl_~^gyM>iVjx}wH&mg9RB4fDig0`JWwqIvIP0!=&CHlK
zmXVNBsaO64`{;jxYyOM5a>|KA#2Mb3wd<6kFxLF`&CJ_3@8kE@#oAhpz=(glk=*kL
z`2!c{2ZP03nCbxlC!A)aLj>v3iNhW4PMwZ>pK!*#7leDqPKUwD=M`901Uq&+9;^di
zg>}`geNNk?Svv)5WY4heOdOnE206iv^TUC~U6^VUK#&gQq~mbPofo9za+foB!nI(`
zH~!9H+#jgK2i3(u83H0ZFx4G^F&&eLj2%Eab^)C+19Zn8Ak$vYpH#-A2PZu?38ti1
zouaPKNt?{*UbALawCE3njP+0o6C4ivDNnU9?&Ix;#vK&OcxgZG3gZusx^Z6^CPktR
z`w=nd3LTYem5u~B&6LOvOciZfi?RYvnhjj5?VsaZKg8`=r$sKSa3rx%Ga|3R<1b8C
z*cUvF!>5Jh>C^C0JA9&qRAD9xJ`C>_$*?bSt-_u5pTGWo|52D^;GGs*D(w%mSQm1u
zn-%+UwpGY(oTnpuQ~3SKtO(0=wgyKgh@v!4brfMb)hd8b7r&cybZM@+&`Pjsi-9uI
z$5vnigfX2E$S%~O=S&?6bZQfcHEOzs?PsaBA=+S@j;zCh@l_&)$ZgOipdrJ!jGwK8
zr0|jrI$D`Kg8O?-5B<)e1W{yaQPhWoWGJsj(NDuTD^KKAcvW6Uz?7Z?yh5Vq=$pdG
z0}{~H!0x?4R2R;1oP7weAnHqUKrLB=C0SoWHabXH&r}{1!~Lwt-^dph8V#xjfF{Re
zf@a`1rrPPb6ULn>oqA>Nn(m&Ypf|eGYK5^<0;-*0C$t867jE&?5a?RQxdM7Ny@q8)
z%x7hOZLVk3RHG=#z(N!)lWgC^*0ecp&{2Kvbn8E>ja~;ZcVM3F0%+^Ih92s<$MhPp
zp9}XFN3)(c@yC=ikjkD5xHomCE=7h^u|s>of*(zPZ+Ho;J%+Y8nU%fQ_`0z>b8YBL
zn7OBagP#0&0W;^6qx=Z~G_OA>vNVC_lp^Os8dqs4v9{8t#_|C9E!Pli!@Ug>+=E1v
z*8mLD;<^48QB0r?i)Y{E2L<x!3@u)#o6hBP`C2H<e0c+Hy@T*Bf~8;!B(pZJKq9hi
zQ3XrOTc~Fl`5s7b!JIR4mDXK}dkM_f29^Sc#7`%(?b~6h)J1H=q+Q51{9bz4uT3`R
z+|?!L_Dl1~y0m^9uJq+iyxvClig@yU*fVS()912*$2Kw>qYV$W(P4$1w@GV|z`5W5
zPdNDjyn|H1r~MQ(c&Y|Pp6+L&aWZLSw`1rGUHbuUNBT%?R{0SEI1K!dO_V=H_zdAI
zgbSG=KSveo|1t=yWdrv^fMoy+2FNe)Z28WzxL?8nQes(LCULJ>v0fN<P~_TF+DB>^
lgwk6~lx2X`JZJWmKPI?Se*C_nXdC}Q0<!L`JN4C#+CRzCqvrqs

diff --git "a/L\303\251o/__pycache__/Champs.cpython-39.pyc" "b/L\303\251o/__pycache__/Champs.cpython-39.pyc"
deleted file mode 100644
index 1049ff2e9b1d3232f2601190b367b9930d597e11..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2922
zcmd5;Uys{F5cm3DoLuft+oOf{Xaf{VfV+tQP%3D9sHIgKB(4&YAFv$TmviLUVb^JU
zQIL?XQon}tn9tE~v9G*vAAo20%{sZ{DnLB4(T-<#W_M?2<~JLEb+x9U{doJ+fVkgi
zu-r@xZla6ZAfXnrM03k8bM?DgsE5WgEi{gF*TBdOEsU(lI5J!lV>_&1Tv1~yWP4iE
zImSL(J0QB;bPR5yi>n}!=CV+8^^k@7GtD(ZBQ){F?xBsZ6;@~`Y40BR{ecK<ESWdr
zE%aS<@hixfjWtgj>!56Gfa<wXm}7H7^VZk`wbhK)vx~|^Q}a$<?bV8vvDSke^Yw|=
zTb<AzHH^`{HE66C8)TuHKZEhv;v8wCJ8Et-)L^I4mgcP_+CM%IYnrdfl|1SXBJSry
z9!ck5*pI_Fk6h!?t%p)i2h#F6_Yb8p$b_`wzTbsbH_AN`k0Q6KCicKedvMtG`;jzx
z6y(zUfv8d}$D}T+#P0=u0=4}t&1GfpP~0KL9%M-zKqKdVD)uwpmzGe9mAKz^v#j5=
zr75Ch->s6t%3My~bvJ1&ZawzX{2@*Id7P!Z3K6GVnri$teEzr((mKfcQ7aO0>ZjS`
zIB4ze-Tl55B)CN$ZHu@+O#D3K+ubDV_{nz0yM7vv)P}7GFQ!?mjPTCjP&%F$r*ZCi
z6kV|iqA^?j>Y!)YMdq*#Hd>#pm}>_HY0erYGhIO?M;pvoFEoUUP1rBS*x;Yc6QpMr
z7GxC43ME8OFC3%>B|vq|3Q7WfA)n|Bkl53vtleCZHRZ;86gcG%egOyZI+0Z(Yantx
z$kN9V&mUyLlKWOjeum^`CyDc>$zP>`Edm}zsk8&coBRBAQX?Oi<f2*-a{mb}6$;O+
zuA6YnWqq_Va|p=;LfO2LW2h@<&>pzh+!?qWKd&&O)5Z7}#7#pTEX_Q6icA|JMIM2}
zG#Sa?0CB78?lk?feYN1gPrDI`=q#Zy%j(QzqcbxL7aDEk9^#$ix}GO%p4ZR9VM2V}
z^L`%sNh#r%=-@YryiH``62;LuoNi2ER|h)GsXJ9Q7hvvGBUey6Re+vr`%D!fXHkTn
zV?Wmduq|2nE*o}|EIs8{I+4IY8;Wm1a_vYfXdC>-EZ2LeKd2gPVlnc!RoJ1CSHL+(
z?1HMH6RJ~H%%FQURYmMJXV`0WZfB?E3lZg_1%LGiJA<@4T!-WlK>1=?mX*f!#+|95
z7Ay!-(-K2ep3-e9At_g+nPh&*2~pDKQ5r^E8Y1VMfX3e<auuYhmvN@6O_{8EUXZ{L
z&s!v++PDGvEV^54i;XsBKHB+PM3R%ph+SIs6G#p;7Wx>j0;d-SP-c>oCM-vJ2B)LA
zqUdgFd3CJ!YDa7nxSSZ|N)&9k6&x$-&|F=tJwd3^ZW_mb;vD|boOHpU{r=5#twgCx
zs1vC2%Mg~;twNkbWCKJRen&`?a8Rb-6_Svv;Ccm#22BtymNHX;)e#5TlY8lYMrk{9
z)^%3X7tWe1G;RJ4ZE%gqyF^sZe-2Kr&O#7GNiq+EO8ge-sqAlpBeMiSz+rWZ(@cPV
zs*#kM*a10td>xhj^uSk<{pxAQ6Re(e*HS33fr6^6+#be4Wa;q+tUOh3DY_?6xR1fV
zLV>Dl`P^0j2#2En9{{nn07R#>W7iL()E5dF6g*X48euF3SsHhesPUp`B-ebvCnuor
z_n^~U;qT+~5;XV+n3Lv!$4?bL_%`W~la_EX3pU-8e?>&Oe^G%bV6=~*%+UY|Tft)H
zwEqPx_=m8Je@x^vB8x(*vWT*c;BqQc=l0JtHK6h|Z^Tm_RIny|=jvrS!au<BEzwmX
zDp)mHiI&rcN~beCyc0)B_yv{=+DrpJ=BLhuSbQClX5}AY!f!y%X_KXEEfDf01QdC7
zH;1j+j?HNfz@rK&t#sHQ9C8JHGNQDbG?ungrkBXRQ9e~)lLu79@#g4jmp1Bu0jkDj
APyhe`

diff --git "a/L\303\251o/__pycache__/Game.cpython-310.pyc" "b/L\303\251o/__pycache__/Game.cpython-310.pyc"
deleted file mode 100755
index ce878e7575535c3639b4da82d7c8f0345adebb35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1289
zcmYjQL2uhO6ecN3RvbG`(std39)@8+p<=0k0zEY-(mH7tw6(iA=`aI>po)w`Sr#2q
zZs)=Q3Z&-(`v=Z${R_MHU+~(?dg`US?XX8W-a>&NAKxQCKJtB%&1M}z`{(Uf*&QFD
z4|Z~~c`(_6uD=Cfh~WbD>_`f{k9HCB7=42nJtaNDa2G}XM_7m25jOZ{X3dL@z+?-$
zz7D`q4>M%9G4clWyg5~mG9PFHLwD05&+Lvxv$jpA1zm3eOz{*YkP;wp021Z_dKHC)
zaOE@q6!)z^sA_pQTRKBv*O|p-hU_VAg@H$`-ayFI^0a&*xQd8#I*5q)296Y;VOi8L
zfzA}?rSWwp6*vA+mVDxd>d4d{jD^;+G_@b(_;~?FkR7GNkv73-(ud0!S_weERmf~$
z{LBqa%?qAYoVD!Qh!_fvLj|Qk?~q!D;qMe69&#qqcpw!MgSgX;4>VUgF1Tdlcw1)U
zAulT(x4NHR|GC?VvqB8hif?E!92aRN)keRN&(mT<s(xCES7{|=89#piPR90`Z;d7<
zOcGIwDoO0odIccB^KTtDa2>yDx|NGnnSHoLqhQ!=t}+IUC3xc;&7dl07=uVophh{_
zM!$w9WJ+dGr5xGFaigNSKMT$f#5Pa7sh8Kl6Ap;Jb#5;Wh`J4S9sJAIt{SHZc7A;x
zZ-VdHIr~-1p0DJW`Us+{e_%#`cl{^y7OAIGtA#a&Pw?^GDb~-N64rnT<!dUnI9p$2
z2B%$~T{(l3z;ku>1@m3L7&NmVdH*ZKSq~k4+=QD)*IexkJrqTumce5vQ|U|9u%^#n
zK%I=&=M|`7G6GHfc(Au`YL9k)+3x(@Hr@aP6+TLKx~=<9cMRpfiOMWL=^S)-o^<y2
zI&DK0$i;-2EUQ$M+IS<W)v6^A^^ttJR~|}JV?vLLbYg<>h=C5&C6`AfvOz@Enw`{y
zc8UWXTH&cL!Rh2Shs%!8s`jyzBdZ4eJpchIP+TV~c!hk2Lnn;uAQOtoYf1vZ0Ah8o
zfyrOzf?061Bj0MQ1j-~a^&}aBbPH=YlH_=t7W0U@ViUP(!HWL^*p!t0|E=0|01zU`
hV9EKQB<_I&cPZ_B7xp@;`JFcB=iamW{f}jx{0oP~G`|1<

diff --git "a/L\303\251o/__pycache__/Game.cpython-39.pyc" "b/L\303\251o/__pycache__/Game.cpython-39.pyc"
deleted file mode 100644
index 4c51cea609429270c4381cc9eaa48b56aa8c0a58..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6385
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
W4PI}OZG;5?@I(N#jInQs;{O8+;>NiE

-- 
GitLab