Написал код и если заполнить вместо нулей целые числа то выдаёт ошибку я не знаю где сделать глобальную переменную:
from tkinter import *
import random as r
#atk warrior
number_warrior = 1
name_text_warrior = "имя", number_warrior, "воина:"
atk_text_warrior = "сила", number_warrior, "воина:"
def_text_warrior = "защита", number_warrior, "воина:"
hp_text_warrior = "жизнь", number_warrior, "воина:"
w = Tk()
atk1 = IntVar()
atk2 = IntVar()
def1 = IntVar()
def2 = IntVar()
hp1 = IntVar()
hp2 = IntVar()
armi = Label(w, text="атакующая армия :", font="arial 14")
armi.pack(anchor="nw", )
text_name_warrior = Label(text=name_text_warrior)
text_name_warrior.pack(anchor="nw")
name_warrior = Entry(bd=6)
name_warrior.pack(anchor="nw")
text_atk_warrior = Label(text=atk_text_warrior )
text_atk_warrior.pack(anchor="nw")
atk_warrior = Entry(bd=6, textvariable=atk1)
atk_warrior.pack(anchor="nw", )
text_def_warrior = Label(text=def_text_warrior)
text_def_warrior.pack(anchor="nw")
def_warrior = Entry(bd=6, textvariable=def1)
def_warrior.pack(anchor="nw", )
text_hp_warrior = Label(text=hp_text_warrior)
text_hp_warrior.pack(anchor="nw")
hp_warrior = Entry(bd=6, textvariable=hp1)
hp_warrior.pack(anchor="nw", )
#def warrior
number_warrior1 = 1
name_text_warrior1 = "имя", number_warrior1, "воина:"
atk_text_warrior1 = "сила", number_warrior1, "воина:"
def_text_warrior1 = "защита", number_warrior1, "воина:"
hp_text_warrior1 = "жизнь", number_warrior1, "воина:"
armi1 = Label(w, text="защищающая армия :", font="arial 14")
armi1.pack(anchor="nw", )
text_name_warrior1 = Label(text=name_text_warrior1)
text_name_warrior1.pack(anchor="nw")
name_warrior1 = Entry(bd=6)
name_warrior1.pack(anchor="nw")
text_atk_warrior1 = Label(text=atk_text_warrior1)
text_atk_warrior1.pack(anchor="nw")
atk_warrior1 = Entry(bd=6, textvariable=atk2)
atk_warrior1.pack(anchor="nw")
text_def_warrior1 = Label(text=def_text_warrior1)
text_def_warrior1.pack(anchor="nw")
def_warrior1 = Entry(bd=6,textvariable=def2 )
def_warrior1.pack(anchor="nw")
text_hp_warrior1 = Label(text=hp_text_warrior1)
text_hp_warrior1.pack(anchor="nw")
hp_warrior1 = Entry(bd=6, textvariable=hp2)
hp_warrior1.pack(anchor="nw")
war1 = 0
war2 = 0
def count():
if (atk1.get() > def2.get()):
war1 = (def2.get() * 50 / atk1.get() - 100)
war1 = war1 ** 2
war1 = war1 ** 0.5
else:
war1 = (atk1.get() * 50 / def2.get())
if (atk2.get() >= def1.get()):
war2 = (def1.get() * 50 / atk2.get() - 100)
war2 = war2 ** 2
war2 = war2 ** 0.5
else:
war2 = (atk2.get() * 50 / def1.get())
stop1 = True
war()
hp1 = hp1
hp2 = hp2
def war():
stop1 = True
while stop1:
randwar1 = r.uniform(0,100)
randwar2 = r.uniform(0,100)
if war1 < randwar1:
hp2 = (hp2.get() - 1)
if war2 < randwar2:
hp1 = (hp1.get() - 1)
if (hp2.get() <= 0):
stop1 = False
if (hp1.get() <= 0):
stop1 = False
let = Button(text="подсчитать", command=count)
let.pack()
w.mainloop()
from tkinter import *
import random as r
#atk warrior
number_warrior = 1
name_text_warrior = "имя", number_warrior, "воина:"
atk_text_warrior = "сила", number_warrior, "воина:"
def_text_warrior = "защита", number_warrior, "воина:"
hp_text_warrior = "жизнь", number_warrior, "воина:"
w = Tk()
atk1 = IntVar()
atk2 = IntVar()
def1 = IntVar()
def2 = IntVar()
hp1 = IntVar()
hp2 = IntVar()
armi = Label(w, text="атакующая армия :", font="arial 14")
armi.pack(anchor="nw", )
text_name_warrior = Label(text=name_text_warrior)
text_name_warrior.pack(anchor="nw")
name_warrior = Entry(bd=6)
name_warrior.pack(anchor="nw")
text_atk_warrior = Label(text=atk_text_warrior )
text_atk_warrior.pack(anchor="nw")
atk_warrior = Entry(bd=6, textvariable=atk1)
atk_warrior.pack(anchor="nw", )
text_def_warrior = Label(text=def_text_warrior)
text_def_warrior.pack(anchor="nw")
def_warrior = Entry(bd=6, textvariable=def1)
def_warrior.pack(anchor="nw", )
text_hp_warrior = Label(text=hp_text_warrior)
text_hp_warrior.pack(anchor="nw")
hp_warrior = Entry(bd=6, textvariable=hp1)
hp_warrior.pack(anchor="nw", )
#def warrior
number_warrior1 = 1
name_text_warrior1 = "имя", number_warrior1, "воина:"
atk_text_warrior1 = "сила", number_warrior1, "воина:"
def_text_warrior1 = "защита", number_warrior1, "воина:"
hp_text_warrior1 = "жизнь", number_warrior1, "воина:"
armi1 = Label(w, text="защищающая армия :", font="arial 14")
armi1.pack(anchor="nw", )
text_name_warrior1 = Label(text=name_text_warrior1)
text_name_warrior1.pack(anchor="nw")
name_warrior1 = Entry(bd=6)
name_warrior1.pack(anchor="nw")
text_atk_warrior1 = Label(text=atk_text_warrior1)
text_atk_warrior1.pack(anchor="nw")
atk_warrior1 = Entry(bd=6, textvariable=atk2)
atk_warrior1.pack(anchor="nw")
text_def_warrior1 = Label(text=def_text_warrior1)
text_def_warrior1.pack(anchor="nw")
def_warrior1 = Entry(bd=6,textvariable=def2 )
def_warrior1.pack(anchor="nw")
text_hp_warrior1 = Label(text=hp_text_warrior1)
text_hp_warrior1.pack(anchor="nw")
hp_warrior1 = Entry(bd=6, textvariable=hp2)
hp_warrior1.pack(anchor="nw")
war1 = 0
war2 = 0
def count():
if (atk1.get() > def2.get()):
war1 = (def2.get() * 50 / atk1.get() - 100)
war1 = war1 ** 2
war1 = war1 ** 0.5
else:
war1 = (atk1.get() * 50 / def2.get())
if (atk2.get() >= def1.get()):
war2 = (def1.get() * 50 / atk2.get() - 100)
war2 = war2 ** 2
war2 = war2 ** 0.5
else:
war2 = (atk2.get() * 50 / def1.get())
stop1 = True
war()
hp1 = hp1
hp2 = hp2
def war():
stop1 = True
while stop1:
randwar1 = r.uniform(0,100)
randwar2 = r.uniform(0,100)
if war1 < randwar1:
hp2 = (hp2.get() - 1)
if war2 < randwar2:
hp1 = (hp1.get() - 1)
if (hp2.get() <= 0):
stop1 = False
if (hp1.get() <= 0):
stop1 = False
let = Button(text="подсчитать", command=count)
let.pack()
w.mainloop()