high, ich hab da mal was gemacht, so simple wie genial. die grafik so zweckmäßig wie nötig... downzuloaden hier (8kb) :
http://www.blitz-pasting.de.vu...lspics.zip
ziel ist es, genügend von den anderen aufzusammeln bevor die zeit oben abläuft... mit jedem level erhöht sich die zahl derer die man aufsammeln muß und die zeit vergeht schneller...
gesteuert wird mit rechts und links!
achja, ich weiß das die bewegung bei mit sin und cos etwas verkorkst ist und deswegen auch die kollisionsabfrage, aber ... *seufz*
und hier der code
BlitzBasic: [AUSKLAPPEN] [EINKLAPPEN]
Graphics 800,600 SetBuffer BackBuffer() timer=CreateTimer(50) SeedRnd MilliSecs() AutoMidHandle 1
Global img_ball=LoadImage(\"ball.png\"):MaskImage img_ball,255,0,255 Global img_player=LoadImage(\"player.png\"):MaskImage img_player,255,0,255 Global img_enemy=LoadImage(\"enemy.png\"):MaskImage img_enemy,255,0,255
Global CREATED=0 Global DELETED=0 Global ONSCREEN=0
Global LEVEL#=1
Global clock#=797
Global Vplayer.Tball
Type Tball Field x# Field y# Field speed# Field turn# Field splittime# End Type
Function create_ball.Tball(x#,y#,speed#,turn#) Vball.Tball=New Tball Vball\x#=x# Vball\y#=y# Vball\speed#=speed# Vball\turn#=turn# CREATED=CREATED+1 Return Vball End Function
Function update_balls() For Vball.Tball=Each Tball For Aball.Tball=Each Tball If Aball<>Vball Then If ImagesCollide(img_ball,Aball\x#,Aball\y#,0,img_ball,Vball\x#,Vball\y#,0) Then If Vplayer=Vball Or Vplayer=Aball Then clock#=797 DELETED=DELETED+1 End If Delete Aball End If End If Next Next ONSCREEN=0 For Vball.Tball=Each Tball ONSCREEN=ONSCREEN+1 oldx#=Vball\x# oldy#=Vball\y# Vball\x#=Vball\x-Cos(Vball\turn#)*Vball\speed# Vball\y#=Vball\y-Sin(Vball\turn#)*Vball\speed# If Vball\x#>800 Then If Vball\y#-oldy#>0 Then Vball\turn#=180-Vball\turn# Else Vball\turn#=360+(180-Vball\turn#) End If End If If Vball\x#<0 Then If Vball\y#-oldy#>0 Then Vball\turn#=180-(Vball\turn#) Else Vball\turn#=180+(360-Vball\turn#) End If End If If Vball\y#>600 Then If Vball\x#-oldx#>0 Then Vball\turn#=180+(180-Vball\turn#) Else Vball\turn#=(360-Vball\turn#) End If End If If Vball\y#<0 Then If Vball\x#-oldx#>0 Then Vball\turn#=360-Vball\turn# Else Vball\turn#=180+(180-Vball\turn#) End If End If Vball\turn#=(Vball\turn#+360) Mod 360 Next End Function
Function draw_balls() For Vball.Tball=Each Tball If Vball=Vplayer Then DrawImage img_player,Vball\x#,Vball\y# Else DrawImage img_enemy,Vball\x#,Vball\y# End If Next End Function
Vplayer.Tball=create_ball(10,10,2,0)
While Not KeyHit(1)
Cls If Vplayer<>Null Then update_balls() draw_balls() Color(0,255,0) If clock#<500 Then Color(255,255,0) If clock#<200 Then Color(255,0,0) Rect(1,1,clock#,8,1) Color(255,255,255):Rect(0,590,799,10,0):Rect(0,0,799,10,0) Color(0,255,0):Rect(1,591,797*Float(DELETED)/LEVEL#,8,1)
If KeyDown(203) Then Vplayer\turn#=Vplayer\turn#-1 If KeyDown(205) Then Vplayer\turn#=Vplayer\turn#+1
If MilliSecs()-time>1000 Then create_ball(400,300,LEVEL#/10,Rnd(360.0)):time=MilliSecs() If clock#>0 Then If DELETED=Int(LEVEL#) Then LEVEL#=LEVEL+1 DELETED=0 Vplayer\speed#=Vplayer\speed#+0.1 End If clock#=clock#-LEVEL#/10 Else Delete Vplayer End If Else Color(0,255,0) Text 400,300,\"You have...LOOOOST - ESC\",1,1 Text 400,330,\"level \"+Int(level#),1,1 Text 400,360,CREATED+\" enemies created\",1,1 End If
Flip 0 WaitTimer(timer) Wend End
completely not hansoptimeisert.
|