AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi "Gorillas" programmieren
Thema durchsuchen
Ansicht
Themen-Optionen

"Gorillas" programmieren

Ein Thema von Matze · begonnen am 18. Jul 2003 · letzter Beitrag vom 30. Nov 2006
Antwort Antwort
Seite 2 von 2     12   
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: "Gorillas" programmieren

  Alt 10. Okt 2006, 22:45
@Cruso:
Zitat von Rotojoto:
Ich habe in etwa das gleiche Problem...
  Mit Zitat antworten Zitat
cruso
(Gast)

n/a Beiträge
 
#12

Re: "Gorillas" programmieren

  Alt 10. Okt 2006, 22:48
Zitat von Cöster:
@Cruso:
Zitat von Rotojoto:
Ich habe in etwa das gleiche Problem...

Da könnte man sich jetzt streiten, ab wann es sich lohnt einen neuen Beitrag zu eröffnen.
  Mit Zitat antworten Zitat
Rotojoto

Registriert seit: 13. Feb 2006
Ort: Dessau
6 Beiträge
 
#13

Re: "Gorillas" programmieren

  Alt 17. Okt 2006, 09:47
Zitat von Cöster:
Die einzige physikalilsche Formel, die man braucht ist s=v*t - a*t²/2

in y-Richtung ist a die Erdbeschleunigung, also 9,81
in x-Richtung ist a die Windstärke.
s ist jeweils die zurückgelegte Strecke in die entsprechende Richtung (x oder y), v ist die Startgeschwindigkeit in x- bzw. y-Richtung und t ist die vergangene Zeit seit Abwurf der Banane.
[/delphi]
Also ansich versteh ich nich ganz wie du auf die Formel kommst...
das is doch ein schräger wurf und keine gleichförmige bewegung.
da haben wir, laut tafelwerk, ein formel für x und y richtung..
und dann noch eine für die geschwindigkeit, wobei wenn der wind mitberechnet wird, er entweder von der angegebenen geschwindigkeit dazuaddiert wird oder abgezogen wird.

und wie mach ich das mit der zeit? muss ich die durch nen timer mitlaufen lassen, der die ganze zeit mitzählt oder muss der bei jedem spieler wieder neu resettet werden?


mfg rotojoto
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: "Gorillas" programmieren

  Alt 17. Okt 2006, 15:03
Zitat von Rotojoto:
Zitat von Cöster:
Die einzige physikalilsche Formel, die man braucht ist s=v*t - a*t²/2

in y-Richtung ist a die Erdbeschleunigung, also 9,81
in x-Richtung ist a die Windstärke.
s ist jeweils die zurückgelegte Strecke in die entsprechende Richtung (x oder y), v ist die Startgeschwindigkeit in x- bzw. y-Richtung und t ist die vergangene Zeit seit Abwurf der Banane.
[/delphi]
Also ansich versteh ich nich ganz wie du auf die Formel kommst...
das is doch ein schräger wurf und keine gleichförmige bewegung.
da haben wir, laut tafelwerk, ein formel für x und y richtung..
und dann noch eine für die geschwindigkeit, wobei wenn der wind mitberechnet wird, er entweder von der angegebenen geschwindigkeit dazuaddiert wird oder abgezogen wird.
also in y-Richtung ist klar oder? s=v*t - g*t²/2
v*t ist die Strecke die zurückgelegt würde, wenn es keine Anziehungskraft gäbe. v ist die Startgeschwindigkeit in y-Richtung. g*t²/2 ist die Strecke, die durch die Erdanziehung nach unten zurückgelegt wird. Diese beiden Strecken müssen voneinander abgezogen werden, und man erhält somit, wenn man noch einrechnet, von wo die Banane abgeworfen wurde, die Y-Koordinate, nach der Zeit t.

Für x ist es eigentlich nichts anderes: Statt der Erdanziehung wirkt hier der Wind. Die Strecke ohne Wind wäre wieder v*t, wobei v jetzt x-Startgeschwindigkeit ist. Man kann sagen, dass die x-Geschwindigkeit durch den Wind konstant beschleunigt bzw. gebremst wird. a ist jetzt die Beschleunigung in x-Richtung. a*t²/2 muss man von v*t abziehen und man kriegt raus, wie weit sich die Banane rechts bzw. links nach der Zeit t vom Abwurfpunkt befindet.

Die Geschwindigkeiten musst du eigentlich gar nicht berechnen. Es interessiert ja nur, wo sich die Banane jetzt befindet.

Zitat von Rotojoto:
und wie mach ich das mit der zeit? muss ich die durch nen timer mitlaufen lassen, der die ganze zeit mitzählt oder muss der bei jedem spieler wieder neu resettet werden?
Ein Timer wäre schonmal nicht schlecht. Ich würde, sobald die Banane abgeworfen wird, GetTickCount unter einer Variablen (Start) speichern und den Timer (Schleife ginge auch) starten. Bei jedem Timeraufruf wird t durch GetTickCount - Start berechnet und an eine Funktion übergeben, die dir dann die aktuellen Bananenkoordinaten zurückgibt. Dort kannst du die Banane dann zeichnen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#15

Re: "Gorillas" programmieren

  Alt 6. Nov 2006, 12:37
