from tkinter import *
from tkinter import ttk
class Calculator:
def button_pressed(self):
weapon_value = int(self.wvd.get())
str_value = int(self.svd.get())
weapon_skill = int(self.wkd.get())
fight_skill = int(self.fkd.get())
slay = int(self.sld.get())
if (str_value>10):
str_value = (1 + ((str_value - 9) / 2) * (2 / 39))
elif (str_value<10):
str_value = (1 - ((11 - str_value) / 2) * (3 / 39))
weapon_skill = 1 + (weapon_skill / 2) / 25
fight_skill = 1 + (fight_skill / 2) / 30
print((weapon_value * str_value/2) - 0.66)
print(str_value)
print(weapon_skill)
max_damage = ((weapon_value * str_value) - 0.66) * weapon_skill*fight_skill + slay
mid_damage = ((weapon_value * str_value/2) - 0.66) * weapon_skill*fight_skill + slay
self.resultd.delete(0,'end')
self.resultd.insert(0,str(mid_damage))
print(mid_damage,max_damage)
def __init__(self, window):
self.memt1 = StringVar()
self.memt2 = StringVar()
self.memt3 = StringVar()
self.memt4 = StringVar()
self.memt5 = StringVar()
window.title("DamageCalculator")
self.wv = Label(text="무기 기본 공격력", width=20)
self.wvd= ttk.Entry(window, textvariable=self.memt1, width = 20)
self.wvd.grid(row=0, column=1)
self.wv.grid(row=0, column=0)
frame2 = Frame()
self.sv = Label(text="STR 스텟", width=20)
self.svd= ttk.Entry(window, width = 20, textvariable=self.memt2)
self.svd.grid(row=1, column=1)
self.sv.grid(row=1, column=0)
self.wk = Label(text="무기스킬", width=20)
self.wkd = ttk.Entry(window, width = 20, textvariable=self.memt3)
self.wkd.grid(row=2, column=1)
self.wk.grid(row=2, column=0)
self.fk = Label(text="파이팅스킬", width=20)
self.fkd= ttk.Entry(window, width = 20, textvariable=self.memt4)
self.fkd.grid(row=3, column=1)
self.fk.grid(row=3, column=0)
self.sl = Label(text="강화, slay 보너스", width=20)
self.sld= ttk.Entry(window, width = 20, textvariable=self.memt5)
self.sld.grid(row=4, column=1)
self.sl.grid(row=4, column=0)
self.ok = Button(text="OK", width=10, command=lambda:self.button_pressed())
self.ok.grid(row=5, column=1)
self.result = Label(text="결과", width=20)
self.resultd = Entry(window, width = 20)
self.resultd.grid(row=6, column=1)
self.result.grid(row=6, column=0)
window = Tk()
calc = Calculator(window)
window.mainloop()
뭐하는 건지는 묻지 말고....
from tkinter import ttk
class Calculator:
def button_pressed(self):
weapon_value = int(self.wvd.get())
str_value = int(self.svd.get())
weapon_skill = int(self.wkd.get())
fight_skill = int(self.fkd.get())
slay = int(self.sld.get())
if (str_value>10):
str_value = (1 + ((str_value - 9) / 2) * (2 / 39))
elif (str_value<10):
str_value = (1 - ((11 - str_value) / 2) * (3 / 39))
weapon_skill = 1 + (weapon_skill / 2) / 25
fight_skill = 1 + (fight_skill / 2) / 30
print((weapon_value * str_value/2) - 0.66)
print(str_value)
print(weapon_skill)
max_damage = ((weapon_value * str_value) - 0.66) * weapon_skill*fight_skill + slay
mid_damage = ((weapon_value * str_value/2) - 0.66) * weapon_skill*fight_skill + slay
self.resultd.delete(0,'end')
self.resultd.insert(0,str(mid_damage))
print(mid_damage,max_damage)
def __init__(self, window):
self.memt1 = StringVar()
self.memt2 = StringVar()
self.memt3 = StringVar()
self.memt4 = StringVar()
self.memt5 = StringVar()
window.title("DamageCalculator")
self.wv = Label(text="무기 기본 공격력", width=20)
self.wvd= ttk.Entry(window, textvariable=self.memt1, width = 20)
self.wvd.grid(row=0, column=1)
self.wv.grid(row=0, column=0)
frame2 = Frame()
self.sv = Label(text="STR 스텟", width=20)
self.svd= ttk.Entry(window, width = 20, textvariable=self.memt2)
self.svd.grid(row=1, column=1)
self.sv.grid(row=1, column=0)
self.wk = Label(text="무기스킬", width=20)
self.wkd = ttk.Entry(window, width = 20, textvariable=self.memt3)
self.wkd.grid(row=2, column=1)
self.wk.grid(row=2, column=0)
self.fk = Label(text="파이팅스킬", width=20)
self.fkd= ttk.Entry(window, width = 20, textvariable=self.memt4)
self.fkd.grid(row=3, column=1)
self.fk.grid(row=3, column=0)
self.sl = Label(text="강화, slay 보너스", width=20)
self.sld= ttk.Entry(window, width = 20, textvariable=self.memt5)
self.sld.grid(row=4, column=1)
self.sl.grid(row=4, column=0)
self.ok = Button(text="OK", width=10, command=lambda:self.button_pressed())
self.ok.grid(row=5, column=1)
self.result = Label(text="결과", width=20)
self.resultd = Entry(window, width = 20)
self.resultd.grid(row=6, column=1)
self.result.grid(row=6, column=0)
window = Tk()
calc = Calculator(window)
window.mainloop()
뭐하는 건지는 묻지 말고....
재사용성 ㅇㄷ
아.....
그냥 클래스만 쓴 절차형 코드임
클래스 하위에 public이나 private같은 다른 그룹이 없는데 ㅡㅡ;;; 게다가 객체생성한게 하나도 안보임ㅡㅡ;;;;;
프레임별로 클래스 쪼개 ㅋㅋ
으앆 파이썬이다