// --------------------------------- //
// Project: Ballergame demo(new Types)
// Start: Thursday, April 05, 2007
// IDE Version: 4.148
SYSTEMPOINTER TRUE
//--------Type erstellen
TYPE shot
x
y
ENDTYPE
//----------------------
//---Neuen Schuss für erstellen für die spätere nutzung
LOCAL newshot AS shot
//---Das "Schuss-Array" erstellen, wo die schüsse gespeichert werden
LOCAL shots[] AS shot
WHILE TRUE
LOCAL mx,my,b1,b2
MOUSESTATE mx,my,b1,b2
//wenn Maustaste links gedrückt und Timer kleiner Gettimerall ist
IF b1 = 1 AND timer < GETTIMERALL()
newshot.x = mx //--|
newshot.y = my //-----Schüsse
DIMPUSH shots[], newshot // Werte der Positionen übergeben
timer = GETTIMERALL()+300 //Timer höher setzen und verzögerung einfügen!
ENDIF
FOREACH Check IN shots[] // eine Variable durchdüsen lassen (aktualisieren)
DEC Check.y,2 //schuss um 2 nach oben versetzen
IF Check.y < 0 THEN DELETE Check //wenn schuss y < 0 dann löschen
PRINT "|",Check.x,Check.y //schuss zeichen ;)
NEXT
//Gibt die anzahl der Einträge in shots[] wieder
PRINT "Shots: "+BOUNDS(shots[], 0), 0,0
FPS(TRUE) //Show Timer + FPS
SHOWSCREEN
WEND
END
FUNCTION FPS: ShowFps
TimeK=GETTIMER(); Time=Time+TimeK; frames=frames+1;
IF Time>999; FR=frames; frames=0; Time=TimeK-1000; Seconds=Seconds+1;
IF Seconds>59; Minutes=Minutes+1; Seconds=0; ENDIF;
IF Minutes>59; Hours=Hours+1; Minutes=0; ENDIF;
IF Hours>23; Days=Days+1; Hours=0; ENDIF;
ENDIF;
IF ShowFps=TRUE
Line=20
PRINT "Time: "+Days+ ":" + Hours + ":" + Minutes + ":" + Seconds,10,Line*1
PRINT "FPS="+FR,10,Line*2
ENDIF
RETURN FR
ENDFUNCTION
Testen und staunen!