![]() |
Re: Strichmenchen soll laufen
Zitat:
Zitat:
@turboPASCAL Danke das du mir mir erklärt hast wozu man mehrere Stifte braucht, den ich wöre einfach nicht draufgekommen ! Dein Auto ist cool ^^ ! Habe jetzt 2 Freistunden, vielleicht werd ich mir mal jetzt das ganze anschauen ! EDIT: Eine frage hätte ich noch, worin besteht der Uterschied zwischen "Stift" und "Buntstift" ? Kann der eine mehr als der andere ? Und wie kann ich einen Text schreiben ? Den ich schaffe es einfach nicht ! :( |
Re: Strichmenchen soll laufen
Zitat:
|
Re: Strichmenchen soll laufen
Hm...
Ich wollte gerade das Menchen machen, mit dem Befehl "DrehWinkelZuruecksetzen;" aber Delphi sagt Error !(Undeclared indentifier: 'DrehWinkelZuruecksetzen') Ich verstehe das nicht :( Aber der Befehl ist ja in dem Auto mit drin und da sagt Delphi nüx ! :gruebel:
Delphi-Quellcode:
for Koordinaten:= 200 to 300 do
begin // Mittelstrich with meinBuntstift2 do begin DrehWinkelZuruecksetzen; hoch; bewegeBis(Koordinaten,425); runter; dreheUm(-90); bewegeUm(75); with meinstift do begin // Kopf hoch; bewegeBis(Koordinaten,400); runter; zeichneKreis(25); warte(10); |
Re: Strichmenchen soll laufen
Das ist ja auch kein Befehl -.-
Man wollte dir nur zeigen wo der Fehler liegt und das es so eine procedure geben müsste damit es funktioniert ;) |
Re: Strichmenchen soll laufen
Zitat:
Gleich erstma wieder in die Schule (1std English) und dann werd ich mich mal damit etwas intensiver befassen. Ich hoffe das ich es dann hinbekomme :mrgreen: |
Re: Strichmenchen soll laufen
Moin moin,
Zitat:
Delphi-Quellcode:
setze ich den Winkel wieder auf 0 zurück, egal welchen Wert Winkel hat...
dreheUm(-winkel);
z.B.
Delphi-Quellcode:
macht genau das selbe wie dein DrehWinkelZuruecksetzen;
// ..
with meinBuntstift2 do begin // Auto //DrehWinkelZuruecksetzen; // * neu * // dreheUm(-Winkel); hoch; bewegeBis(Koordinaten - 200, 550); runter; // .. |
Re: Strichmenchen soll laufen
Zitat:
Delphi-Quellcode:
:gruebel: ...mach das doch bitte mal an hand dieses Beispieles: :wink:
procedure Stift.dreheUm(pWinkel: Zahl);
begin derTastaturpuffer.check; zWinkel:=zWinkel+pWinkel; repeat if zWinkel>=360 then zWinkel:=zWinkel-360; until zWinkel<360; end; [edit=turboPASCAL]Beispiel entfernt[/edit] |
Re: Strichmenchen soll laufen
Zitat:
Delphi-Quellcode:
Winkel ist eine funktion (aus der Klasse Stift, haste vll. übersehen?), die mir den aktuellen Wert von zWinkel zurückliefert.
program Test_;
// .. //Initialisierung myBildschirm := Bildschirm.init; myStift := Stift.init; for x := 250 to 600 do begin with myStift do begin // // Neu ;-) dreheUm(-Winkel); // .. Wenn ich den Wert negiere, bekomme ich immer den aktuellen Wert von zWinkel mit entgegengesetztem Vorzeichen. z.B.: angenommen: zWinkel := -90 dann gibt mir die funktion -Winkel = --90 zurück (oder auch gleich 90) und -90 + 90 = 0 Kann es leider nicht besser erklären, aber probier es aus... |
Re: Strichmenchen soll laufen
Zitat:
Zitat:
Zitat:
Delphi-Quellcode:
dreheUm(-Winkel); // = DrehWinkelZuruecksetzen
|
Re: Strichmenchen soll laufen
Also, wen ich es richtig verstande habe,
muss ich immer den Winkel rurücksetzen [z.B.dreheUm(-90);] !? Aber wen ich vorhabe etwas größeres mit vielen Linien zu zeichnen, wie sieht es da aus ? Muss ich da auch immer dann den Winkel zurücksetzen ? Beim Strichmenchen wars ja nicht so viel
Delphi-Quellcode:
program Menchen;
uses mSum, Windows; var derBildschirm : Bildschirm; meinStift : Stift; meinBuntstift8 : Buntstift; meinBuntstift7 : Buntstift; meinBuntstift6 : Buntstift; meinBuntstift5 : Buntstift; meinBuntstift4 : Buntstift; meinBuntstift3 : Buntstift; meinBuntstift2 : Buntstift; meinBuntstift : Buntstift; meineMaus : Maus; Koordinaten : Integer; procedure Mittelstrich(Koordinaten: Integer); begin with meinBuntstift do begin hoch; bewegeBis(Koordinaten,425); dreheUm(-90); runter; bewegeUm(75); dreheUm(90); end; end; procedure Beinlinks(Koordinaten: Integer); begin with meinBuntstift2 do begin hoch; bewegeBis(Koordinaten,500); dreheUm(-45); runter; bewegeUm(50); dreheUm(45); end; end; procedure Beinrechts(Koordinaten: Integer); begin with meinBuntstift3 do begin hoch; bewegeBis(Koordinaten,500); dreheUm(-135); runter; bewegeUm(50); dreheUm(135); end; end; procedure Armlinks(Koordinaten: Integer); begin with meinBuntstift4 do begin hoch; bewegeBis(Koordinaten,450); dreheUm(-135); runter; bewegeUm(40); dreheUm(135); end; end; procedure Armrechts(Koordinaten: Integer); begin with meinBuntstift5 do begin hoch; bewegeBis(Koordinaten,450); dreheUm(-45); runter; bewegeUm(40); dreheUm(45); end; end; procedure Augelinks(Koordinaten: Integer); begin with meinBuntstift6 do begin hoch; bewegeBis(Koordinaten-12.5,400); runter; zeichneKreis(4); end; end; procedure Augerechts(Koordinaten: Integer); begin with meinBuntstift7 do begin hoch; bewegeBis(Koordinaten+12.5,400); runter; zeichneKreis(4); end; end; procedure Mund(Koordinaten: Integer); begin with meinBuntstift8 do begin hoch; bewegeBis(Koordinaten-7,412); runter; bewegeUm(14); end; end; begin derBildschirm := Bildschirm.init; meinStift := Stift.init; meinBuntstift8 := Buntstift.init; meinBuntstift7 := Buntstift.init; meinBuntstift6 := Buntstift.init; meinBuntstift5 := Buntstift.init; meinBuntstift4 := Buntstift.init; meinBuntstift3 := Buntstift.init; meinBuntstift2 := Buntstift.init; meinBuntstift := Buntstift.init; meineMaus := Maus.init; for Koordinaten:= 200 to 400 do begin Mittelstrich(Koordinaten); Beinlinks(Koordinaten); Beinrechts(Koordinaten); Armlinks(Koordinaten); Armrechts(Koordinaten); Augelinks(Koordinaten); Augerechts(Koordinaten); Mund(Koordinaten); with meinstift do begin // Kopf hoch; bewegeBis(Koordinaten,400); runter; zeichneKreis(25); warte(10); repeat until meineMaus.istGedrueckt; with derBildschirm do begin loescheAlles; end; end; end; meinBuntstift5.gibFrei; meinBuntstift4.gibFrei; meinBuntstift3.gibFrei; meinBuntstift.gibFrei; meinBuntstift2.gibFrei; meinStift.gibFrei; derBildschirm.gibFrei; meineMaus.gibFrei; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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