Vielen Dank an alle, die mir so schnell geschrieben haben, vor allem an kaytec (er hatte zum Schluss die Zündene Idee
und: Wie bekomm ich das hin, dass der das unendlich oft hintereinander ausführt? Hab mich schon an der while-Schleife versucht, bin aber leider gescheitert...
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: cp1252 -*-
from Tkinter import *
from tkMessageBox import *
class Start:
def __init__(self):
g_1 = '#626262'
g_2 = '#e0e0e0'
r = 'red'
b = 'blue'
gr = 'green'
self.vorschau_liste = [5, 2, 6, 4, 9, 3, 1, 5, 5, 2, 8, 6, 6, 4, 7, 9, 4, 3, 4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6, 1, 4, 7, 5, 8, 6]
self.vorschau_index = 0
self.zeit = [1500, 1500, 1500, 1500, 1500, 1500, 1500, 0, 1500, 0, 1500, 0, 1500, 0, 1500, 0, 1500, 0, 1000, 0, 0, 1000, 0, 0, 1000, 0, 0, 1000, 0, 0, 1000, 1000, 1000, 1000, 1000, 1000]
self.aussenfarbe = [g_1, g_1, g_1, g_1, g_1, g_1, g_1, g_2, g_1, g_2, g_1, g_2, g_1, g_2, g_1, g_2, g_1, g_2, g_1, g_1, g_1, g_1, g_1, g_1, g_1, g_1, g_1, g_1, g_1, g_1, g_2, g_2, g_2, g_2, g_2, g_2]
self.fuellfarbe = [r, b, r, b, r, b, r, g_2 , b, g_2 ,r, g_2, b, g_2, r, g_2, b, g_2, gr, gr, gr, 'yellow', 'yellow', 'yellow', gr, gr, gr, b ,b ,b, g_2, g_2, g_2, g_2, g_2, g_2]
self.fenster=Tk()
self.fenster.title('Scharfenberger Tic Tac Toe')
self.fenster.geometry('232x106+100+100')
self.but_frame=Frame(self.fenster)
self.but_frame.pack(side='left', anchor=N, pady=11, padx=10)
self.but_start=Button(self.but_frame, text='Programm starten', command=self.starten, width=16)
self.but_start.pack()
self.but_anleitung=Button(self.but_frame, text='Anleitung', command=self.anleitung, width=16)
self.but_anleitung.pack(pady=6)
self.but_beenden=Button(self.but_frame, text='Programm beenden', command=self.beenden, width=16)
self.but_beenden.pack()
self.c_frame=Frame(self.fenster, width=120, height=120)
self.c_frame.pack(side='right', anchor=N, pady=6, padx=6)
self.canvas=Canvas(self.c_frame)
self.canvas.pack()
self.zeichne_spielfeld()
self.vorschau()
self.fenster.mainloop()
def position_auslesen(self,nr):
if nr == 7:
return [3,1]
else:
hilf = nr/4
return [hilf+1,nr%4+hilf]
def zeichne_quadrat(self,z,sp):
self.quadrat=self.canvas.create_rectangle(30*(sp-1)+2,30*(z-1)+2,30*(sp-1)+31,30*(z-1)+31, outline='#949494', fill='#e0e0e0')
def zeichne_kreis(self,nr,steinfarbe):
var=self.position_auslesen(nr)
self.kreis=self.canvas.create_oval(30*var[1]-24+1,30*var[0]-24,30*var[1]-3,30*var[0]-3, width=1, outline='#626262', fill=steinfarbe)
def loesche_kreis(self,nr):
var=self.position_auslesen(nr)
self.geloeschter_kreis=self.canvas.create_oval(30*var[1]-24+1,30*var[0]-24,30*var[1]-3,30*var[0]-3, width=1, outline='#e0e0e0', fill='#e0e0e0')
def zeichne_spielfeld(self):
for i in range(9):
if i == 6:
self.zeichne_quadrat(3,1)
else:
index = (i+1)/4
self.zeichne_quadrat(index+1,(i+1)%4+index)
def starten(self):
print 'Juhu'
def anleitung(self):
print 'Blubbl'
def beenden(self):
self.janein=askyesno('Wirklich beenden?', 'Möchten Sie das Programm wirklich beenden?')
if self.janein == 1:
self.fenster.destroy()
def vorschau(self):
if self.vorschau_index < 36:
var = self.position_auslesen(self.vorschau_liste[self.vorschau_index])
self.kreis=self.canvas.create_oval(30*var[1]-24+1,30
*var[0]-24,30*var[1] -3,30*var[0]-3, width=1,
outline=self.aussenfarbe[self.vorschau_index], fill=self.fuellfarbe[self.vorschau_index], tag="kreis")
self.vorschau_index += 1
self.canvas.after(self.zeit[self.vorschau_index], self.vorschau)
def main():
Start()
if __name__ == '__main__':
main()