Seite 7 von 9

Verfasst: 26.12.2005 03:34
von STARGÅTE
Konne hat geschrieben: Ein Code aus der Purearea der die Rahmen größe ermittelt.
cool danke ich hoffe nur das es auch schon bei 3.30 funktioniert :oops: ansonsten muss ich es umschreieben :allright:

Verfasst: 12.03.2006 03:42
von STARGÅTE
Es hat zwar etwas lange gedauert aber in den letzten tagen hatte ich ein bisschen Zeit an Snooker weiter zu programmieren. :roll:

UPDATE AUF 1.31

Das Spiel kann jetzt auch im Netzwerk gespielt werden (1 Server, 1 Client) :allright:
Ein kleiner Chat ist auch mit dabei. :lol:

Bitte sagt mir ob ihr irgend welche Bugs findet, vor allem beim Netzwerk.

Ich würde mich auch freuen wenn jemand mit/gegen mich mal Snooker spielt :D

http://hometown.aol.de/Hmmpgutt/Snooker+1.31.zip

Verfasst: 12.03.2006 14:45
von xperience2003
sehr genial das ganze
respect

Verfasst: 12.03.2006 15:54
von HeX0R
Die Reibung ist für Snooker viel zu hoch.

Verfasst: 12.03.2006 16:59
von STARGÅTE
HeX0R hat geschrieben:Die Reibung ist für Snooker viel zu hoch.
das liegt dann daran das dein PC zu schnell ist !

deswegen sieht es so aus als ob die Kugeln sehr schnell sind und damit auch schnell abbremsen.

Aber ist mir auch schon aufgefallen (bei langsamen PCs ist fast keine Reibung ^^)

Verfasst: 12.03.2006 17:57
von STARGÅTE
habe eben noch einen Netzwerkbug berichtigt

http://hometown.aol.de/Hmmpgutt/Snooker+1.32.zip

Verfasst: 13.03.2006 17:00
von Hades
STARGÅTE hat geschrieben:
HeX0R hat geschrieben:Die Reibung ist für Snooker viel zu hoch.
das liegt dann daran das dein PC zu schnell ist !

deswegen sieht es so aus als ob die Kugeln sehr schnell sind und damit auch schnell abbremsen.

Aber ist mir auch schon aufgefallen (bei langsamen PCs ist fast keine Reibung ^^)
Mal ne dumme Frage: warum machst Du die Geschwindigkeit dann nicht einfach Rechner unabhängig!?

(Soll keine grundsätzliche Kritik an Deiner Arbeit sein. Bin schwer begeistert von Deinen Projekten :wink: )

Verfasst: 13.03.2006 17:15
von STARGÅTE
Hades hat geschrieben: Mal ne dumme Frage: warum machst Du die Geschwindigkeit dann nicht einfach Rechner unabhängig!?
Mal ne dumme Frage zurück ^^, wie soll ich das machen oder besser wie geht das.
Mit SetFrameRate(FrameRate) alleine geht das nicht. :oops:

hast du schon 1.32, da habe ich nämlich die FrameRate auf 50 gesetzt müsste dann besser sein

Verfasst: 13.03.2006 17:41
von Hades
Ah fein, darum frag ich. :mrgreen:

Du gehst folgendermaßen vor:

Anstatt zu überlegen wie schnell sich die Kugeln pro Frame bewegen, überlegst Du wie weit sie sich z.B. pro Millisekunde bewegen sollen. Dann multiplizierst Du diese Strecke mit der Zeit, die der letzte Frame gedauert hat. Dann hast Du den Weg, den die Kugel in der Zeit zurückgelegt hat.
Wenn auf einem schnellen Rechnern ein Frame weniger lange dauert, bewegt sich die Kugel in der Zeit dann auch weniger weit.

ElapsedMilliseconds() wäre eine Möglichkeit die Zeit zu messen, ist aber sehr ungenau.

Besser wäre es hiermit:

Code: Alles auswählen

Procedure InitGameTimer() 
  Protected _GT_DevCaps.TIMECAPS 
  timeGetDevCaps_(_GT_DevCaps,SizeOf(TIMECAPS)) 
  timeBeginPeriod_(_GT_DevCaps\wPeriodMin) 
EndProcedure 
Das rufst Du einmal am Programmstart auf, um das Ganze zu initialisieren.

Am Start eines Frames schreibst Du dann z.B.:

Code: Alles auswählen

FrameStart.l = timeGetTime_()
Und am Ende:

Code: Alles auswählen

FrameTime.l = timeGetTime_() - FrameStart
FrameTime enthält dann die vergangene Zeit in Millisekunden.

Achtung! Du solltest überprüfen ob FrameTime einen bestimmten Wert (z.B. 100) überschreitet, und FrameTime dann auf diesen Wert begrenzen, so das Deine Kugeln sich nach einem Hänger des Rechners nicht 10 Kilometer weit bewegen wollen.

cu

Hades

Verfasst: 22.04.2006 23:29
von Alves
Also ich hab immer schon nach nem guten Snooker Spiel gesucht, und hier ist es!
Enifach genial! :allright: