Code archives/3D Graphics - Effects/MISSLE COMMAND
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
PARTICALS MADE EASY ( RIP ) THIS ROTINE APART TO MAKE PARICALS MUTI EXPLOTIONS AND MACHINEGUNS OR SPACE INVADERS THIS ONES EASY TO UNDER STAND AND EASY TO USE | |||||
; THIS SHOULD RUN IN VERSIONS OF BLITZ 2D PLUS 3D MAX ; MY FRENDS SAY MY CODE IS SCRUFFY I THINK THERE RIGHT ; BUT IT WORKS AND THATS THE MAIN THING ; I DIDT GO TO COLLOAGE I LERNT ME SELF ; THIS IS A SMALL MISSILE COMMAND ROTINE ; IT HELPS YOU LEARN TYPES THE QUIK WAY ; TYPES And NOT ARRAYS ; ; PARTICLES MAD EASY WITH MISSILE COMMAND ; TYPES AND ARRAYS ; THAY ARE BOTH VERY COOL TO USE ; A BEGINNER SHOULD LERN THEM BOTH ; BEFOR ATTEMPTING 3D SUPPER COOL GRAPHICS ; PS I HOPE MY CODE ISNT TO SCRUFFY LOL ; EASY AS A.B.C ( AKA ANIMAL ) WELL HERE ANY WAY ; THIS IS NOT IN 3D BUT WILL CONVERT VERY EASY Graphics 800,600,16,1 ; SORRY NO GRAPHICS TEST O WELL FULL SCREEN ;Graphics 800,600,16,2 ; SORRY NO GRAPHICS TEST O WELL WINDOW MODE SetBuffer BackBuffer() HidePointer ; use this in full screen mode HIDES THE MOUSE U KNOW Global ant,GROUND,CITY ;ONLY FREE NEEDED Const miss=10 ; HOW MANY MISSILES ;Const colr=9437584 ; window mode COLOUR TEST Const colr=9437328 ; fullscreen mode COLOUR TEST ; A CUSTOM TYPE FOR THERE WEPONS Type missiles Field ox Field oy Field ny Field nx End Type ; ANOTHER CUSTOM TYPE FOR YOUR WEPON Type WEP Field X# Field Y# Field R# Field V# Field DX Field flag End Type For t=1 To miss m.missiles = New missiles m\Ox=400 m\Ox=Rnd(800) m\Ny=0 m\NX=Rnd(800) Next makecircles() ; GO MAKE SOME CIRCLES ClsColor 400,000,400 ; THE COLOUR OF THE BACKGROUND m.missiles = First missiles W.WEP = First WEP Color 255,170,0 ; PLEASE DELETE THE REM STATMENTS TO MAKE PROGRAM EASY TO READ FROM HERE ; BUT READ THEM FIRST While Not KeyDown(1) mx=MouseX() my=MouseY() Cls ; draw a cross Line MX,MY,MX+6,MY Line MX+3,MY-3,MX+3,MY+3 ; THIS IS IT A CONSTANT NEW WEPONS ROTINE ; ALLSO USED FOR PATICAL EXPLOSIONS IN 3D MODE WITH A LITTLE WORK ; AND 3D WEPONDS ROKETS AND MACHINE GUNS QUICK AND SIMPLE ; UNLIKE THE OTHERS IV DOWNLOLDED ALL VERY LONG WINDED ; BUT I MUST SAY A LOT MORE ADVANCED THAN MINE ; ILL HAVE TO LEARN A ? ; DO REMEBER TO DELETE THE TYPE VAR= AFTER U HAVE FINSHED WITH IT ( SAVE YOUR MEMORY ) ; PS GOT LOTS OF MEMORY LOL SO I DIDENT BOTHER If MouseDown (1) ; NEW EXPLOTION ON MOUSE CLICK TADA ( OR ENTITY ) ; IF U WISH TO USE AN ENTITY USE THE Z VECTOR ; LEAVE THE FLASHY STUFF TO THE EXSPERTS ; ; IE ( MOVEENTITY BLA,0,0,W\Z ) IN BLTZ3D AND MAX ; ( DONT FORGET IN MAX TO INT ALL VARS FIRST) w.WEP = New WEP w\X#=0 w\Y#=0 w\R#=0 w\V#=0 w\DX=0 w\flag=0 W\flag=1 W\x#=mx W\y#=my W\v#=-0.5 ; W\V#=-0.5 IS AN OFFSET BECUSE OVAL DOSENT DRAW CIRCLES FROM THE MIDDLE EM ; ; DRAW A REAL CIRCLE FROM THE MIDDLE And ANY X,Y Origin U CHOSE ; ; X=300:Y=300:R=50 ; R BEING THE RADIUS X AND Y POINT OF ORIGIN ; ; For ANGLE=0 To 359 ; ; NX=X+R*Sin(ANGLE):NY=Y+R*Cos(ANGLE) ; ; Line X,Y,NX,NY ; X=NX:Y=NY ; NEXT ; ; FROM THE MIDDLE ; ALSO GOOD FOR SENDING 3D ENTITYS AROUND IN CIRCLES LWITH POSITION ENTITY Line 400,600,mx,my ; DRAW A LINE TO YOUR EXPLOSION w\DX=1 ; W\DX IS THE AMOUST IM MOVEING MY OFFSET BY 1 EndIf ; HERE IT IS WEPONS GO BANG For W.WEP = Each WEP If W\flag>0 W\r=W\r+W\dx ;THIS IS WHERE U MOVE GO BANG OR LUNCH MISSILE BULLET BOME SPACEINVADER ; ANT IS THE NAME OF MY CIRCLES IMAGE DrawImage ant,W\x#,W\y#,W\r ; WEPON BANG MISILE BOME EXPLODE WHAT EVERR U LIKE ; W\R IS USED FOR MY IMAGE FRAME AT THE MOMENT ; BUT YOU CAN USE IT FOR SAY AN ENTITY >?????? W\x#=W\x#+W\V# ; THIS BIT PUTS ME CIRCLES CENTRE W\y#=W\y#+W\V# ; THIS BIT PUTS ME CIRCLES CENTRE If W\r>50 ; THIS BIT SWITCS MODE FROM OUT TO IN W\flag=2 W\DX=-1 ; NOW DX SETS -1 TO GOT BACK TO ORIGINAL POS W\v#=1 EndIf If W\r<1 ; THIS BIT KILLS THE EXPLOTION W\r=0 ; R IS MY LIFE TIMMER R=0 END OF EXPLOSION OR DISTANCE TRAVALED W\flag=0 ; SET FLAG TO 0 SO IT DOSENT APEAR AGAIN W\x#=0 ; QUICK CLEANUP W\y#=0 ; W\DX=0 ; CLEAN UP END EndIf EndIf Next ; AND THATS THAT CONSTANT WEPONS THE EASY WAY IN 32 LINES OF CODE ( IF U DOUBLE THEM UP LESS ) For m.missiles = Each missiles m\ny=m\ny+3 ; MOVE THE MISSILE ; GET THE COLOUR OFF THE SCREEN IN FROUNT OF YOU MISSILE u=ReadPixelFast (m\nx,m\ny) And $FFFFFF ; JUST SOMETIMES THIS IS EASYER THAN COLLISION TESTING EM If m\ny>600 Or U<>colr ; DO SOME TESTS m\ox=Rnd(800) If m\ox<400 Then m\nx=m\ox-(Rnd(50)) If m\ox>400 Then m\nx=m\ox+(Rnd(50)) If m\ox=400 Then m\nx=400 m\oy=0 m\ny=0 EndIf Line m\ox,m\oy,m\nx,m\ny Next Text 100,100,U DrawImage CITY,100,500,0 DrawImage CITY,350,500,0 DrawImage CITY,650,500,0 DrawImage GROUND,0,500,0 Delay 10 ; TO SLOW THINGS DOWN Flip ; SOMETHING ABOUT DOUBLE BUFFERING Wend ; END OFF THE LOOP Function makecircles() ; THIS IS THE ONLY FUNCTION IM USING CUZ THE THING WILL RUN TO FAST TRY IT AND SEE ant=CreateImage (100,100,60) ql=1:xl#=100:yl#=100 For tl=0 To 100 Step 2 ql=ql+1 xl#=xl#+0.1:yl#=yl#+0.1 Color 200+Rnd(40),Rnd(50),0 Oval xl#,yl#,tl,tl GrabImage ant,100,100,ql Cls ;Flip Next Cls Color 255,0,0 ; RED GROUND=CreateImage (800,100) Rect 0,50,800,50,1 GrabImage GROUND,0,0 Cls CITY=CreateImage (100,50) Color 255,255,0 ; YELLOW Rect 10,30,50,50,1 Rect 20,20,30,20,1 Color 0,255,0 ; GREEN Rect 0,40,70,20,1 GrabImage CITY,0,0 End Function |
Comments
None.
Code Archives Forum