Da es hier gerade mal wieder aktuell ist/war,
ich's grad mal wieder gesehn hab
und schon seit 'ner Weile das Spieleschreiben
anderen überlasse...

Hier mal was uraltes ... von Mitte 1999.

Es ist mal mit Delphi 4 angefangen wurden.


Die mittleren Level/Umgebungen (Landschaften) fuktionieren nicht mehr,

das Erste ist "nur" 'ne Portierung des Original nach Delphi

und das Letzte wurde auf Maussteuerung umgerüstet und etwas grapfisch überarbeitet .
Bei Doppelklick ins Bild wird da auch noch 'ne "kleine" Karte eingeblendet,
falls man mal wissen will wie die Banane fliegt, wenn sie nach oben raus ist.


Die originalen QBasic-Dateien sind auch mit bei,
und es gibt da jeweils 'ne geänderte Version dazu,
wo die für "aktuelle" Rechner völlig unzureichende
Geschwindigkeits- und Pausensteuerung überarbeitet wurde.


In der Registry wird da was gespeichert:
"HKEY_CURRENT_USER\Software\FNS Ent.\Gorilla tnG"


----------------------


Die Formeln für die Flugbahn findest du im Spiel.

und wie das mit dem Treffen eht ... im Original wird einfach die alte Banane gelöscht und dann an der Prosition der Neuen einige Pixel abgefragt.
Wenn diese Pixel nicht die Hintergrundfarbe haben, dann isses ein Treffer anhand der Farbe kann man dann erkenn was getroffen wurde (zusammen mit der Position der Banane und der Gorillas)
Angehängte Dateien
Dateityp: zip gorilla_exe_120.zip (674,4 KB, 47x aufgerufen)
Dateityp: zip gorilla_184.zip (2,04 MB, 25x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: "Gorillas" programmieren

  Alt 6. Nov 2006, 13:58
Wie zu guten alten DOS-Zeiten, schön. Macht wieder richtig Spaß.
  Mit Zitat antworten Zitat
Rotojoto

Registriert seit: 13. Feb 2006
Ort: Dessau
6 Beiträge
 
#17

Re: "Gorillas" programmieren

  Alt 7. Nov 2006, 09:42
die delphi 4 version is ja ganz schön, allerdings verstehe ich das prob mit der grafik nich wirklich.
also besser gesagt im allgemeinen wie die grafik da umgesetzt wir...vll. hat da ja jmd. nen vorschlag...


gruß, rotojoto
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#18

Re: "Gorillas" programmieren

  Alt 7. Nov 2006, 11:59
Also bei dem Programm da oben hab ich mir irgendeine Canvas besogt (weiß grad nicht mehr welche ..., aber vermutlich die von 'nem TImage) und dann da draufgemalt.
(im Unterverzeichnis Proc0 sind z.B. die Codes für die "Original-Version" meines Proggies, aber kopier nich gleich alles .... dieses Programm ist nich gerade gut Programmiert )

z.B.
Canvas.Pixels
Canvas.MoveTo, Canvas.LineTo
Canvas.Circle
Canvas.Rectangle
usw...

schau einfach mal in die OH ... unter TCanvas.


Soeine Zeichenoberfläche (TCanvas) gibt es "überall" ... TForm hat eine (z.B. Form1.Canvas) und dann gibt es auch noch die Kompnenten TPaintBox und TImage uvm.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Rotojoto

Registriert seit: 13. Feb 2006
Ort: Dessau
6 Beiträge
 
#19

Re: "Gorillas" programmieren

  Alt 29. Nov 2006, 18:06
hi..
also nach laengerer zeit melde ich mich mal wieder...und zwar hab ich das jetzt soweit hinbekommen, dass die häuser gezeichnet werden usw.
so jetzt will ich die geschwindigkeit und den winkel, die ja vom benutzer eingegeben werden sollen per grafik-balken machen...da hab ich den balken und nen keinen roten strich, beides images und der rote strich soll am balken entlang gezogen werden.... ich hab haber nach suchen, etc. nich wirklich gefunden wie ich das per drag'n drop machen kann...
vll. weiss ja jmd wie das geht...so die beiden images hab ich mal hochgeladen ....

gruß, rotojoto
Angehängte Grafiken
Dateityp: bmp geschwindigkeit_kopie_430.bmp (38,7 KB, 16x aufgerufen)
Dateityp: bmp regler_kopie_161.bmp (1,3 KB, 16x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#20

Re: "Gorillas" programmieren

  Alt 30. Nov 2006, 14:00
Du nimmst dir die Ereignisse OnMouseDown, OnMouseUp und OnMausMove des Objekts, wo drauf gezeichnet wird.

Beim Drücken der Maustaste prüfst du ob der Mauszeiger z.B. auf den kleinem Schieber liegt und setzt dir dann eine Variable (z.B. SchieberAktiv := True.

Wenn die Maus verschoben wird, wird die neue Position bestimmt und der Schieber neu gezeichnet. (nur wenn SchieberAktiv = True.

Wenn Maustaste losgelassen wird, dann eventuell nochmals die aktuelle Position prüfen, samt Neuzeichnen und natürlich das zurücksetzen der Variable nicht vergessen (SchieberAktiv := False.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 21:51 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