diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/alice.png b/第19讲王者荣耀化妆舞会/课堂成果/images/alice.png new file mode 100644 index 0000000..136019a Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/alice.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/bob.png b/第19讲王者荣耀化妆舞会/课堂成果/images/bob.png new file mode 100644 index 0000000..f940635 Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/bob.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/claire.png b/第19讲王者荣耀化妆舞会/课堂成果/images/claire.png new file mode 100644 index 0000000..e0c4c9f Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/claire.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/凯.png b/第19讲王者荣耀化妆舞会/课堂成果/images/凯.png new file mode 100644 index 0000000..7d8c42b Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/凯.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/李白.png b/第19讲王者荣耀化妆舞会/课堂成果/images/李白.png new file mode 100644 index 0000000..2ac2fa9 Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/李白.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/甄姬.png b/第19讲王者荣耀化妆舞会/课堂成果/images/甄姬.png new file mode 100644 index 0000000..e8257ff Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/甄姬.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/百里守约.png b/第19讲王者荣耀化妆舞会/课堂成果/images/百里守约.png new file mode 100644 index 0000000..d9d9c4e Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/百里守约.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/images/钟馗.png b/第19讲王者荣耀化妆舞会/课堂成果/images/钟馗.png new file mode 100644 index 0000000..9fe95f0 Binary files /dev/null and b/第19讲王者荣耀化妆舞会/课堂成果/images/钟馗.png differ diff --git a/第19讲王者荣耀化妆舞会/课堂成果/角色切换.py b/第19讲王者荣耀化妆舞会/课堂成果/角色切换.py new file mode 100644 index 0000000..8551ee7 --- /dev/null +++ b/第19讲王者荣耀化妆舞会/课堂成果/角色切换.py @@ -0,0 +1,104 @@ +import tkinter as tk +from PIL import Image, ImageTk + +# 角色数据 +characters = [ + { + "name": "铠", + "quote": "", + "image": "images/凯.png" + }, + { + "name": "李白", + "quote": "", + "image": "images/李白.png" + }, + { + "name": "甄姬", + "quote": "", + "image": "images/甄姬.png" + }, + { + "name": "百里守约", + "quote": "", + "image": "images/百里守约.png" + }, + { + "name": "钟馗", + "quote": "", + "image": "images/钟馗.png" + } +] + +# 图片等比缩放 +def resize_image_keep_aspect(image, max_width=300, max_height=360): + ratio = min(max_width / image.width, max_height / image.height) + new_size = (int(image.width * ratio), int(image.height * ratio)) + return image.resize(new_size, Image.Resampling.LANCZOS) + +class RoleSwitcherApp: + def __init__(self, master): + self.master = master + self.master.title("角色切换器") + self.master.geometry("420x600") # 固定窗口大小 + self.master.resizable(False, False) # 禁止缩放 + self.index = 0 + + # 图片区域 + self.image_label = tk.Label(master) + self.image_label.pack(pady=10) + + # 名字 + self.name_label = tk.Label(master, text="", font=("Arial", 16)) + self.name_label.pack() + + # 对话框区域 + self.dialog_frame = tk.Frame(master, bg="#f0f0f0", padx=10, pady=10) + self.dialog_frame.pack(padx=10, pady=10, fill="x") + + self.quote_label = tk.Label( + self.dialog_frame, + text="", + font=("微软雅黑", 13), + wraplength=400, + justify="left", + anchor="w" + ) + self.quote_label.pack() + + # 按钮区域 + btn_frame = tk.Frame(master) + btn_frame.pack(pady=10) + + tk.Button(btn_frame, text="← 上一个", command=self.prev_character).pack(side="left", padx=20) + tk.Button(btn_frame, text="下一个 →", command=self.next_character).pack(side="left", padx=20) + + # 键盘控制 + master.bind("", lambda event: self.prev_character()) + master.bind("", lambda event: self.next_character()) + + self.update_display() + + def update_display(self): + char = characters[self.index] + self.name_label.config(text=f"角色:{char['name']}") + + image = Image.open(char["image"]) + image = resize_image_keep_aspect(image) + self.tk_image = ImageTk.PhotoImage(image) + self.image_label.config(image=self.tk_image) + + self.quote_label.config(text=f"“{char['quote']}”") + + def next_character(self): + self.index = (self.index + 1) % len(characters) + self.update_display() + + def prev_character(self): + self.index = (self.index - 1) % len(characters) + self.update_display() + +if __name__ == "__main__": + root = tk.Tk() + app = RoleSwitcherApp(root) + root.mainloop() diff --git a/第42讲抽奖系统/课堂成果/base.py b/第42讲抽奖系统/课堂成果/base.py new file mode 100644 index 0000000..226e3ad --- /dev/null +++ b/第42讲抽奖系统/课堂成果/base.py @@ -0,0 +1,24 @@ +import random +import os +import time + +list=["特等奖","一等奖","二等奖","三等奖","安慰奖"] + +for i in range(20): + print(random.choice(list)) + time.sleep(0.1) + os.system('cls') + +re=random.randint(1,100) +if re <= 1: + print("恭喜特等奖") +elif re <= 5: + print("恭喜一等奖") +elif re<= 10: + print("恭喜二等奖") +elif re <= 20: + print("恭喜三等奖") +else: + print("恭喜安慰奖") + +os.system('pause') \ No newline at end of file