diff --git a/ConcentrationGameV1.py b/ConcentrationGameV1.py new file mode 100644 index 0000000..dd8a91e --- /dev/null +++ b/ConcentrationGameV1.py @@ -0,0 +1,81 @@ +import tkinter as tk +from tkinter import messagebox +import random +import time + +class ShapeGame: + def __init__(self): + self.root = tk.Tk() + self.root.title("Konzentration v1") + + self.shapes = ["Rechteck", "Kreis", "Dreieck"] + self.display_shapes = ["Rechteck", "Kreis", "Dreieck", "Fünfeck", "Sechseck", "Stern"] + self.selected_shape = "" + self.displayed_shape = "" + self.correct_presses = 0 + self.incorrect_presses = 0 + self.count = 0 + + self.canvas = tk.Canvas(self.root, bg="white", width=500, height=400) + self.canvas.pack(pady=20) + + self.selection_buttons = [] + for shape in self.shapes: + btn = tk.Button(self.root, text=shape.capitalize(), command=lambda s=shape: self.Sternt_game(s)) + btn.pack(pady=10) + self.selection_buttons.append(btn) + + self.root.bind("", self.check_shape) + + def Sternt_game(self, shape): + for btn in self.selection_buttons: + btn.pack_forget() + + self.selected_shape = shape + self.show_random_shape() + + def show_random_shape(self): + self.canvas.delete("all") + + if self.count < 30: + while True: + next_shape = random.choice(self.display_shapes) + if next_shape != self.displayed_shape: + break + + self.displayed_shape = next_shape + + if self.displayed_shape == "Rechteck": + self.canvas.create_rectangle(150, 100, 350, 300, fill="blue") + elif self.displayed_shape == "Kreis": + self.canvas.create_oval(150, 100, 350, 300, fill="green") + elif self.displayed_shape == "Dreieck": + self.canvas.create_polygon(250, 100, 150, 300, 350, 300, fill="red") + elif self.displayed_shape == "Fünfeck": + self.canvas.create_polygon(250, 100, 150, 175, 200, 300, 300, 300, 350, 175, fill="yellow") + elif self.displayed_shape == "Sechseck": + self.canvas.create_polygon(250, 100, 150, 150, 150, 250, 250, 300, 350, 250, 350, 150, fill="purple") + elif self.displayed_shape == "Stern": + self.canvas.create_polygon(250, 100, 275, 200, 375, 200, 300, 250, 325, 350, 250, 275, 175, 350, 200, 250, 125, 200, 225, 200, fill="orange") + + self.count += 1 + self.root.after(3000, self.show_random_shape) + else: + self.end_game() + + + + def check_shape(self, event): + if self.displayed_shape == self.selected_shape: + self.correct_presses += 1 + else: + self.incorrect_presses += 1 + + def end_game(self): + result = f"Richtig ausgewählt: {self.correct_presses}\nFalsch ausgewählt: {self.incorrect_presses}" + messagebox.showinfo("Ergebnisse", result) + self.root.quit() + +if __name__ == "__main__": + game = ShapeGame() + game.root.mainloop()