Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'DGC Code Pong : Untitled Elite-like
- 'ver 0000 : 2020-09-13
- '--- Definitions ------------------------------------------
- CONST kPi = 3.14159265
- CONST kPi2 = 6.28318531
- CONST kDiv3 = 0.333333333
- CONST kRoot2 = 1.414213562
- CONST kDivRoot2 = 0.7071067812
- TYPE tVec3
- x AS SINGLE
- y AS SINGLE
- z AS SINGLE
- END TYPE
- TYPE tStar
- p AS tVec3 'Position
- END TYPE
- DIM star(511) AS tStar
- DIM stars AS LONG
- '--- Main -------------------------------------------------
- SCREEN 13: cX = 160: cY = 100 'Centres
- stars = 511: GOSUB GenGalaxy
- DO
- a1 = a1 + 0.01
- a2 = COS(a1 / 3) ^ 2
- CLS
- FOR i = 1 TO stars
- pX = star(i).p.x
- pY = star(i).p.y
- pZ = star(i).p.z
- pX1 = pX * COS(a1) - pY * SIN(a1)
- pY = pX * SIN(a1) + pY * COS(a1)
- pX = pX1
- pZ1 = pZ * COS(a2) - pY * SIN(a2)
- pY = pZ * SIN(a2) + pY * COS(a2)
- pZ = pZ1
- PSET (cX + pX, cY + pZ)
- NEXT
- _DISPLAY
- _LIMIT 60
- LOOP
- SLEEP
- SYSTEM
- '--- Subs -------------------------------------------------
- GenGalaxy:
- r = 85 'Galactic Radius
- FOR i = 1 TO stars
- a = (RND * 2 + RND) / 3
- b = kPi2 * RND: b = b + COS(2 * b) - 6 * a
- c = (2 * RND - 1) / (3 + 30 * a)
- star(i).p.x = r * a * COS(b)
- star(i).p.y = r * a * SIN(b)
- star(i).p.z = r * c
- NEXT
- RETURN
Advertisement
Add Comment
Please, Sign In to add comment