Hi,
wir haben in der Schule mit Delphi angefangen und sollen nun ein Programm schreiben, dass das Haus vom Nikolaus zeichnet.
So weit so gut:
http://img155.imageshack.us/img155/8265/hvnsf8.jpg
Nun gibt man die X- und Y-Koordinate an, wo angefangen werden soll das Haus zu zeichen.
Dann klickt man auf Start, und durch Klick auf diesen Button wird folgender Quellcode ausgeführt:
Delphi-Quellcode:
Zahl1:=StrToFloat(Edit1.Text); //Variablen für Haus-Start-Koordinaten umwandeln:
Zahl2:=StrToFloat(Edit2.Text); //String To Float konvertieren (damit Quellcode Variable lesen kann)
meinStift.bewegeBis(Zahl1,Zahl2); //Koordinaten wo das Haus stehen soll
meineUhr.warte(500);
meinStift.runter;
meinStift.dreheUm(135);
meinStift.bewegeUm(280); //erste Linie unten Rechts-->oben links
meineUhr.warte(500);
meinStift.dreheUm(225);
meinStift.bewegeUm(200); //zweite Linie oben links-->oben rechts
meineUhr.warte(500);
meinStift.dreheUm(225);
meinStift.bewegeUm(280); //dritte Linkie oben rechts-->unten links
meineUhr.warte(500);
meinStift.dreheUm(135);
meinStift.bewegeUm(200); //vierte Linie unten links-->unten rechts
meineUhr.warte(500);
meinStift.dreheUm(90);
meinStift.bewegeUm(200); //fünfte Linie unten rechts-->oben rechts
meineUhr.warte(500);
meinStift.dreheUm(45);
meinStift.bewegeUm(140); //sechste Linie oben rechts-->Dach
meineUhr.warte(500);
meinStift.dreheUm(90);
meinStift.bewegeUm(140); //siebte Linie Dach-->oben links
meineUhr.warte(500);
meinStift.dreheUm(45);
meinStift.bewegeUm(200); //achte Linie oben links-->unten Links
meineUhr.warte(2000);
//Radiervorgang
derBildschirm.loescheAlles;
Klassen:
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, mSum,mUhr, StdCtrls, ActnList;
Variablen:
Delphi-Quellcode:
var
Form1: TForm1;
Zahl1, Zahl2 : real;
derBildschirm : Bildschirm; //verschiedene Objekte aufführen
dieMaus : Maus;
dieTastatur : Tastatur;
meinStift : Stift;
meineUhr : Uhr;
Schleifen : integer;
Nun ist unsere Aufgabe, mit Hilfe einer "For"-Schleife das Haus an mehreren verschiedenen Stellen zeichnen zu lassen.
Es mehrmals zeichnen zu lassen ist kein Problem - aber wie das verschieben funktionieren soll leuchtet mir nicht so ganz ein; das Programm zeichnet nun ein mal ganz normal das Haus vom Nikolaus, aber dann beim zweiten mal ist es nicht großartig verschoben, sondern steht auf dem Kopf oder liegt auf der Seite. Zudem ist immer eine überflüssige Linie vorhanden.
Hier eine Skizze wie das ganze dann aussieht:
(die Skizze habe ich mit Paint gemacht, da ich von dem laufenden Programm keinen Screen machen kann, der das Haus zeigt O.o)
http://img220.imageshack.us/img220/7659/hvn2dd6.jpg
Wo liegt der Fehler..?