Code: Alles auswählen
from Tkinter import *
import random
import thread
from time import *
import os
import time
class Spielfeld():
def spielfeld_erstellen(self):
self.frame_1 = Frame(self.fenster)
self.frame_1.pack(side="top", expand=1, fill="both")
self.pro_info = Label(self.frame_1)
self.pro_info['bg'] = "yellow"
self.pro_info['text'] = "Ein Labyrinth erstellen"
self.pro_info.pack(side="left", expand=1, fill="both")
self.hilfe = Button(self.frame_1)
self.hilfe['bg'] = "yellow"
self.hilfe['text'] = "Hilfe"
self.hilfe['command'] = self.showHelp
self.hilfe.pack(side="left",expand=1,fill="both")
self.frame_2 = Frame(self.fenster)
self.frame_2.pack(side="top", expand=1, fill="both")
self.zeichnen = Canvas(self.frame_2)
self.zeichnen['width'] = 500
self.zeichnen['height'] = 500
self.zeichnen['bg'] = "white"
self.zeichnen.pack(side="top", expand=1, fill="both")
self.frame_3 = Frame(self.fenster)
self.frame_3.pack(side="top", expand=1, fill="both")
self.laenge_text = Label(self.frame_3)
self.laenge_text['bg'] = "yellow"
self.laenge_text['text'] = "Länge"
self.laenge_text.pack(side="left",expand=1,fill="both")
self.laenge = Entry(self.frame_3)
self.laenge['bg'] = "yellow"
self.laenge['text'] = "Länge"
self.laenge.pack(side="left",expand=1,fill="both")
self.breite_text = Label(self.frame_3)
self.breite_text['bg'] = "yellow"
self.breite_text['text'] = "Breite"
self.breite_text.pack(side="left",expand=1,fill="both")
self.breite = Entry(self.frame_3)
self.breite['bg'] = "yellow"
self.breite['text'] = "Breite"
self.breite.pack(side="left",expand=1,fill="both")
self.stop_play = Button(self.frame_3)
self.stop_play['bg'] = "yellow"
self.stop_play['text'] = "Stop"
#self.hilfe['command'] = pass
self.stop_play.pack(side="left",expand=1,fill="both")
self.new = Button(self.frame_3)
self.new['bg'] = "yellow"
self.new['text'] = "Neu"
#self.hilfe['command'] = pass
self.new.pack(side="left",expand=1,fill="both")
self.save = Button(self.frame_3)
self.save['bg'] = "yellow"
self.save['text'] = "Speichern"
#self.hilfe['command'] = pass
self.save.pack(side="left",expand=1,fill="both")
waagerechtoben = self.zeichnen.create_line(450,70,30,70)
waagerechtunten = self.zeichnen.create_line(450,370,30,370)
senkrechtlinks = self.zeichnen.create_line(30,370,30,70)
senkrechtrechts = self.zeichnen.create_line(450,370,450,70)
def innenlinien_erstellen(self):
self.linien = []
x = 0
a = 30
b = 170
d = 170
while(x < 2):
y=0
while(y<4):
temp = self.zeichnen.create_line(a,b,a+105,d)
self.linien.append(temp)
a=a+105
y=y+1
a=30
b = b + 100
d = d + 100
x = x + 1
y = 0
z = 70
g = 135
d = 70
f = 135
while(y < 3):
x=0
while(x<3):
temp = self.zeichnen.create_line(g,z,f,z+100)
self.linien.append(temp)
z=z+100
x = x+1
z = 70
g = g + 105
f = f + 105
y = y + 1
def linien_loeschen(self):
zufallszahl1 = random.randint(1,12)
zahlen=[1,4,-1,-4]
zufallszahl2 = zufallszahl1+zahlen[random.randint(0,3)]
zufallszahl1 = random.randint(0,16)
while(zufallszahl1 > 0):
zufallszahl2 = random.randint(0,16)
self.zeichnen.delete(self.linien[zufallszahl2])
time.sleep(0.5)
zufallszahl1 = zufallszahl1 - 1
def showHelp(self):
# online hilfe datei lesen*
f = open(os.getcwd() + '/help.txt', 'r')
message = f.read()
f.close()
textliste = message.split('\n')
# im Fenster anzeigen
hilfe = Tk()
scrollbar = Scrollbar(hilfe)
scrollbar.pack(side="right", fill= "y")
meldung = Listbox(hilfe, yscrollcommand=scrollbar.set)
meldung['width'] = 62
meldung['height'] = 20
meldung['bg'] = "white"
meldung.pack(side="top", expand=1, fill="both")
scrollbar.config(command=meldung.yview)
i = 0
while ( i < len(textliste)):
meldung.inse
def __init__(self):
self.fenster = Tk()
self.spielfeld_erstellen()
self.innenlinien_erstellen()
self.linien_loeschen()
self.fenster.mainloop()
app = Spielfeld()
hey ich bins mal wieder...
1. das random.shuffle hatten wir noch nicht.. und ich hab versucht es einzubauen und es hat mich überfordert
2. steh ich vor vielen neuen problemen
zum beispiel wo muss ich das time.sleep einbauen, damit einzelnd angezeigt wird welche linie nach einander gelöscht wird?
oder muss ich das mit update() machen? das hab ich auf jedenfall nicht hingekriegt.. wäre nett wenn ihr mir das sagen könntet..
außerdem versteht ich nicht wie ich das speichern soll..
weil ein "pickle-modul" oder sowas hatten wir noch nicht..
wöre lieb wenn ihr näher darauf eingehen könntet..
liebe grüße und dank im vorraus