Mar-12-2019, 07:29 PM
hi everybody,
I m coding a card game. I already coded all the game, I just miss the display.
To code it, I use tkinter but I have some trouble with my code.
it blow up in "create_player" fonction when "Destroy" is called
for me, I just wrote the same thing I wrote to close "choose_game" fonction at the first line of "def_contrée_players" fonction and in this case it runs right.
please help me before my brain blow up too :)
I m coding a card game. I already coded all the game, I just miss the display.
To code it, I use tkinter but I have some trouble with my code.
it blow up in "create_player" fonction when "Destroy" is called
for me, I just wrote the same thing I wrote to close "choose_game" fonction at the first line of "def_contrée_players" fonction and in this case it runs right.
please help me before my brain blow up too :)
from tkinter import * from class_player import * def choose_game(): choose_game_window = Tk() choose_game_label = Label(choose_game_window, text = "Wich game do you wanna play?").grid(row = 1) contrée_button = Button(choose_game_window, text = "Contrée", command = lambda: def_contrée_players(choose_game_window)).grid(row = 2) choose_game_window.mainloop() choose_game_window.destroy() def def_contrée_players(window): window.destroy() player_number = 4 nplayer = 1 lstentry = [] name_window = Tk() for num in range(player_number): entrynum = "entry" + str(num) num = Label(name_window, text = "player name " + str(nplayer)).grid(column = 1, row = nplayer) entrynum = Entry(name_window) entrynum.grid(column = 2, row = nplayer) nplayer += 1 lstentry += [entrynum] start_button = Button(name_window, text = "start", command = lambda: create_players(lstentry, name_window)) start_button.grid(column = 2, row = nplayer) name_window.mainloop() name_window.destroy() def create_players(lstentry, window): lstplayer = [] for player_name in lstentry: gplayer = player() gplayer.name = player_name.get() lstplayer += [gplayer] window.destroy() return lstplayer