#!/usr/bin/python

from Tkinter import *
from jeu import *
from serpent import *
from para import *
from niveau1 import *
from environnement import *

def avancer():
	global pause, perdu, princ, serp1, LGC, niveau, tete, queue
	proch_tete,proch_dirint = serp1.prochaine_pos()
	if serp1.mourra(proch_tete, niveau):
		if joueur.decr_vie():
			joueur.gerer_mort(princ, LGC, tete, queue)
		else:
			perdu = 1
			princ.delete(ALL)
			#niveau.vider()
			#serp1.vider()
	else:
		mange = serp1.mangera(proch_tete, niveau)
		if mange:
			niveau.effacer(tuple(proch_tete), princ)
			joueur.incr_energie(NRJ_FISH)
		serp1.avancer(proch_tete,proch_dirint, mange)
		serp1.reafficher(mange, princ, LGC)
	if not joueur.decr_energie(): # si energie <=0
		joueur.decr_vie()
		joueur.gerer_mort(princ, LGC, tete, queue)
	if not pause and not perdu:
		princ.after(horloge, avancer)

def demarrer():
	global pause, perdu, princ, serp1, niveau, LGC # obs et miams sont dans niveau
	pause = 0
	perdu = 0
	princ.bind_all('<Key>', serp1.change_dir)
	serp1.affiche_init(princ, LGC)
	niveau.affiche_init(princ, LGC)
	avancer()

def pause_not():
	global pause
	pause = not pause
	if not pause and not perdu:
		princ.after(horloge, avancer)

def aff_options():
	global jeu
	global princ
	jeu.aff_parametres(princ)


# liste queue tete en premier
serp1 = Serpent(tete, queue, "Right", "red", "pink")
niveau = Niveau(miams, obstacles) # miams et obstacles dans para.py
joueur = Joueur(serp1)
pause = False # booleen : jeu en cours
perdu = True

root = Tk()
root.title("serpent")

jeu = Jeu(1,0, "normale")

bandeau = Frame(root)
bandeau.pack(side=TOP)
princ =  Canvas(root, height=15*LGC,width=25*LGC,bg='dark grey')
princ.pack()
for t,x in ("jouer",demarrer), \
	("options",aff_options), \
	("pause",pause_not), \
	("reprendre",pause_not), \
	("quitter",root.quit):
	Button(bandeau, text=t, command=x).pack(side=LEFT)

# demarrer le gestionnaire d'evenement
root.mainloop()



