Lösung Tutorial

Verschiedenes zu Qt
Antworten
Ivanhoe
Beiträge: 6
Registriert: 9. August 2008 15:28

Lösung Tutorial

Beitrag von Ivanhoe »

Hallo,

ich fange gerade mit Qt an und arbeite zu diesem Zweck das Tutorial von Trolltech durch. Zu jedem Teil des Tuts gibts am Ende ja meist ein paar Aufgaben und für eben diese Aufgaben hätte ich gern gewusst ob es irgendwo ne Musterlösung dazu gibt. Einerseits möchte ich wissen ob ich, wenn ich die Aufgabe gelöst habe, den "besten" weg gefunden habe und andererseits beiße ich mir grad die zähne an einer Aufgabe aus und brauch einfach mal einen Gedankenanstoß.

Danke schonmal.

Bye
Ivanhoe
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Musterlösungen sind mir nicht bekannt. Jeder hat seinen eigenen Programmierstil und da würde das auch nichts bringen.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ich würde sagen: Wenn's geht, dann geht's, ansonsten hier fragen...
Ivanhoe
Beiträge: 6
Registriert: 9. August 2008 15:28

Beitrag von Ivanhoe »

Hmm, okay dann will ich hier gleich mal fragen. Vielleicht nutzt der Thread ja dann auch anderen Anfängern was, die das Tutorial durcharbeiten.

#Problem<Chapter 11>

Im 11. Kapitel wird die Aufgabe gestellt: "Change the color of the cannon when a shot is in the air."

Mein bisheriger Versuch die Aufgabe zu lösen bestand darin in die Funktion CannonField::shoot() eine boolsche Variable einzubauen die Auskunft darüber geben soll ob gerade ein Schuss unterwegs ist. Es stand ja im Tut "This function shoots a shot unless a shot is in the air.", also dachte ich es wäre der richtige Ort für meine boolsche Variable. Also habe ich den Code wie folgt erweitert:

Code: Alles auswählen

void CannonField::shoot()
 {
     if (autoShootTimer->isActive())
     {
         shotInTheAir = false;
         return;
      }
     else shotInTheAir = true;
     timerCount = 0;
     shootAngle = currentAngle;
     shootForce = currentForce;
     autoShootTimer->start(5);
 }
Abhängig von 'shotInTheAir' wollte ich dann in CannonField::paintCannon die Brush-Farbe ändern.

Leider führt das nicht zum gewünschten Ergebnis, die Kanone ändert zwar ihre Farbe einmal, aber nur bei Betätigung der Angle oder Force Regler und da auch nicht immer.

Wäre nett wenn jemand einen Hinweis für mich hat, wie ich da weiter komme.

Bye
Ivanhoe
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zeichne die Kanone in einer anderen Farbe, wenn der Timer aktiv ist, bzw. wenn der Schuss gezeichnet wird...
Ivanhoe
Beiträge: 6
Registriert: 9. August 2008 15:28

Beitrag von Ivanhoe »

Oh mann, ich komm net drauf :oops: ... ist bestimmt irgendwas einfaches.
Ich werd mir das mal als UML-Klassendiagramme aufmalen, vll wirds mir dann klarer ... gibts eigentlich qt-spezifische UML-Notation oder zählt man da Signale und Slots einfach mit zu den "normalen" Methoden?
Antworten