Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1 DIM PX(200)
- 2 DIM PY(200)
- 3 DIM VX(200)
- 4 DIM VY(200)
- 5 DIM PC(200)
- 6 SX=320/2:SY=192/2:CT=0
- 10 POKE 65497,0
- 11 GOSUB 301:'SETUP THE PALETTE
- 12 FOR N=1 TO 200:GOSUB 101:NEXT N:'GENERATE SOME DOTS
- 13 HSCREEN 2:'320X192 W/ 16 COLORS
- 14 HCLS 0:'BLACK
- 16 FOR N=1 TO 200
- 17 IF PX(N)<0 OR PX(N)>319 OR PY(N)<0 THEN GOTO 19:'DON'T DRAW OFFSCREEN
- 18 HSET(PX(N),PY(N),0)
- 19 PX(N)=PX(N)+VX(N)
- 20 PY(N)=PY(N)+VY(N)
- 21 VY(N)=VY(N)+.1:'ACCOUNT FOR GRAVITY
- 22 IF PC(N)>1 THEN PC(N)=PC(N)-RND(10)/10
- 23 IF INT(PC(N))=0 THEN PC(N)=1
- 24 IF PY(N)>191 THEN GOSUB 101:'GENERATE A NEW DOT
- 25 IF PX(N)<0 OR PX(N)>319 OR PY(N)<0 THEN GOTO 27:'DON'T DRAW OFFSCREEN
- 26 HSET(PX(N),PY(N),INT(PC(N)))
- 27 NEXT N
- 28 CT=CT+1:IF CT>10 THEN SX=RND(320):SY=RND(192/2):CT=0
- 29 GOTO 16
- 100 'GENERATE A NEW DOT (N=NEW DOT INDEX)
- 101 PX(N)=SX:'RND(320)-1
- 102 PY(N)=SY:'RND(192)-1
- 103 VX(N)=(RND(50)-30)/10
- 104 VY(N)=RND(30)/-10
- 105 PC(N)=15:'RND(16)-1
- 106 IF PC(N)=0 GOTO 105
- 107 RETURN
- 300 'SETUP THE PALETTE
- 301 PALETTE 0,0
- 302 PALETTE 1,1
- 302 PALETTE 2,8
- 303 PALETTE 3,15
- 304 PALETTE 4,13
- 305 PALETTE 5,12
- 306 PALETTE 6,40
- 307 PALETTE 7,33
- 308 PALETTE 8,32
- 309 PALETTE 9,36
- 310 PALETTE 10,38
- 311 PALETTE 11,52
- 312 PALETTE 12,53
- 313 PALETTE 13,54
- 314 PALETTE 14,62
- 315 PALETTE 15,63
- 316 RETURN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement