def setListeForet(
     self
 ):  #Transformation du csv.csv en une liste à deux dimensions fonctionnelle et plus rapide d'accès
     with open(self.nomCsv, "r", newline='') as f:
         reader = csv.reader(f, classDialectCsv.Dialect())
         doubleList = []
         for row in reader:
             doubleList.append(row)
         self.listeForet = list(doubleList)
def createMap(event):
    algocsv.createCsv()  #On créé un csv
    cordY = 0
    gridY = 0
    totalTree = 0
    with open(vg.getNomCsv(), "r", newline='') as f:
        canvas.delete("all")  # Reset du canvas précédent
        reader = csv.reader(f, classDialectCsv.Dialect())
        for row in reader:  # On regarde d'abord les lignes
            cordX = 0  # On reset X à chaque nouvelle ligne
            gridX = 0
            for i in row:  # Ici c'est la boucle des collones || On met la valeur de la case dans i
                i = int(
                    i
                )  # Mon reader renvoie un i sous forme de String donc je le converti
                #On test le i, 0=grass, 1=tree, else=eau
                if i == 1:
                    canvas.create_image(cordX,
                                        cordY,
                                        anchor=tkinter.NW,
                                        image=tree,
                                        tag=str(gridX) + "," + str(gridY))
                    totalTree += 1
                elif i == 0:
                    canvas.create_image(cordX,
                                        cordY,
                                        anchor=tkinter.NW,
                                        image=grass,
                                        tag=str(gridX) + "," + str(gridY))
                else:
                    canvas.create_image(cordX,
                                        cordY,
                                        anchor=tkinter.NW,
                                        image=water,
                                        tag=str(gridX) + "," + str(gridY))
                cordX = cordX + tailleImg  # On augmente les cords pour afficher l'image au bon endroit après
                gridX += 1
            cordY = cordY + tailleImg
            gridY += 1
            vg.setTTtree(totalTree)
示例#3
0
def createMap(event):
    if textBox.get() == "":
        vg.setNbCell(50)
    else:
        vg.setNbCell(int(textBox.get()))
    tailleImg = vg.getLengthCell()
    algocsv.createCsv()                                     #On créé un csv
    cordY = 0
    gridY = 0
    with open(vg.getNomCsv(), "r", newline='') as f:
        canvas.delete("all")                                # Reset du canvas précédent
        reader = csv.reader(f, classDialectCsv.Dialect())
        for row in reader:                                  # On regarde d'abord les lignes
            cordX = 0                                       # On reset X à chaque nouvelle ligne
            gridX = 0
            for i in row:                                   # Ici c'est la boucle des collones || On met la valeur de la case dans i
                canvas.create_rectangle(cordX, cordY, cordX+tailleImg, cordY+tailleImg, fill="green", tag=str(gridX)+","+str(gridY))
                cordX = cordX+tailleImg                     # On augmente les cords pour afficher l'image au bon endroit après
                gridX+=1
            cordY = cordY+tailleImg
            gridY+=1
        vg.setTTtree(vg.getNbCellules()*vg.getNbCellules())
示例#4
0
 def createCsv(self):
     doubleListe = self.genList()
     with open(self.vg.getNomCsv(), "w", newline='') as f:
         writer = csv.writer(f, classDialectCsv.Dialect())
         for i in range(self.vg.getNbCellules()):
             writer.writerow(doubleListe[i])