AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Anfänger-Problem mit "For"-Schleife

Ein Thema von DJA · begonnen am 6. Nov 2007 · letzter Beitrag vom 6. Nov 2007
 
DJA

Registriert seit: 1. Nov 2007
12 Beiträge
 
#1

Anfänger-Problem mit "For"-Schleife

  Alt 6. Nov 2007, 17:55
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..?
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz