Кнопка Tkinter, вызывающая бесконечный цикл - PullRequest
0 голосов
/ 18 мая 2019

Я очень плохо знаком с программированием и сейчас пытаюсь создать игру.Я работал над простым кодом для обработки смерти игрока, используя кадры и кнопки tkinter в python.При использовании tk.Button (command = lambda: self.new ()) мой код выдает бесконечное количество моего всплывающего окна смерти.Есть ли способ это исправить?Строка вопроса с настройкой = ....Без этой строки deny = ... отлично работает.

 def handle_death(self):
    death = tk.Tk()
    death.title("You Have Died")
    label = tk.Label(death, text="Would You Like to Restart?")
    label.pack(side=tk.TOP, pady=10, padx=10)
    death_button = tk.Frame(death)
    deny = tk.Button(death_button, text="No", command=lambda: [self.close(), death.destroy()])
    configure = tk.Button(death_button, text="Yes", command=lambda: [self.new(), death.destroy()])
    configure.pack(side=tk.LEFT)
    deny.pack(side=tk.LEFT)
    death_button.pack(side=tk.BOTTOM)
 def new(self):
    """ Creates a new game."""
    self._world = World((GRID_WIDTH, GRID_HEIGHT), BLOCK_SIZE)
    load_simple_world(self._world)
    self._world.add_player(self._player, 250, 150)
    self._hot_bar.select((0, 0))
    starting_inventory = [
        ((1, 5), Stack(Item('dirt'), 10)),
        ((0, 2), Stack(Item('wood'), 10)),
    ]
    self._inventory = Grid(rows=3, columns=10)
    for position, stack in starting_inventory:
        self._inventory[position] = stack

    self._health = 1
    self._food = 1
    self._update_health(self._health)
    self._update_food(self._food)
...