![]() |
Jojo
Hi!
Ich probiere gerade ein Jojo zu programmieren. Der Code und das Objekt sehen so aus.
Delphi-Quellcode:
Und die Klasse Jojo
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.
Delphi-Quellcode:
Jetzt würde ich gerne wissen, wie ich es schaffe, dass das Jojo anhält und es wieder zurückläuft.
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. Außerdem würde ich gerne wissen, was der Befehl "vPosition" macht. Danke. |
Re: Jojo
????? was bitte ist die Klasse Buntstift *grübel*
poste doch bitte "richtigen" Delphi-Code... dann kann man es wenigstens nachvollziehen |
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? |
Re: Jojo
Zitat:
|
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. |
Re: Jojo
@bttb930, MarcoWarm: Zu mSum siehe
![]() Ich denke Mal, vPosition ist die vertikale Position (Y-Koordinate). |
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). |
Re: Jojo
Zitat:
|
Re: Jojo
Zitat:
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: |
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 02:42 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-2025 by Thomas Breitkreuz