
- Code: Tout sélectionner
' *************************
' WORMS v 1.0
' Original QB64 by harixxx
' GFW code by Fantomas
' *************************
object% = 250
tail% = 16
group% = 8
rdy% = tail%
DIM x(object%, tail%), y(object%, tail%)
FOR i% = 0 TO tail%
FOR j% = 0 TO object%
x(j%, i%) = RND * 640
y(j%, i%) = RND * 480
NEXT j%
NEXT i%
OPENW #1,(_X / 2) - 320,(_Y / 2) - 240,640,520,80
'
Hscreen1& = CREATEBMP(640,480)
Hsc1& = MEMDC(_DC(1))
SETBMP Hsc1&,Hscreen1&
SETDC Hsc1&
'
DEFFILL 0
RGBCOLOR RGB(0,0,0)
PBOX 0,0,640,520
TITLEW #1," Worms v1.0"
DO
ng = (ng + 1) MOD 1000
FOR i% = 0 TO tail% - 1
FOR j% = 0 TO object%
x(j%, i%) = x(j%, i% + 1)
y(j%, i%) = y(j%, i% + 1) + .5
NEXT j%
NEXT i%
FOR j% = 0 TO object%
xx = x(j%, tail%) + (INT(RND * 9) - 4) / 2
yy = y(j%, tail%) + (INT(RND * 9) - 4) / 2
xx = 639 * -(xx > 639) + xx * -(xx < 640)
yy = 479 * -(yy > 479) + yy * -(yy < 480)
IF j% MOD INT(object% / group%) = 0
xl = xx
y1 = yy
ELSE
IF RND < .1 AND ng < 300
xx = (xx + 2) * -(xx < xl) + (xx - 2) * -(xx > xl) + xx * -(xx = xl)
ENDIF
IF RND > .9 AND ng < 300
yy = (yy + 2) * -(yy < yl) + (yy - 2) * -(yy > yl) + yy * -(yy = yl)
ENDIF
ENDIF
x(j%, tail%) = xx * -(xx > 0)
y(j%, tail%) = yy * -(yy > 0)
NEXT j%
RGBCOLOR RGB(0,0,0)
PBOX 0,0,640,480
IF rdy% > 0
DEC rdy%
nr% = 0
ELSE
nr% = 1
ENDIF
FOR i% = 0 TO tail% - 1
FOR j% = 0 TO object%
c = i% / tail% * 255 * nr%
RGBCOLOR RGB(c,c,c)
LINE x(j%, i%), y(j%, i%),x(j%, i% + 1), y(j%, i% + 1)
NEXT j%
NEXT i%
FOR j% = 0 TO object%
RGBCOLOR &HFFFFFF * nr%
LINE x(j%, tail% - 1), y(j%, tail% - 1),x(j%, tail%), y(j%, tail%)
NEXT j%
BITBLT Hsc1&,0,0,640,480,_DC(1),0,0,SRCCOPY
LOOP UNTIL INKEY$ > ""
CLOSEW #1

Fantomas
