Silent-Death, you have
a lot of redundancy. Remember computers are here to do repetitive things for us, if you coping and pasting code over and over, and only changing a small part you are being wastefull, and there is probably a shorter way to code it.
Removing redundancy makes re-using code much eaiser, because algorithms will transfer much eaiser between programs if they are set-up to accept more than one use.
for example, I have just written a sub that scrolls the letters in from one side of the screen and centres them. But it can display any phrase you want, and start on any row. And you can stick it in any program you want now, too.
no need to recode the whole thing for another heading on another game.
Code:
'centeres text, and scrolls each letter on from the side
'set-up for SCREEN 13 text width.
SUB scroll2Centre (text$, row%)
leftMost% = INT(20 - LEN(text$) / 2)
FOR i = LEN(text$) TO 1 STEP -1
currentChar$ = MID$(text$, i, 1) 'grabs the char to be moved
IF currentChar$ <> " " THEN 'skips spaces
distance% = leftMost% + i - 2
FOR col% = 1 TO distance%
LOCATE row%, col%
PRINT " "; currentChar$;
pause .01
IF INKEY$ <> "" THEN 'get-out clause
LOCATE row%, POS(0) - 1: PRINT " " 'removes scrolling char
LOCATE row%, leftMost%
PRINT text$
EXIT SUB
END IF
NEXT col%
END IF
NEXT i
END SUB
'Makes the prog. pause
SUB pause (p!)
tim! = TIMER
DO: LOOP UNTIL tim! + p! < TIMER
END SUB
I've just modified the pause technique you use, to be universal, and also note that the pause will fail if it ticks over from midnight. (I didn't bother codeing a fail-safe for that, I just can't be arsed atm..
)
You may want to re-code the snake motion, you could code it so the snake trys to get to a certain point. Instead of the motions being hard-coded. This way it'll look different every time.