Gravity

BlitzPlus Forums/BlitzPlus Beginners Area/Gravity

oops, I made code :P

window=CreateWindow("oO",0,0,640,480)

canvas=CreateCanvas(0,0,640,480,window)

timer=CreateTimer(25)



Global stone_angle
Global stone_speed#
Global stone_x#
Global stone_y#
Global gravity_delta#
Global gravity#

reset

Repeat
	WaitEvent()
	If EventID()=$803 End
	
	If EventID()=$4001

		stone_x=stone_x+Sin(stone_angle)*stone_speed
		stone_y=stone_y+Cos(stone_angle)*stone_speed
		stone_y=stone_y+gravity

		gravity=gravity*gravity_delta
		stone_speed=stone_speed*.985
	
		SetBuffer CanvasBuffer(canvas)

			Cls

			Color 255,0,0
			Rect 320,240,4,4,1
			Color 255,255,0
			Rect stone_x,stone_y,4,4,1
			Color 0,255,0
			Rect 0,400,640,4,1
		
		FlipCanvas canvas
	EndIf

	If EventID()=$201 reset ; mouseclick @ canvas
	
Forever

Function reset()
	stone_angle=Rnd(180)+90
	stone_speed#=4
	stone_x#=320
	stone_y#=240
	gravity_delta#=1.06
	gravity#=1
End Function


click mouse on the canvas..