Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SCREEN _newimage(640,480,32)
- DIM SHARED keyflags%(0 TO 127)
- DIM tlist%(5,285)
- DIM map%(0 TO 19,0 TO 14)
- DIM timg&(0 TO 40)
- DIM foe!(2,6,20)
- back&=_loadimage("./gaemdata/back.png")
- cursor&=_loadimage("./gaemdata/cursor.png")
- cross&=_loadimage("./gaemdata/cross.png")
- timg&(0)=_loadimage("./gaemdata/empty.png")
- timg&(1)=_loadimage("./gaemdata/nogo.png")
- timg&(2)=_loadimage("./gaemdata/walk.png")
- timg&(3)=_loadimage("./gaemdata/menu.png")
- timg&(11)=_loadimage("./gaemdata/ft1.png")
- timg&(12)=_loadimage("./gaemdata/ft2.png")
- timg&(13)=_loadimage("./gaemdata/ft3.png")
- timg&(14)=_loadimage("./gaemdata/ft4.png")
- timg&(30)=_loadimage("./gaemdata/foe1.png")
- mapbuffer& = _newimage(640,480,32)
- RANDOMIZE TIMER
- _mousehide
- _printmode _keepbackground
- gcursor&=cursor&
- puttower%=0
- FOR foelist%=1 TO 2
- READ xmin%
- READ xsiz%
- READ ymin%
- READ ysiz%
- READ hp%
- READ armour!
- NEXT
- FOR foewave%=1 TO 2
- FOR foe%=1 TO 20
- foe!(foewave%,1,foe%)=33+16*RND
- foe!(foewave%,2,foe%)=65+62*RND
- foe!(foewave%,3,foe%)=3*RND
- foe!(foewave%,4,foe%)=3*RND
- foe!(foewave%,5,foe%)=100
- foe!(foewave%,6,foe%)=armour!
- NEXT
- NEXT
- _putimage(0,0),back&,mapbuffer&
- FOR y%=0 TO 14
- FOR x%=0 TO 19
- READ block%
- _putimage(32*x%,32*y%),timg&(block%),mapbuffer&
- map%(x%,y%)=block%
- NEXT
- NEXT
- _putimage(608,0),cross&,mapbuffer&
- FOR n%=1 TO 4
- _putimage(608,n%*32),timg&(n%+10),mapbuffer&
- NEXT
- _freeimage back&
- _freeimage cross&
- _freeimage timg&(1)
- _freeimage timg&(2)
- _freeimage timg&(3)
- tim=TIMER
- timm2=TIMER
- wave%=1
- DO
- WHILE _mouseinput
- musx%=_mousex
- musy%=_mousey
- WEND
- IF _mousebutton(1) THEN
- IF musx%<592 THEN
- IF puttower% AND map%(.03125*musx%,.03125*musy%)=0 THEN
- musxt%=.03125*musx%
- musyt%=.03125*musy%
- gcursor&=cursor&
- ntowers%=ntowers%+1
- tlist%(1,ntowers%)=musx%
- tlist%(2,ntowers%)=musy%
- map%(musxt%,musyt%)=puttower%
- _putimage(32*musxt%,32*musyt%),timg&(map%(musxt%,musyt%)),mapbuffer&
- _dest mapbuffer&
- CIRCLE(32*musxt%,32*musyt%),64,_rgba32(64,212,64,128)
- _dest 0
- puttower%=0
- END IF
- ELSEIF musx%>=608 AND puttower%=0 THEN
- IF musy%>=32 AND musy%<64 AND geld%>=0 THEN
- gcursor&=timg&(11)
- puttower%=11
- 'geld%=geld%-1
- ELSEIF musy%>=64 AND musy%<96 AND geld%>=0 THEN
- gcursor&=timg&(12)
- puttower%=12
- 'geld%=geld%-2
- ELSEIF musy%>=96 AND musy%<128 AND geld%>=0 THEN
- gcursor&=timg&(13)
- puttower%=13
- 'geld%=geld%-3
- ELSEIF musy%>=128 AND musy%<160 AND geld%>=0 THEN
- gcursor&=timg&(14)
- puttower%=14
- 'geld%=geld%-4
- ELSEIF musy%<32 THEN SYSTEM
- END IF
- END IF
- END IF
- _putimage(0,0),mapbuffer&
- _putimage(musx%,musy%),gcursor&
- FOR foe%=1 TO 20
- IF foe!(wave%,5,foe%)<=0 THEN foe!(wave%,3,foe%)=0:foe!(wave%,4,foe%)=0:foe%=foe%+1
- FOR tower%=1 TO ntowers%
- IF SQR((tlist%(1,tower%)-foe!(wave%,1,foe%))^2+(tlist%(2,tower%)-foe!(wave%,2,foe%))^2)<64 THEN foe!(wave%,5,foe%)=foe!(wave%,5,foe%)-1
- NEXT
- IF map%((foe!(wave%,1,foe%)+.03125*foe!(wave%,3,foe%))*.03125,.03125*foe!(wave%,2,foe%))<>2 THEN foe!(wave%,3,foe%)=-foe!(wave%,3,foe%)
- IF map%(.03125*foe!(wave%,1,foe%),(foe!(wave%,2,foe%)+.03125*foe!(wave%,4,foe%))*.03125)<>2 THEN foe!(wave%,4,foe%)=-foe!(wave%,4,foe%)
- IF foe!(wave%,2,foe%)<32 THEN foe!(wave%,3,foe%)=0:foe!(wave%,4,foe%)=0
- foe!(wave%,1,foe%)=foe!(wave%,1,foe%)+foe!(wave%,3,foe%)
- foe!(wave%,2,foe%)=foe!(wave%,2,foe%)+foe!(wave%,4,foe%)
- _putimage(foe!(wave%,1,foe%),foe!(wave%,2,foe%)),timg&(30)
- NEXT
- n!=n!+1
- _printstring (-7,-1),STR$(n!/(timer-tim))
- _printstring (540,467),"GELD:"+STR$(geld%)
- _display
- '_limit 60
- LOOP UNTIL scankey%(01)
- SYSTEM
- FUNCTION scankey%(scancode%)
- i%=INP(&h60)
- IF (i% AND 128) THEN keyflags%(i% XOR 128) = 0
- IF (i% AND 128) = 0 THEN keyflags%(i%) = -1
- WHILE inkey$<>"":WEND
- scankey%=keyflags%(scancode%)
- END FUNCTION
- DATA 0,64,64,64,100,1
- DATA 0,64,64,64,120,2.5
- DATA 3,3,0,0,0,0,0,0,1,4,4,1,0,0,0,0,0,0,0,3
- DATA 1,1,1,1,0,0,0,0,1,2,2,1,0,0,0,0,0,0,0,3
- DATA 1,2,2,2,1,0,0,0,1,2,2,2,1,1,1,1,1,0,0,3
- DATA 1,2,2,2,2,1,0,0,1,2,2,2,2,2,2,2,2,1,0,3
- DATA 1,1,1,2,2,2,1,0,0,1,2,2,2,2,2,2,2,1,0,3
- DATA 0,0,0,1,2,2,2,1,0,0,1,1,1,1,1,2,2,1,0,3
- DATA 0,0,0,0,1,2,2,1,0,0,0,0,0,1,2,2,2,1,0,3
- DATA 0,0,0,0,1,2,2,1,0,0,0,0,1,2,2,2,1,1,0,3
- DATA 0,1,1,1,1,2,2,1,0,0,0,1,2,2,2,1,0,0,0,3
- DATA 1,2,2,2,2,2,2,1,0,0,0,1,2,2,1,0,0,0,0,0
- DATA 1,2,2,2,2,2,1,0,0,0,0,1,2,2,1,0,0,0,0,0
- DATA 1,2,2,1,1,1,1,1,1,1,1,2,2,2,1,0,0,0,0,0
- DATA 1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0
- DATA 1,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0,0
- DATA 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement