wildfire/genForet.py
2019-02-08 17:29:06 +01:00

54 lines
No EOL
1.8 KiB
Python

# -*- coding: utf-8 -*-
"""
Created on Fri Feb 1 11:30:02 2019
@author: LordOf20th
"""
import numpy as np
import random
#import tkinter as tk
#Fonctions agissant sur la matrice
def genForet(n,p):
foret=np.full(shape=(n,n), fill_value=0)
for i in range(0,foret.shape[0]):
for j in range(0,foret.shape[1]):
if random.random() <= p:
foret[i,j]=1
return foret
def enflammer(foret,x,y): #Fonction mettant le feu aléatoirement à une case
if x==-1:
x=random.randint(0, foret.shape[0]-1)
if y==-1:
y=random.randint(0, foret.shape[1]-1)
foret[x,y]=-1
return foret
def propagation(n, p=0.5, x=-1, y=-1):
F=[]
foret = genForet(n, p)
F.append(foret)
F.append(enflammer(foret,x,y))
return F #Return temporaire
""" def affichage(foret):
fenetre = tk.Tk() #Crée la fenêtre que l'on va modifier
label = tk.Label(fenetre, text="Wildfire") #Met en place le titre
label.pack()
canvas = tk.Canvas(fenetre, width=(foret.shape[0]+2)*10, height=(foret.shape[1]+2)*10,background='red') #On définit le canevas qui affiche notre forêt
canvas.create_rectangle(10,10,(foret.shape[0]+1)*10,(foret.shape[1]+1)*10,fill='#c68c53')
for i in range(0,foret.shape[0]):
for j in range(0,foret.shape[1]):
if foret[i,j]== 1:
canvas.create_rectangle((i+1)*10,(j+1)*10,(i+2)*10,(j+2)*10,fill='green',width=0)
elif foret[i,j]==-1:
canvas.create_rectangle((i+1)*10,(j+1)*10,(i+2)*10,(j+2)*10,fill='red',width=0)
canvas.pack()
bouton = tk.Button(fenetre, text="Quitter", command=fenetre.quit)
bouton.pack()
fenetre.mainloop() #affiche la fenêtre """