Exemple #1
0
  def initialize(self):
    
    ## Paramètre d'affichage de la fenetre ##
    self.title('Mario')
    self.grid # type grille d'organisation cf Tkinter
    self.geometry("1000x550") # Taille de la fenetre
    self.entry = Tkinter.Entry(self)
    self.grid_columnconfigure(0,weight=1)
    self.resizable(False,False) # fenetre extensible

    self.data_window = Data_window(self)
    
    ## Composants graphiques de la fenetre ##

    panneau=Tkinter.PanedWindow(orient=Tkinter.VERTICAL) # Panneau principal
    panneau.pack(expand="yes", fill="both")

    # Menu #
    menu = Tkinter.PanedWindow(height=25,orient=Tkinter.HORIZONTAL) # ligne de menu contenant les boutons d'interaction
    panneau.add(menu)

    # Logo #
    mario_img=Image.open("./mario_b.gif") # chargement de l'image
    mario_img = mario_img.resize((75,48))
    mario_img = ImageTk.PhotoImage(mario_img)
    label = Tkinter.Label(image=mario_img) # création du label
    label.photo = mario_img # configuration du label en mode image
    menu.add(label)
    
    # Boutons #
    test = Tkinter.Button(menu,text="Boutton test", command=self.test) # Autre bouton
    menu.add(test)

    # Bouton de selection du niveau
    level_button_text = "level 0"
    self.level = Tkinter.Button(menu,text=level_button_text, command=self.set_level) # Bouton de redemarrage
    menu.add(self.level)

    # Bouton de redemarrage du niveau
    restart = Tkinter.Button(menu,text="Restart", command=self.restart) # Bouton de redemarrage
    menu.add(restart)
    
   
    ## Zone de jeu ##

    self.game_window = Tkinter.Canvas(self, background='darkgray',width=GAME_WIDTH, height = GAME_HEIGHT) # Création d'une zone graphique : Canvas
    self.game_window.pack(side=Tkinter.BOTTOM) # Positionnement en bas

    ## Interruptions clavier ##

    # Controles manuels
    self.bind_all('d', self.forward) # Avancer 'd'
    self.bind_all('q', self.back) # Reculer 'q'
    self.bind_all("<space>", self.jump) # sauter Space
    
    self.bind_all('t', self.test)
Exemple #2
0
class Window(Tkinter.Tk):

  def __init__(self,parent):
    Tkinter.Tk.__init__(self,None)
    self.initialize()

############################################################################################################################
#	Initialise les données :
############################################################################################################################

  def initialize(self):
    
    ## Paramètre d'affichage de la fenetre ##
    self.title('Mario')
    self.grid # type grille d'organisation cf Tkinter
    self.geometry("1000x550") # Taille de la fenetre
    self.entry = Tkinter.Entry(self)
    self.grid_columnconfigure(0,weight=1)
    self.resizable(False,False) # fenetre extensible

    self.data_window = Data_window(self)
    
    ## Composants graphiques de la fenetre ##

    panneau=Tkinter.PanedWindow(orient=Tkinter.VERTICAL) # Panneau principal
    panneau.pack(expand="yes", fill="both")

    # Menu #
    menu = Tkinter.PanedWindow(height=25,orient=Tkinter.HORIZONTAL) # ligne de menu contenant les boutons d'interaction
    panneau.add(menu)

    # Logo #
    mario_img=Image.open("./mario_b.gif") # chargement de l'image
    mario_img = mario_img.resize((75,48))
    mario_img = ImageTk.PhotoImage(mario_img)
    label = Tkinter.Label(image=mario_img) # création du label
    label.photo = mario_img # configuration du label en mode image
    menu.add(label)
    
    # Boutons #
    test = Tkinter.Button(menu,text="Boutton test", command=self.test) # Autre bouton
    menu.add(test)

    # Bouton de selection du niveau
    level_button_text = "level 0"
    self.level = Tkinter.Button(menu,text=level_button_text, command=self.set_level) # Bouton de redemarrage
    menu.add(self.level)

    # Bouton de redemarrage du niveau
    restart = Tkinter.Button(menu,text="Restart", command=self.restart) # Bouton de redemarrage
    menu.add(restart)
    
   
    ## Zone de jeu ##

    self.game_window = Tkinter.Canvas(self, background='darkgray',width=GAME_WIDTH, height = GAME_HEIGHT) # Création d'une zone graphique : Canvas
    self.game_window.pack(side=Tkinter.BOTTOM) # Positionnement en bas

    ## Interruptions clavier ##

    # Controles manuels
    self.bind_all('d', self.forward) # Avancer 'd'
    self.bind_all('q', self.back) # Reculer 'q'
    self.bind_all("<space>", self.jump) # sauter Space
    
    self.bind_all('t', self.test)


############################################################################################################################
#	Methodes d'appel de deplacement
############################################################################################################################

  def forward(self,*args):
    self.control.ordered("forward")

  def back(self,*args):
    self.control.ordered("back")

  def jump(self,*args):
    self.control.ordered("jump")

  # Avance selon la direction du personnage #
  def walk(self,*args):
    self.control.ordered("walk")

############################################################################################################################
#	Methodes génériques
############################################################################################################################

  def get_window(self):
    return self.game_window

  def set_control(self,control):
    self.control = control
    self.data_window.set_control(self.control)

  def restart(self,*args):
    self.control.restart()

  def test(self,*args):
    self.control.test(args)

  def set_level(self,*args):
    if self.control.level < 7:
      self.control.level = self.control.level + 1
    else:
      self.control.level = 0
    self.level_button_text = "level "+str(self.control.level)
    self.level.config(text = self.level_button_text)

############################################################################################################################
#	méthodes générales
############################################################################################################################
    
  def pop_text(self,text):
    font = tkFont.Font(size = 50, weight = "bold")
    return self.game_window.create_text(400,200, text=text,font=font)
    
  def update_data(self):
    self.data_window.update_data()
    
  def update_assertz(self,interdiction):
    self.data_window.update_assertz(interdiction)