Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Jojo (https://www.delphipraxis.net/55154-jojo.html)

Sierra 17. Okt 2005 13:52


Jojo
 
Hi!
Ich probiere gerade ein Jojo zu programmieren.
Der Code und das Objekt sehen so aus.

Delphi-Quellcode:
program pJojo;

uses
  mSuM,
  mJojo in 'mJojo.pas';

var hatBildschirm: Bildschirm;
    hatMaus: Maus;
    hatJojo1,
    hatJojo2,
    hatJojo3: Jojo;

begin
hatBildschirm:=Bildschirm.init;
hatMaus:=Maus.init;
hatJojo1:=Jojo.init(100,300);
hatJojo2:=Jojo.init(200,200);
hatJojo3:=Jojo.init(300,250);

repeat
hatjojo1.zeichne;
hatjojo2.zeichne;
hatjojo3.zeichne;
hatjojo1.loesche;
hatjojo2.loesche;
hatjojo3.loesche;
hatjojo1.bewege;
hatjojo2.bewege;
hatjojo3.bewege;

until hatMaus.doppelklick;

hatJojo1.gibFrei;
hatJojo2.gibFrei;
hatJojo3.gibFrei;
hatMaus.gibFrei;
hatBildschirm.gibFrei;
end.
Und die Klasse Jojo

Delphi-Quellcode:
unit mJojo;

interface
uses mSuM;

type
Jojo = class
        zXPos,zYPos: integer;
        zRadius, zLaenge: integer;
        zFaden,zDy:real;
        hatStift: Buntstift;
        constructor init(pXPos,pLaenge:integer);
        procedure zeichne;
        procedure loesche;
        procedure bewege;
        destructor gibFrei;
        end;

implementation

constructor Jojo.init(pXPos,pLaenge:integer);
begin
zXPos:=pXPos; zYPos:=0; zLaenge:=pLaenge; zRadius:=20;
hatStift:=Buntstift.init;
hatStift.setzeFuellMuster(GEFUELLT);
hatStift.setzeLinienBreite(2);
hatStift.dreheBis(-90);
zFaden:=zRadius;
zDy:=1;
hatStift.bewegeBis(zXPos,zYPos);
hatStift.runter;
end;

procedure Jojo.zeichne;
begin
hatStift.bewegeBis(zXPos,zYPos);
hatStift.bewegeUm(zFaden);
hatStift.zeichneKreis(zRadius);
end;

procedure Jojo.loesche;
begin
hatStift.radiere;
hatStift.bewegeBis(zXPos,zYPos);
hatStift.bewegeUm(zFaden);
hatStift.zeichneKreis(zRadius);
hatStift.normal;
end;

procedure Jojo.bewege;
begin
hatStift.bewegeUm(zDy);
zFaden:=hatStift.vPosition;
end;


destructor Jojo.gibFrei;
begin
hatStift.gibFrei;
end;

end.
Jetzt würde ich gerne wissen, wie ich es schaffe, dass das Jojo anhält und es wieder zurückläuft.
Außerdem würde ich gerne wissen, was der Befehl "vPosition" macht.

Danke.

MarcoWarm 17. Okt 2005 14:01

Re: Jojo
 
????? was bitte ist die Klasse Buntstift *grübel*

poste doch bitte "richtigen" Delphi-Code... dann kann man es wenigstens nachvollziehen

bttb930 17. Okt 2005 14:01

Re: Jojo
 
Versteh ich das richtig: Du hast das selbst programmiert und fragst UNS was der Befehl vPosition macht?

Oder sollen wir lediglich Deine Hausaufgaben lösen?

MarcoWarm 17. Okt 2005 14:02

Re: Jojo
 
Zitat:

Zitat von bttb930
Oder sollen wir lediglich Deine Hausaufgaben lösen?

So sieht mir das auch aus *lach*

Sierra 17. Okt 2005 14:06

Re: Jojo
 
Nein, das sind keine Hausaufgaben.
Wir haben einen halb fertigen Code im Unterricht bekommen und sollten den dann vervollständigen.
So und vPosition war nunmal schon drin.
Das Einzigste, was ich weiß ist, dass wenn ich vPosition ausklammere, läuft das Jojo auch nicht mehr runter.

Flocke 17. Okt 2005 14:11

Re: Jojo
 
@bttb930, MarcoWarm: Zu mSum siehe hier.

Ich denke Mal, vPosition ist die vertikale Position (Y-Koordinate).

DGL-luke 17. Okt 2005 14:13

Re: Jojo
 
buntstift scheint teil einer TCanvas-Kapselung mit deutschen Befehlen zu sein.

du musst einfach ab einem bestimmten Positionswert langsamer werden(position langsamer nach unten setzen) und dann wieder zurück nach oben kommen lassen(position nach oben setzen).

faux 17. Okt 2005 14:14

Re: Jojo
 
Zitat:

Zitat von Sierra
Nein, das sind keine Hausaufgaben.
Wir haben einen halb fertigen Code im Unterricht bekommen und sollten den dann vervollständigen.

Die zwei Zeilen wiedersprechen sich irgendwie... :roll:

himitsu 17. Okt 2005 14:14

Re: Jojo
 
Zitat:

Zitat von Sierra
Nein, das sind keine Hausaufgaben.
Wir haben einen halb fertigen Code im Unterricht bekommen und sollten den dann vervollständigen.

Also doch 'ne Art Hausaufgaben

Witzig sind ja die Klassen/Funktionen hatBildschirm(Bildschirm) und hatMaus(Maus) ... fragt mich blos nicht, was das ist :roll:
[add]
OK, DGL-luke's Antwort könnte dafür 'ne Erklärung sein :stupid:
[/add]

Und wenn ihr den Code vervollständigen solt, dann wird man euch doch etwas zu diesem Code gesagt haben.
Ich denke mal nicht, daß man euch einfach so irgendwas in die Han drückt und dann nur noch sagt "macht mal"...



[add]
ach ja ... auch hier fehlten mal wieder die beiden Vorschau- und Absenden-Button :wall:

MarcoWarm 17. Okt 2005 14:16

Re: Jojo
 
@Flocke: thx... sowas, was es nich alles gibt....
@Sierra: sorry daß ich das nich ernst genommen hab...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 Uhr.
Seite 1 von 2  1 2   

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