AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Strichmenchen soll laufen
Thema durchsuchen
Ansicht
Themen-Optionen

Strichmenchen soll laufen

Ein Thema von Maxxer · begonnen am 11. Sep 2005 · letzter Beitrag vom 13. Sep 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Maxxer
Maxxer

Registriert seit: 10. Sep 2005
Ort: Bottrop
11 Beiträge
 
Delphi 7 Personal
 
#1

Strichmenchen soll laufen

  Alt 11. Sep 2005, 17:56
Nabend,

ich habe hier ein problem geschildert(ganz unten), doch niemand antwortet !

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.
Angehängte Dateien
Dateityp: zip sumdelphi_945.zip (45,1 KB, 38x aufgerufen)
Vitalij
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Strichmenchen soll laufen

  Alt 11. Sep 2005, 19:31
Zitat von Maxxer:
ich habe hier ein problem geschildert(ganz unten), doch niemand antwortet
Ist ja auvh kein Wunder, weil: Neues Problem, neuer Thread

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Maxxer
Maxxer

Registriert seit: 10. Sep 2005
Ort: Bottrop
11 Beiträge
 
Delphi 7 Personal
 
#3

Re: Strichmenchen soll laufen

  Alt 11. Sep 2005, 20:04
Zitat von sakura:
Ist ja auvh kein Wunder, weil: Neues Problem, neuer Thread

......
Ja, aber dort ging es ja noch um das gleiche Thema !
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
Vitalij
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Strichmenchen soll laufen

  Alt 11. Sep 2005, 20:14
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!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Strichmenchen soll laufen

  Alt 11. Sep 2005, 20:44
Zitat von Speedmaster:
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!
So ähnlich sah der Quelltext vom Lehrer unseres Parallelkurses in Informatik auch aus.

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.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: Strichmenchen soll laufen

  Alt 11. Sep 2005, 22:48
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:
for Wert := 1 to 3 do
begin
  dreheUm(15);
end;
so ist dann das Ergebnis:
Code:
Winkel = 15
Winkel = 15+15
Winkel = 15+15+15
leider fehlt in der Unit mSum eine Funktion um den Drehwinkel wieder zurückzusetzen. zB. so:
Delphi-Quellcode:
for Wert := 1 to 3 do
begin
  dreheUm(15);
  DrehWinkelZuruecksetzen; // Winkel auf 0° zurücksetzen
  dreheUm(15);
  dreheUm(15);
end;
das Ergebnis wäre dann so:
Code:
Winkel = 15
Winkel = 0
Winkel = 15
Winkel = 15+15
...
Ich habe Dir das mal anhand deines Auto Beispieles verdeutlicht. Nun rotiert die Carrosserie nicht mehr.

Wenn Du ernsthaft (oder als Hobby) programmieren willst solltest du dir die Grundlagen zu Delphi ansehen Delphi für Anfänger?

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

MfG.
Angehängte Dateien
Dateityp: zip auto-mit-sumdelphi_338.zip (13,9 KB, 24x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Strichmenchen soll laufen

  Alt 12. Sep 2005, 00:15
Moin moin,
Zitat von turboPASCAL:
leider fehlt in der Unit mSum eine Funktion um den Drehwinkel wieder zurückzusetzen.
Einspruch, da funktion nicht nötig wäre,
da mit
Delphi-Quellcode:
//..
  dreheUm(15);
  // zurücksetzen
  dreheUm(-15);
//..
der Winkel zurückgesetzt wird...
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
Benutzerbild von Maxxer
Maxxer

Registriert seit: 10. Sep 2005
Ort: Bottrop
11 Beiträge
 
Delphi 7 Personal
 
#8

Re: Strichmenchen soll laufen

  Alt 12. Sep 2005, 08:45
Zitat von Hador:
@Maxxer: Korrigiere mich, wenn ich falsch liege, aber irgendwie sieht mir das ganze doch zimlich nach ner Hausaufgebe aus.
Wir haben Wochenende, da gehe ich nicht in die Schule !
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 von turboPascal:
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 "
Sry, aber wen er sagt er haben an dem Design für den neuen Airbus mitgearbeitet und dann noch was für Chrysler,
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 !
Vitalij
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Strichmenchen soll laufen

  Alt 12. Sep 2005, 08:55
Zitat von Maxxer:
Hausaufgaben ? Ne, ich bin erst in der 11 und programmiere erst mit Delphi erst
seit ein paar wochen !
Dann würde ich aber an deiner Stelle dein Geburtsdatum im Profil etwas aktualisieren
Zitat von Maxxer:
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 ?!
Nö, genauso läuft es in der Uni auch desöfteren. Erstmal soll versucht werden, es mit eigenen Mitteln und selbständig zu lösen, und erst dann werden einem die Mittel an die Hand gegeben, mit denen man es evtl einfacher und besser lösen kann. Wenn dir zuerst alle benötigten Befehle vorgeworfen werden, lernst du eher weniger, als wenn du dir das ganze erst ergründne mußt.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Strichmenchen soll laufen

  Alt 12. Sep 2005, 09:46
Zitat von x000x:
Einspruch, da funktion nicht nötig wäre, da mit
Delphi-Quellcode:
//..
  dreheUm(15);
  // zurücksetzen
  dreheUm(-15);
//..
der Winkel zurückgesetzt wird...
Naja, wenn du 35 mal die Drehrichtung änderst dann musst du alle 35 Anweisungen dreheUm(Winkel) wieder zurücksetzen ... ein Summieren der Winkel führt zu einem falschem Winkel... Bei grösseren Zeichenaktionen wird man da schnell an einen Punkt kommen wo man das ganze verflucht...

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:
[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]
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.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 09:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz