vorweg muss ich gestehen das ich python neuling bin.
aber ich hab schon in so ziehmlich allen anderen sprachen gearbeitet.
nun zum thema:
ich habe mit Tkinter ein kleines ( noch sehr sinnloses ) prog gebaut.
dieses soll später ein pathfinder nach dem A*-Algorithmus werden.
es soll dann durch eine landschaft aus wald und wasser den richtigen
weg finden. um zu überprüfen ob mein script effizient arbeitet möchte ich,
wären der pfad feld für feld ( oder pixel für pixel ) gesucht wird , die
entwicklung verfolgen können...
nun hab ich einfach mal um das zu testen einen button gebaut der eine
funktion aufruft in der zwei for anweisungen verschachtelt sind.
( die printanweisung ist nur ne spielerei für die sprachausgabe )
Code: Alles auswählen
def set_point( x , y ):
bild.put('#0000ff', (x, y) )
return TRUE
def karte():
print "Map created!"
for i in range(500) :
for j in range(500) :
set_point( i , j)
mit der farbe füllt und dann auf einen schlag auf dem bildschirm
ausgiebt... ich bräuchte aber soetwas wie einen 'zeilenweise' aufbauen
der felder ( pixel nach pixel ) ....
geht so etwas ?
muss ich dafür ein anderes modul verwenden ?
ich hänge nochmal den gesamten code an.
vielen dank schonmal
kai
Code: Alles auswählen
#python
import sys
class Sprachausgabe (object):
def __init__(self):
from win32com.client import constants
import win32com.client
self.speaker = win32com.client.Dispatch("SAPI.SpVoice")
self.stdout = sys.stdout
def write(self, text):
self.stdout.write(text)
self.speaker.Speak(text)
sprachausgabe=Sprachausgabe()
sys.stdout=sprachausgabe
def set_point( xi , yi ):
bild.put('#0754EC', (xi , yi) )
return TRUE
def karte():
print "Map created!"
for i in range(500) :
for j in range(500) :
set_point( i , j)
def path():
print "Path found!"
from Tkinter import *
fenster = Tk()
fenster.title('Pathfinder')
fenster.minsize( width='850' , height='650')
bild = PhotoImage(width=500 , height=500)
bildflaeche = Label( master=fenster , image=bild )
bildflaeche.pack()
fenster.von = Entry(master=fenster , width=10 )
fenster.von.pack(padx=1, pady=1, anchor=N,side=LEFT)
fenster.nach = Entry(master=fenster , width=10)
fenster.nach.pack(padx=1, pady=1, anchor=N,side=LEFT)
fenster.button = Button(master=fenster , text='Karte' , command=karte , width=10)
fenster.button.pack( anchor=N,side=LEFT )
fenster.button2 = Button(master=fenster , text='Path' , command=path , width=10)
fenster.button2.pack( anchor=NW,side=LEFT )
fenster.mainloop()