' Program: Star Parallax Screensaver (Horizontal)
' Created: May 16th, 2020
' Creator: Cloud Zimmermann

SCREEN 7, 1, 0, 1
RANDOMIZE TIMER

screenWidth% = 320
screenHeight% = 200

count% = 200
DIM stars%(count%, 5)

FOR i% = 1 TO count% - 1
  stars%(i%, 1) = INT(RND * screenWidth%) + 1
  stars%(i%, 2) = INT(RND * screenHeight%) + 1
  stars%(i%, 3) = INT(RND * 3) + 1
  SELECT CASE INT(RND * 3) + 1
        CASE 1
          stars%(i%, 4) = 15
        CASE 2
          stars%(i%, 4) = 7
        CASE ELSE
          stars%(i%, 4) = 8
  END SELECT
NEXT i%

WHILE INKEY$ = ""
 CLS

 LOCATE 5, 5
 PRINT TIME$

 FOR i% = 1 TO count% - 1
  IF stars%(i%, 1) > screenWidth% THEN
   stars%(i%, 1) = 1
   stars%(i%, 2) = INT(RND * screenHeight%) + 1
   stars%(i%, 3) = INT(RND * 3) + 1
   SELECT CASE INT(RND * 3) + 1
    CASE 1
     stars%(i%, 4) = 15
    CASE 2
     stars%(i%, 4) = 7
    CASE ELSE
     stars%(i%, 4) = 8
   END SELECT
  ELSE
   stars%(i%, 1) = stars%(i%, 1) + stars%(i%, 3)
  END IF
  PSET (stars%(i%, 1), stars%(i%, 2)), stars%(i%, 4)
 NEXT i%
 PCOPY 0, 1
WEND

