Steuerprogramm für Suchraketen
Übersicht

![]() |
KabelbinderSieger des WM-Contest 2006Betreff: Steuerprogramm für Suchraketen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ihr verwendung für eine Suchrakete in einem Spiel habt:
Code: [AUSKLAPPEN] Graphics 800,600,16,1
SeedRnd MilliSecs() TFormFilter 0 Global bild = CreateImage(16,8) SetBuffer ImageBuffer(bild) Color 128,128,128 Rect 0,0,16,8 MaskImage bild,255,0,0 Dim rocket(360) For i = 0 To 360 rocket(i)=CopyImage(bild) MidHandle rocket(i) RotateImage rocket(i),i MaskImage rocket(i),255,0,0 Next Global num,x,y,dreh,xcor,ycor,rot#,kurve#,speed#,aim# Const part = 3000 ;Maximale Partikel Const parts# = 1 ;Partikel Geschwindigkeit Const parte = 3 ;Wieviele Partikel ausgeben xcor = 400 ; ist klar ycor = 300 ; ist klar speed = 3 ; ist klar rot = 180 ; Winkel aim = 0 ; Hilfsvariable kurve = 4 ; Handling Dim partikel#(part,8) Function emit(x,y,dreh) partikel(num,3)=1 partikel(num,1)=x partikel(num,2)=y partikel(num,4)=Cos(dreh+Rand(-8,8))*parts partikel(num,5)=Sin(dreh+Rand(-8,8))*parts partikel(num,6)=255 partikel(num,7)=255 partikel(num,8)=0 If num = part Then num = 0 Else num = num + 1 EndIf End Function Function edit() For i = 0 To part If partikel(i,3)=1 Then partikel(i,1)=partikel(i,1)+partikel(i,4) partikel(i,2)=partikel(i,2)+partikel(i,5) If partikel(i,7)>0 Then partikel(i,7)=partikel(i,7)-9 Else partikel(i,6)=partikel(i,6)-9 EndIf If partikel(i,6)<0 Then partikel(i,6)=0 If partikel(i,7)<0 Then partikel(i,7)=0 Color partikel(i,6),partikel(i,7),partikel(i,8) Plot partikel(i,1),partikel(i,2) EndIf Next End Function SetBuffer BackBuffer() Repeat aim = (ATan2(MouseY()-ycor,MouseX()-xcor)+360) Mod 360 Select rot <=180 Case 1 If aim >rot And aim< rot + 180 Then rot = rot + 1 * kurve Else rot = rot - 1 * kurve EndIf Case 0 If aim <rot And aim> rot - 180 Then rot = rot - 1 * kurve Else rot = rot + 1 * kurve EndIf End Select If rot < 1 Then rot = 360 If rot >360 Then rot = 1 xcor = xcor + Cos(rot)*speed ycor = ycor + Sin(rot)*speed For i = 1 To parte emit(xcor,ycor,rot+180) Next edit() DrawImage rocket(rot),xcor,ycor Color 255,255,255 Rect MouseX()-5,MouseY(),10,1 Rect MouseX(),MouseY()-5,1,10 Text 0,0,aim,0,0 Flip Cls Until KeyHit(1) End (Dabei ist übrigens auch ein Partikel Emitter! ![]() |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
- Zuletzt bearbeitet von Kabelbinder am Fr, Dez 24, 2004 16:33, insgesamt einmal bearbeitet
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay ![]() Code: [AUSKLAPPEN] Graphics 800,600,16,1
SeedRnd MilliSecs() TFormFilter 0 Global bild = CreateImage(16,8) SetBuffer ImageBuffer(bild) Color 128,128,128 Rect 0,0,16,8 MaskImage bild,255,0,0 Dim rocket(360) For i = 0 To 360 rocket(i)=CopyImage(bild) MidHandle rocket(i) RotateImage rocket(i),i MaskImage rocket(i),255,0,0 Next Global num,x,y,dreh,xcor#,ycor#,rot#,kurve#,speed#,aim#,fly Const part = 3000 ;Maximale Partikel Const parts# = 1 ;Partikel Geschwindigkeit Const parte = 3 ;Wieviele Partikel ausgeben xcor = 400 ; ist klar ycor = 300 ; ist klar speed = 3 ; ist klar rot = 180 ; Winkel aim = 0 ; Hilfsvariable kurve = 3 ; Handling fly = 1 Dim partikel#(part,8) Function emit(x,y,dreh) partikel(num,3)=1 partikel(num,1)=x partikel(num,2)=y partikel(num,4)=Cos(dreh+Rand(-8,8))*parts partikel(num,5)=Sin(dreh+Rand(-8,8))*parts partikel(num,6)=255 partikel(num,7)=255 partikel(num,8)=0 If num = part Then num = 0 Else num = num + 1 EndIf End Function Function edit() For i = 0 To part If partikel(i,3)=1 Then partikel(i,1)=partikel(i,1)+partikel(i,4) partikel(i,2)=partikel(i,2)+partikel(i,5) If partikel(i,7)>0 Then partikel(i,7)=partikel(i,7)-10 Else partikel(i,6)=partikel(i,6)-10 EndIf If partikel(i,6)<0 Then partikel(i,6)=0 If partikel(i,7)<0 Then partikel(i,7)=0 Color partikel(i,6),partikel(i,7),partikel(i,8) Plot partikel(i,1),partikel(i,2) EndIf Next End Function Function explo() If fly = 1 Then If Abs(MouseX()-xcor)<2 And Abs(MouseY()-ycor)<2 Then fly = 0 For i = 1 To 360 emit(xcor,ycor,i) Next EndIf EndIf End Function SetBuffer BackBuffer() Repeat aim = (ATan2(MouseY()-ycor,MouseX()-xcor)+360) Mod 360 Select rot <=180 Case 1 If aim >rot And aim< rot + 180 Then rot = rot + 1 * kurve Else rot = rot - 1 * kurve EndIf Case 0 If aim <rot And aim> rot - 180 Then rot = rot - 1 * kurve Else rot = rot + 1 * kurve EndIf End Select If rot < 1 Then rot = 360 If rot >360 Then rot = 1 xcor = xcor + Cos(rot)*speed ycor = ycor + Sin(rot)*speed If fly = 1 Then For i = 1 To parte emit(xcor,ycor,rot+180) Next EndIf edit() explo() If fly = 1 Then DrawImage rocket(rot),xcor,ycor Color 255,255,255 Rect MouseX()-5,MouseY(),10,1 Rect MouseX(),MouseY()-5,1,10 Text 0,0,aim,0,0 Flip Cls Until KeyHit(1) End |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
- Zuletzt bearbeitet von Kabelbinder am Fr, Dez 24, 2004 16:34, insgesamt einmal bearbeitet
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man kann der Rakete ganz einfach entgehen wenn man wartet bis sie fast den Cursor erreicht und dann einfach ca 1 cm seitwärts ausweicht. Die Rakete dreht dann immer nur Kreise um den Cursor. | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich, das ist halt das Handling der Rakete, ich glaube, das ist in Allen Spielen so. Wenn du eine perfekt intelligente Suchrakete habe willst, kannst du das Handling ja auch auf einen sehr hohen Wert stellen. | ||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, dann wirkt die Rakete aber sehr unrealistisch. Aber trotzdem, schönes Programm! | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
getlose |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
handling erst in der nähe des ziels immer weiter erhöhen,
das sollte halbwegs realistisch aussehen. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group