verdammt, ich kapier es einfach nicht

Fragen zu Tkinter.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

birkenfeld hat geschrieben:Leute, vergesst nicht dass die Standardlib hauptsächlich in Form von .py-Dateien vorliegt...
Ja, stimmt schon. Vielleicht geht ihr "Profis" da auch anders ran. Ich lese lieber zunächst mal Dokumentation und nur wenn ich da nicht weiterkomme, wage ich mich an die Module selbst heran.

In diesem Fall ist es ja so, dass die inoffiziellen Tkinter-Referenzen übereinstimmend etwas beschreiben, was offenbar so nicht stimmt. Dass etwas nicht stimmt, merkt man aber erst, wenn man es braucht und bisher habe ich noch nie bbox() auf ein ganzes Canvas anwenden müssen.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo derkai

Habe eine Frage zur Spielkarten-Erstellung (Map). Wie werden die grafischen Terrain-Symbole den einzelne Hexagonfeldern zugeordnet (z.B. 'Gras', 'leichtes Waldgebiet', 'Wüste' usw.). Wird dies zufällig geschehen (mit einem Random-Generator) oder wird die Karte mittels einem hierfür programmierten Editor (natürlich in Tkinter & Python) erfolgen?

Gruss wuf :wink:
Take it easy Mates!
derkai
User
Beiträge: 169
Registriert: Montag 12. Mai 2008, 11:43

sorry, dass ich mich erst jetzt wieder melde -
ich hatte ein wenig wenig Zeit.

Bislang waren die Felder zufällig entstanden, allerdings
hatte auch ich schon die Idee, dass man dies ja sogar besser
in Form eines Editors machen könnte.

Ich werde aber zunächst noch versuchen den bisher geschriebenen
Code in die GUI mit einzubinden - rein um wieder etwas zu üben.
Dies betrifft vor allem die Bewegung eines "Bild - Panzers" (oder besser
gesagt von 6 Bild Panzern - für jede Ausrichtung einen) in das Spielfeld
mit ein zu beziehen.

Wenn mir das gelungen ist, dann könnte ich den "linken" Teil der GUI
weiter verwenden und auf dem rechten entsprechende Fenster schaffen,
die die Eigemschaften eines Feldes verändern können.

So als Zufallsprinzip machen die nicht unbedingt immer Sinn.

Weit aus schwieriger wird es allerdings, dass Endziel der Karte
zu verwirklichen. Es soll verschiedne Höehen Level geben.
Dafür muss aber später seitens der Logik eine Entscheidung getroffen
werden, ob die "Gegner" sich überhaupt sehen können.

Kai
imac
20 Zoll
2,4 ghz
derkai
User
Beiträge: 169
Registriert: Montag 12. Mai 2008, 11:43

bisher lief es so :

Code: Alles auswählen

# -*- coding: utf-8 -*-
""" Modul zur Berechnung von Hexfeldobjekten"""

from math import sqrt, hypot
from random import choice


laenge = 25.0
spielreihen = 57
ungerade_spalten = 19
gerade_spalten = ungerade_spalten - 1
farbe = ("#F6C783",)*15+ ("#18C85A","#A0A6F5")
#         braun            gruen     blau

hexdic = {}     # Dictionary (x,y) : x1,y1 ... x6,y6
nachbardic = {} # Dictionary Nachbarfelder
minidic = {}    # Dictionary Miniansicht



""" Funktion zur Berechnung der X,Y Koordinaten """
def berechne_felder (xpos, ypos) :

    x1 = xpos
    y1 = ypos
    x2 = x1 + laenge
    y2 = y1
    x3 = x2 + (laenge/2.0)
    y3 = y2 + ((laenge * sqrt(3.0)/2.0))
    x4 = x2
    y4 = (sqrt(3.0) * laenge) + y2
    x5 = x1
    y5 = y4
    x6 = x1 - (laenge / 2.0)
    y6 = y3
    mittex = round((x1 + laenge /2.0),2)
    mittey = round ((y3),2)
    mitte  = (mittex, mittey)
    level = choice(farbe)
    
    return (x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6),mitte,level
imac
20 Zoll
2,4 ghz
Antworten