10 REM SNAKER
20 GOSUB 470 30 HIGH=0 40 HS$="" 50 SYMBOL 250,&18,&3C,&42,&DB,&DB,&42,&3C,&18 60 SYMBOL 251,&18,&5A,&3C,&E7,&E7,&3C,&18,&5A 70 REM NEW PLAYER LOOP 80 SC=0 90 MODE 1 100 LOCATE 1,10 110 INPUT "What is your name ";name$ 120 IF LEN(NAME$)>10 OR NAME$="" THEN GOTO 90 130 MODE 1 140 X=5:Y=5 150 KK=1 160 IF HIGH=0 THEN GOTO 180 170 LOCATE 1,1:PEN 1:PRINT" HIGH SCORE OF ";HIGH;" BY ";HS$ 180 REM MAIN PLAY LOOP 190 GOSUB 650 200 A=X:B=Y 210 KK=Q 220 IF KK=0 THEN B=B-1:IF B=0 THEN B=25 230 IF KK=2 THEN B=B+1:IF B=26 THEN B=2 240 IF KK=1 THEN A=A+1:IF A=41 THEN A=1 250 IF KK=8 THEN A=A-1:IF A=0 THEN A=40 260 XX=A:YY=B 270 GOSUB 600 280 IF DD<>32 THEN GOTO 370 290 PEN 3 300 LOCATE X,Y:PRINT CHR$(250); 310 PEN 2 320 LOCATE A,B:PRINT CHR$(251); 330 X=A:Y=B 340 SC=SC+15 350 SOUND 1,300,5 360 GOTO 190 370 REM THE SNAKE ATE ITSELF 380 FOR Q=10 TO 450 STEP 5 390 SOUND 1,Q,4 400 SOUND 2,Q+10,3 410 INK 3,INT(RND(1)*16+4) 420 NEXT Q 430 IF SC>HIGH THEN CALL &BB03:LOCATE 1,10:PRINT"THE NEW HIGH SCORE":HIGH=SC:HS$=NAME$ 440 IF INKEY$="" THEN GOTO 440 450 IF INKEY$<>"" THEN GOTO 450 460 GOTO 70 470 REM PUT MACHINE CODE ABOVE RAMTOP 480 MEMORY &997F 490 MC=&A980 500 TH=&A9 510 TL=&FF 520 POKE MC,&CD 530 POKE MC+1,&60 540 POKE MC+2,&BB 550 POKE MC+3,&32 560 POKE MC+4,TL 570 POKE MC+5,TH 580 POKE MC+6,&C9 590 RETURN 600 REM RETURN SCREEN CHARACTER 610 LOCATE XX,YY 620 CALL MC 630 DD=PEEK(&A9FF) 640 RETURN 650 Q=KK 660 FOR L=0 TO 8 670 IF INKEY(L)=0 THEN Q=L 680 NEXT L 690 IF Q<>0 AND V>1 AND V>2 AND Q<>8 THEN Q=KK 700 RETURN |