import tkinter as tk
import random
class WheelOfFortune:
def __init__(self, root):
self.root = root
self.root.title("วงล้อสุ่ม")
self.prizes = ["รางวัลที่ 1", "รางวัลที่ 2", "รางวัลที่ 3", "รางวัลที่ 4"]
self.probabilities = [25, 25, 25, 25] # ความน่าจะเป็นเริ่มต้น
self.prize_entries = []
self.probability_entries = []
self.create_widgets()
def create_widgets(self):
# ส่วนของรางวัลและโอกาส
prize_frame = tk.Frame(self.root)
prize_frame
.pack(pady
=10)
for i in
range(len
(self.prizes
)): tk.Label(prize_frame, text=f"รางวัล {i+1}:").grid(row=i, column=0)
prize_entry = tk.Entry(prize_frame)
prize_entry.insert(0, self.prizes[i])
prize_entry.grid(row=i, column=1)
self.prize_entries.append(prize_entry)
tk.Label(prize_frame, text="โอกาส (%):").grid(row=i, column=2)
probability_entry = tk.Entry(prize_frame)
probability_entry.insert(0, self.probabilities[i])
probability_entry.grid(row=i, column=3)
self.probability_entries.append(probability_entry)
# ปุ่มสุ่ม
spin_button = tk.Button(self.root, text="หมุนวงล้อ", command=self.spin_wheel)
spin_button
.pack(pady
=10)
# ช่องแสดงผลลัพธ์
self.result_label = tk.Label(self.root, text="")
self.result_label
.pack(pady
=10)
def spin_wheel(self):
# อัปเดตรางวัลและโอกาสจากช่องกรอก
self.prizes = [entry.get() for entry in self.prize_entries]
self.probabilities = [int(entry.get()) for entry in self.probability_entries]
# สร้างรายการรางวัลตามโอกาส
weighted_prizes = []
for i, prize in enumerate(self.prizes):
weighted_prizes.extend([prize] * self.probabilities[i])
# สุ่มรางวัล
if weighted_prizes:
result = random.choice(weighted_prizes)
self.result_label.config(text=f"ผลลัพธ์: {result}")
else:
self.result_label.config(text="ไม่มีรางวัล")
if __name__ == "__main__":
root = tk.Tk()
app = WheelOfFortune(root)
root.mainloop()
aW1wb3J0IHRraW50ZXIgYXMgdGsKaW1wb3J0IHJhbmRvbQoKY2xhc3MgV2hlZWxPZkZvcnR1bmU6CiAgICBkZWYgX19pbml0X18oc2VsZiwgcm9vdCk6CiAgICAgICAgc2VsZi5yb290ID0gcm9vdAogICAgICAgIHNlbGYucm9vdC50aXRsZSgi4Lin4LiH4Lil4LmJ4Lit4Liq4Li44LmI4LihIikKCiAgICAgICAgc2VsZi5wcml6ZXMgPSBbIuC4o+C4suC4h+C4p+C4seC4peC4l+C4teC5iCAxIiwgIuC4o+C4suC4h+C4p+C4seC4peC4l+C4teC5iCAyIiwgIuC4o+C4suC4h+C4p+C4seC4peC4l+C4teC5iCAzIiwgIuC4o+C4suC4h+C4p+C4seC4peC4l+C4teC5iCA0Il0KICAgICAgICBzZWxmLnByb2JhYmlsaXRpZXMgPSBbMjUsIDI1LCAyNSwgMjVdICAjIOC4hOC4p+C4suC4oeC4meC5iOC4suC4iOC4sOC5gOC4m+C5h+C4meC5gOC4o+C4tOC5iOC4oeC4leC5ieC4mQoKICAgICAgICBzZWxmLnByaXplX2VudHJpZXMgPSBbXQogICAgICAgIHNlbGYucHJvYmFiaWxpdHlfZW50cmllcyA9IFtdCgogICAgICAgIHNlbGYuY3JlYXRlX3dpZGdldHMoKQoKICAgIGRlZiBjcmVhdGVfd2lkZ2V0cyhzZWxmKToKICAgICAgICAjIOC4quC5iOC4p+C4meC4guC4reC4h+C4o+C4suC4h+C4p+C4seC4peC5geC4peC4sOC5guC4reC4geC4suC4qgogICAgICAgIHByaXplX2ZyYW1lID0gdGsuRnJhbWUoc2VsZi5yb290KQogICAgICAgIHByaXplX2ZyYW1lLnBhY2socGFkeT0xMCkKCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHNlbGYucHJpemVzKSk6CiAgICAgICAgICAgIHRrLkxhYmVsKHByaXplX2ZyYW1lLCB0ZXh0PWYi4Lij4Liy4LiH4Lin4Lix4LilIHtpKzF9OiIpLmdyaWQocm93PWksIGNvbHVtbj0wKQogICAgICAgICAgICBwcml6ZV9lbnRyeSA9IHRrLkVudHJ5KHByaXplX2ZyYW1lKQogICAgICAgICAgICBwcml6ZV9lbnRyeS5pbnNlcnQoMCwgc2VsZi5wcml6ZXNbaV0pCiAgICAgICAgICAgIHByaXplX2VudHJ5LmdyaWQocm93PWksIGNvbHVtbj0xKQogICAgICAgICAgICBzZWxmLnByaXplX2VudHJpZXMuYXBwZW5kKHByaXplX2VudHJ5KQoKICAgICAgICAgICAgdGsuTGFiZWwocHJpemVfZnJhbWUsIHRleHQ9IuC5guC4reC4geC4suC4qiAoJSk6IikuZ3JpZChyb3c9aSwgY29sdW1uPTIpCiAgICAgICAgICAgIHByb2JhYmlsaXR5X2VudHJ5ID0gdGsuRW50cnkocHJpemVfZnJhbWUpCiAgICAgICAgICAgIHByb2JhYmlsaXR5X2VudHJ5Lmluc2VydCgwLCBzZWxmLnByb2JhYmlsaXRpZXNbaV0pCiAgICAgICAgICAgIHByb2JhYmlsaXR5X2VudHJ5LmdyaWQocm93PWksIGNvbHVtbj0zKQogICAgICAgICAgICBzZWxmLnByb2JhYmlsaXR5X2VudHJpZXMuYXBwZW5kKHByb2JhYmlsaXR5X2VudHJ5KQoKICAgICAgICAjIOC4m+C4uOC5iOC4oeC4quC4uOC5iOC4oQogICAgICAgIHNwaW5fYnV0dG9uID0gdGsuQnV0dG9uKHNlbGYucm9vdCwgdGV4dD0i4Lir4Lih4Li44LiZ4Lin4LiH4Lil4LmJ4LitIiwgY29tbWFuZD1zZWxmLnNwaW5fd2hlZWwpCiAgICAgICAgc3Bpbl9idXR0b24ucGFjayhwYWR5PTEwKQoKICAgICAgICAjIOC4iuC5iOC4reC4h+C5geC4quC4lOC4h+C4nOC4peC4peC4seC4nuC4mOC5jAogICAgICAgIHNlbGYucmVzdWx0X2xhYmVsID0gdGsuTGFiZWwoc2VsZi5yb290LCB0ZXh0PSIiKQogICAgICAgIHNlbGYucmVzdWx0X2xhYmVsLnBhY2socGFkeT0xMCkKCiAgICBkZWYgc3Bpbl93aGVlbChzZWxmKToKICAgICAgICAjIOC4reC4seC4m+C5gOC4lOC4leC4o+C4suC4h+C4p+C4seC4peC5geC4peC4sOC5guC4reC4geC4suC4quC4iOC4suC4geC4iuC5iOC4reC4h+C4geC4o+C4reC4gQogICAgICAgIHNlbGYucHJpemVzID0gW2VudHJ5LmdldCgpIGZvciBlbnRyeSBpbiBzZWxmLnByaXplX2VudHJpZXNdCiAgICAgICAgc2VsZi5wcm9iYWJpbGl0aWVzID0gW2ludChlbnRyeS5nZXQoKSkgZm9yIGVudHJ5IGluIHNlbGYucHJvYmFiaWxpdHlfZW50cmllc10KCiAgICAgICAgIyDguKrguKPguYnguLLguIfguKPguLLguKLguIHguLLguKPguKPguLLguIfguKfguLHguKXguJXguLLguKHguYLguK3guIHguLLguKoKICAgICAgICB3ZWlnaHRlZF9wcml6ZXMgPSBbXQogICAgICAgIGZvciBpLCBwcml6ZSBpbiBlbnVtZXJhdGUoc2VsZi5wcml6ZXMpOgogICAgICAgICAgICB3ZWlnaHRlZF9wcml6ZXMuZXh0ZW5kKFtwcml6ZV0gKiBzZWxmLnByb2JhYmlsaXRpZXNbaV0pCgogICAgICAgICMg4Liq4Li44LmI4Lih4Lij4Liy4LiH4Lin4Lix4LilCiAgICAgICAgaWYgd2VpZ2h0ZWRfcHJpemVzOgogICAgICAgICAgICByZXN1bHQgPSByYW5kb20uY2hvaWNlKHdlaWdodGVkX3ByaXplcykKICAgICAgICAgICAgc2VsZi5yZXN1bHRfbGFiZWwuY29uZmlnKHRleHQ9ZiLguJzguKXguKXguLHguJ7guJjguYw6IHtyZXN1bHR9IikKICAgICAgICBlbHNlOgogICAgICAgICAgICBzZWxmLnJlc3VsdF9sYWJlbC5jb25maWcodGV4dD0i4LmE4Lih4LmI4Lih4Li14Lij4Liy4LiH4Lin4Lix4LilIikKCmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICByb290ID0gdGsuVGsoKQogICAgYXBwID0gV2hlZWxPZkZvcnR1bmUocm9vdCkKICAgIHJvb3QubWFpbmxvb3AoKQ==
import tkinter as tk
import random
class WheelOfFortune:
def __init__(self, root):
self.root = root
self.root.title("วงล้อสุ่ม")
self.prizes = ["รางวัลที่ 1", "รางวัลที่ 2", "รางวัลที่ 3", "รางวัลที่ 4"]
self.probabilities = [25, 25, 25, 25] # ความน่าจะเป็นเริ่มต้น
self.prize_entries = []
self.probability_entries = []
self.create_widgets()
def create_widgets(self):
# ส่วนของรางวัลและโอกาส
prize_frame = tk.Frame(self.root)
prize_frame.pack(pady=10)
for i in range(len(self.prizes)):
tk.Label(prize_frame, text=f"รางวัล {i+1}:").grid(row=i, column=0)
prize_entry = tk.Entry(prize_frame)
prize_entry.insert(0, self.prizes[i])
prize_entry.grid(row=i, column=1)
self.prize_entries.append(prize_entry)
tk.Label(prize_frame, text="โอกาส (%):").grid(row=i, column=2)
probability_entry = tk.Entry(prize_frame)
probability_entry.insert(0, self.probabilities[i])
probability_entry.grid(row=i, column=3)
self.probability_entries.append(probability_entry)
# ปุ่มสุ่ม
spin_button = tk.Button(self.root, text="หมุนวงล้อ", command=self.spin_wheel)
spin_button.pack(pady=10)
# ช่องแสดงผลลัพธ์
self.result_label = tk.Label(self.root, text="")
self.result_label.pack(pady=10)
def spin_wheel(self):
# อัปเดตรางวัลและโอกาสจากช่องกรอก
self.prizes = [entry.get() for entry in self.prize_entries]
self.probabilities = [int(entry.get()) for entry in self.probability_entries]
# สร้างรายการรางวัลตามโอกาส
weighted_prizes = []
for i, prize in enumerate(self.prizes):
weighted_prizes.extend([prize] * self.probabilities[i])
# สุ่มรางวัล
if weighted_prizes:
result = random.choice(weighted_prizes)
self.result_label.config(text=f"ผลลัพธ์: {result}")
else:
self.result_label.config(text="ไม่มีรางวัล")
if __name__ == "__main__":
root = tk.Tk()
app = WheelOfFortune(root)
root.mainloop()