Mittwoch 13. Juli 2016, 20:47
Hallo,
noch weiter gebastelt - mit eigenem Bild und mit rotierendem Text am Ende.
[codebox=python file=Unbenannt.txt]#!/usr/bin/env python
# coding: utf-8
import random
import Tkinter as tk
from PIL import Image, ImageTk, ImageDraw, ImageFont
import StringIO
import base64
WHEEL = """R0lGODlh+gD6AOfzAAABAAACAAEEAAIFAQQHAgUIBAcJBQgLBwoMCAsNCgwPCw4Q
DA8RDRASDxET
EBIUERMUEhQVExUWFBYYFRcYFhgZFxkbGBocGRscGhwdGx0fHB4fHR8gHiAhHyEjICIkISMkIiQl
IyUnJCYoJScoJigpJykrKCosKSstKiwtKy0uLC4vLS8xLjAyLzEzMDIzMTM0MjQ2MzU3NDY4NTc5
Njg5Nzk6ODo7OTs9Ojw+Oz0/PD5APT9APkBBP0FCQEFDQUNFQkRGQ0VHREZIRUdJRkhJR0lKSEpL
SUpMSkxOS01PTE5QTU9RTlBST1FTUFJUUVNUUlRVU1VWVFZXVVZYVVdZVllbWFpcWVtdWlxeW11f
XF5gXV9hXmBiX2FjYGJkYWNlYmRlY2VmZGZnZWdoZmhpZ2hqZ2lraGpsaWttamxua21vbG5wbW9x
bnFzcHJ0cXN1cnR2c3V3dHZ4dXd5dnh6d3l7eHp8eXt9enx+e31/fH6AfX+BfoCCf4GDgIKEgYOF
goSGg4WHhIaIhYeJhoiKh4mLiIqMiYuNioyOi42PjI6QjY+RjpCSj5GTkJKUkZOVkpSWk5WXlJaY
lZeZlpial5qbmJudmZyem52fnJ6gnZ+hnqCin6GjoKKkoaOloqSmo6WnpKaopaeppqiqp6mrqKqs
qautqqyuq62vrK6wrbCyrrGzr7K0sbO1srS2s7W3tLa4tbe5tri6t7m7uLq8ubu9ury+u72/vL7B
vcDCvsHDv8LEwcPFwsTGw8XHxMbIxcfJxsjKx8nLyMrMycvOys3Py87QzM/RztDSz9HT0NLU0dPV
0tTW09XX1NbY1dja1tnb19rc2dvd2tze293f3N7g3d/h3uDi3+Hk4OPl4eTm4+Xn5Obo5efp5ujq
5+nr6Ors6evu6u3v6+7w7e/x7vDy7/Hz8PL08fP18vT38/b49Pf59vj69/n7+Pr8+fv9+vz/+/7/
/P///////////////////////////////////////////////////yH+EUNyZWF0ZWQgd2l0aCBH
SU1QACH5BAEKAP8ALAAAAAD6APoAAAj+AP8JHEiwoMGDCBMqXMiwocOB1P5FmBGAgIGKATJq3MgR
48Y2D0OKHEmypMmTKFOOdGEiwIJlZDrKnEkzUrkJG1Xq3Mmzp8+fBpUEuMjx2BmaSJOucsagowER
Z3oBnUq1qtWTCzzOPOQqqVeZy2QRRWrgqtmzaH+KqPA145RzbeMGUAdJLoEAafPq3XvwiAi5GqFo
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"""
class Wheel_of_Fortune(object):
START_INTERVAL = 20
FULL_ROTATION = 360
SLOW_DOWN_STEP = 5
FONT_SIZE = 50
ROTATE_STEP_DEGREES = 7.5
WHEEL_TEXT = {15 : "400", 30 : "200", 45 : "900", 60 : "500", 75 : "200",
90 : "BANKRUPT", 105 : "700", 120 : "450", 135 : "200",
150 : "400", 165 : "FREE SPIN", 180 : "750", 195 : "400",
210 : "200", 225 : "600", 240 : "400", 255 : "150",
270 : "1000", 285 : "800", 300 : "250", 315 : "500 GAMBLES",
330 : "300", 345 : "200", 360 : "MISS A TURN"}
def __init__(self):
self.wheel = Image.open(StringIO.StringIO(base64.decodestring(
WHEEL))).convert("RGBA")
self.font = ImageFont.truetype(
"/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf",
self.FONT_SIZE)
self.width, self.height = self.wheel.size
self.properities = {"images" : list(), "speed" : self.START_INTERVAL,
"delete_tags" : list()}
self.properities["images"].append([(self.width / 2, self.height / 2),
ImageTk.PhotoImage(self.wheel), "wheel"])
self.properities["delete_tags"].append("wheel")
self.random_degrees = random.choice(self.WHEEL_TEXT.keys())
self.text_img, self.tag, self.text_img_wide = self.create_text_img(
self.random_degrees)
self.text_rotate_degrees = 0
self.properities["run"] = False
self.degrees = 0
def set_positions(self):
self.properities["run"] = True
self.properities["images"] = list()
self.properities["images"].append([(self.width / 2, self.height / 2),
ImageTk.PhotoImage(self.wheel.rotate(self.degrees)), "wheel"])
if self.degrees != self.random_degrees + self.FULL_ROTATION:
if self.degrees > self.FULL_ROTATION:
self.properities["speed"] += self.SLOW_DOWN_STEP
self.degrees += self.ROTATE_STEP_DEGREES
else:
if self.text_rotate_degrees < self.ROTATE_STEP_DEGREES \
* self.text_img_wide * 2:
self.properities["speed"] = self.START_INTERVAL
self.properities["images"].append([(self.width / 2,
self.height / 2), ImageTk.PhotoImage(
self.text_img.rotate(self.text_rotate_degrees).resize((
self.text_img_wide, self.text_img_wide))), self.tag])
self.text_rotate_degrees += self.ROTATE_STEP_DEGREES
self.text_img_wide -= 1
else:
self.properities["run"] = False
self.degrees = 0
self.random_degrees = random.choice(self.WHEEL_TEXT.keys())
self.text_img, self.tag, self.text_img_wide = \
self.create_text_img(self.random_degrees)
self.text_rotate_degrees = 0
def create_text_img(self, key):
text = self.WHEEL_TEXT[key]
text_img = Image.new("RGBA", (self.font.getsize(text)[0],
self.font.getsize(text)[0]))
draw = ImageDraw.Draw(text_img)
draw.text((0, self.font.getsize(text)[0] / 2
- self.font.getsize(text)[1] / 2 -5),
text, (255, 255, 255), font = self.font)
self.properities["delete_tags"].append("text_img")
return text_img, "text_img", self.font.getsize(text)[0]
class Wheel_of_Fortune_Gui(tk.Canvas):
def __init__(self, root):
tk.Canvas.__init__(self, root, bg="lightblue")
self.wheel_of_fortune = Wheel_of_Fortune()
self.width, self.height = self.wheel_of_fortune.width,\
self.wheel_of_fortune.height
self.config(width=self.width, height=self.height)
for properities in self.wheel_of_fortune.properities["images"]:
pos, img, tag = properities
x, y = pos
self.create_image(x, y, image=img, tag=tag)
self.after_id = None
def start(self):
if self.after_id is None:
self.run()
def run(self):
self.wheel_of_fortune.set_positions()
self.delete(self.wheel_of_fortune.properities["delete_tags"])
for properities in self.wheel_of_fortune.properities["images"]:
pos, img, tag = properities
x, y = pos
self.create_image(x, y, image=img, tag=tag)
if self.wheel_of_fortune.properities["run"]:
self.after_id = self.after(self.wheel_of_fortune.properities[
"speed"], self.run)
else:
self.after_cancel(self.after_id)
self.after_id = None
def main():
root = tk.Tk()
root.title('WHEEL OF FORTUNE')
wheel_of_fortune_gui = Wheel_of_Fortune_Gui(root)
wheel_of_fortune_gui.pack()
tk.Button(root, text='Start', command=wheel_of_fortune_gui.start
).pack()
root.mainloop()
if __name__ == '__main__':
main()[/code]
Gruß Frank