![]() |
Strichmenchen soll laufen
Liste der Anhänge anzeigen (Anzahl: 1)
Nabend,
ich habe ![]() Heute habe ich versucht ein Strichmenchen zu programmieren das läuft, jedoch habe ich schon Probleme mit dem Strich (vom Kopf nach unten). Immer wen sich das dingen bewegen soll dreht sich der Strich mit ! Ich habe es dann mit dem Befehl "break" versucht doch dann wollte nicht mal der Kopf seine Position ändern ! Ich habe dann dem Mittelstrich eine eigene Schleife verpasst, doch irgendwie wollte das nicht so richtig ! Kann mir einer den code für den Mittelstrich geben den ich bin echt am verzwefeln ! Was mache ich falsch ? Ich hänge vorsichthalber mSum an. Mein Code:
Delphi-Quellcode:
program Menchen;
uses mSum, Windows; var derBildschirm : Bildschirm; meinStift : Stift; meineMaus : Maus; Koordinaten : Integer; begin derBildschirm := Bildschirm.init; meinStift := Stift.init; meineMaus := Maus.init; for Koordinaten:= 200 to 300 do begin with meinstift do begin hoch; bewegeBis(Koordinaten,400); runter; zeichneKreis(25); hoch; bewegeBis(Koordinaten,425); dreheUm(-90); runter; bewegeUm(75); warte(10); repeat until meineMaus.istGedrueckt; with derBildschirm do begin loescheAlles; end; end; end; meinStift.gibFrei; derBildschirm.gibFrei; meineMaus.gibFrei; end. |
Re: Strichmenchen soll laufen
Zitat:
...:cat:... |
Re: Strichmenchen soll laufen
Zitat:
Er wollte ein Auto fahren lassen und bei mir hats nicht funktioniert ! Man ich habe mich schon so gefreut als ich gesehen habe das einer auf meinen Thread geantwortet hat.. :( Falls mir hier niemand hilft muss ich mich wohl auf meinen blöden Lehrer verlassen :cry: |
Re: Strichmenchen soll laufen
Warum willst du dir das leben so umständlich machen?
Ich verstehs immer noch nicht, so schwer ist eine Grafikapi doch auch nicht! Edit: Zudem ich mal zu deinem bisherigen Programmcode nicht soviel sagen möchte! |
Re: Strichmenchen soll laufen
Zitat:
Unseren konnte ich davon überzeugen das ganze ohne Mausmalen zu machen. --- @Maxxer: Korrigiere mich, wenn ich falsch liege, aber irgendwie sieht mir das ganze doch zimlich nach ner Hausaufgebe aus. |
Re: Strichmenchen soll laufen
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Maxxer,
das mit dem drehen ist so eine Sache, die Unit mSum ist daran schult das es nicht klappt. Wenn du in einer For- Schleife einen Winkel mit zB. dreheUm(15) angibst:
Delphi-Quellcode:
so ist dann das Ergebnis:
for Wert := 1 to 3 do
begin dreheUm(15); end;
Code:
leider fehlt in der Unit mSum eine Funktion um den Drehwinkel wieder zurückzusetzen. zB. so:
Winkel = 15
Winkel = 15+15 Winkel = 15+15+15
Delphi-Quellcode:
das Ergebnis wäre dann so:
for Wert := 1 to 3 do
begin dreheUm(15); DrehWinkelZuruecksetzen; // Winkel auf 0° zurücksetzen dreheUm(15); dreheUm(15); end;
Code:
Ich habe Dir das mal anhand deines Auto Beispieles verdeutlicht. Nun rotiert die Carrosserie nicht mehr.
Winkel = 15
Winkel = 0 Winkel = 15 Winkel = 15+15 ... Wenn Du ernsthaft (oder als Hobby) programmieren willst solltest du dir die Grundlagen zu Delphi ansehen ![]() PS.: bezeichne bitte nicht deinen lehrer als dumm denn der hat seinen lehrstoff und nicht immer den absoluten durchblick es sei denn er heisst ulrich borghoff denn der hat die unit msum geschrieben :wink: MfG. |
Re: Strichmenchen soll laufen
Moin moin,
Zitat:
da mit
Delphi-Quellcode:
der Winkel zurückgesetzt wird...
//..
dreheUm(15); // zurücksetzen dreheUm(-15); //.. |
Re: Strichmenchen soll laufen
Zitat:
Hausaufgaben ? Ne, ich bin erst in der 11 und programmiere erst mit Delphi erst seit ein paar wochen ! Mir war halt langweilig und ich wollte auch schon etwas mehr können als die anderen bei mir im Kurs ! Zitat:
dann heist es so viel für mich wie "ich kann alles !". Beispiel: wir sollten ein Briefumschlag Programmieren, dann ein Haus. 2 Stunden später hat er uns erst dann die Befehle dafür erklärt, was sagst du nun ? Muss er nicht zuerst die Befehle erklären und dann sollten wir Programmieren, so ist es doch viel logischer, oder nicht ?! PS: danke für das Auto ! |
Re: Strichmenchen soll laufen
Zitat:
Zitat:
|
Re: Strichmenchen soll laufen
Zitat:
Ein setzen der Koordinaten des Stiften ist ja auch vorhanden mit bewegeBis(PosX, PosY), nur das zurücksetzen des Winkels fehlt und es gibt keine Möglichkeit diesen auf Null zu setzen. Da es sich um eine "MiniProgrammierSprache" handelt sollte so ein Befehl nicht fehlen. @Maxxer ich hoffe du has verstanden warum im Autobeispiel zwei Stifte verwendet werden, leider habe ich vergessen die Procedure AutoBody zu entfernen. (hatte dei falsche Datei in das Zip-File gepackt) Die Procedure macht nichts anderes als das Codestückchen aus dem Haupttei "auszulagern" so sollte es "normal" aussehen:
Code:
Bei deinem Strichmänchen handelt es sich um ein ähnliches Problem, du musst auch hier zwei Stifte verwenden. einen für den Körper und einen (oder auch zwei) für die Beine damit sich der Körper bei den Beinanimationen nicht mitdreht.
[b]begin[/b]
[color=#0000A0]//Initialisierung[/color] meinBildschirm := Bildschirm.init; meinBuntstift := Buntstift.init; meinBuntstift2 := Buntstift.init; meineMaus := Maus.init; [color=#0000A0]//AutoBody[/color] [b]for [/b]Koordinaten := 250 [b]to[/b] 600 [b]do[/b] [b]begin[/b] [b]with [/b]meinBuntstift2 [b]do[/b] [b]begin[/b] [color=#0000A0]// Auto[/color] DrehWinkelZuruecksetzen; [color=#0000A0]// * neu * //[/color] hoch; bewegeBis(Koordinaten - 200, 550); runter; bewegeUm(600); dreheUm(90); [color=red][b]...[/b][/color] bewegeUm(125); dreheUm(90); bewegeUm(75); [b]end[/b]; [color=#0000A0]//Aktionsteil[/color] [b]with [/b]meinBuntstift [b]do[/b] [b]begin[/b] [color=#0000A0]// Räder[/color] [color=red][b]...[/b][/color] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 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