#è¤ ****************************#ò¤ * *#ü¤ * SNAKES V011 *#¤ * *#¤ ****************************¤ By Nigel Deakin $¤ SNAKES.¤ Version date 14/6/84*8¤ copyright (c) 1984 Tatung (UK) Ltd.B¤2Lÿ”:Á 4: K~0 r 14:ÿ• K," ":› K:¤ START LINE 1=V“ Z s ‚:§ 1000:Z~u1: ‚:§ 1000: à ‘ 1180:¤ START LINE 2` 2870:¤ ** INITIALIZATIONj 2080:¤ ** INTRODUCTIONt 1780:¤ ** INSTRUCTIONS!~“ KCH s 1930:¤ CHANGE KEYSˆ 2630:¤ ** GAME STUCTURE’“ AGAIN s 2880:‘1160'œ“ Z s 320: ÿ”:ÿƒ4:Ž:¤ FINISH LINE¦¤ ** PLAY GAME?°ÿƒ7:K~å:ÿ3,4:“ GOES}1 s ¢@10,23;: A~2 r GOES:¢Ç(128);:›A9ºÿ11,6:¢@1,23;" LEVEL";LEVEL;@17,23;" SCORE:";:ÿ1,1HÄÃ0,0:Ã1,2:Ã2,0:Ã3,1:Ã4,0:Ã5,3:Ã8,16:Ã9,15:Ã10,15:Ã7,&76:Ã11,0:Ã12,1Τ ** PLAYER MOVE:ØÃ6,0:D~UD:K~å:“ K~KR s D~0:Ã13,4: “ K~KD s D~1:Ã13,4,â“ K~KL s D~2:Ã13,4: “ K~KU s D~3:Ã13,4ì“UD~(Dt2)y4sD~UDHöUX1~(UXtXD(D))y32:UY1~(UYtYD(D))y23:HIT~(ÿÏ&3C00t32wUY1tUX1)127)t1VS%~S%t1:ÿ11:¢@UX,UY;Ç(CHR(UD,D));@UX1,UY1;Ç(128tD);@25,23;S%;:UX~UX1:UY~UY1:UD~D% OK~0:D~CD:DT~D:¤** COMPUTER MOVEnCX1~(CXtXD(D))y32:CY1~(CYtYD(D))y23:“ÿÏ&3C00t32wCY1tCX1)}127sCX2~CX1:CY2~CY1:‘1330: CX3~CX1:CY3~CY1:OK~1KCX2~(CX1tXD(D))y32:CY2~(CY1tYD(D))y23:“ ÿÏ&3C00t32wCY2tCX2)}127 s 13302(“ Õ(1).05 s D~(Dt×(Õ(1)u.5))y4:‘ 1300: 1360h2Ã6,31:Ã13,4:D~(Dt×(Õ(1)u.5))y4:CX1~(CXtXD(D))y32:CY1~(CYtYD(D))y23:“ ÿÏ&3C00t32wCY1tCX1)127 s 1360S<D~(Dt2)y4:CX1~(CXtXD(D))y32:CY1~(CYtYD(D))y23:“ ÿÏ&3C00t32wCY1tCX1)127 s 1360<FCX1~CX3:CY1~CY3:D~DT:“ OK~0 s HIT~HITt2:CX1~CX2:CY1~CY2RPÿ8:¢@CX,CY;Ç(CHR(CD,D));@CX1,CY1;Ç(Dt128);:CX~CX1:CY~CY1:CD~D:“ HIT~0 s 1240TZ“ FOOD%(UX1,UY1)~u1s Ã7,&7D:FOOD~FOODu1:FOOD%(UX1,UY1)~0:Ã7,&77:S%~S%t20:‘ 1240Kd“ FOOD%(CX1,CY1)~u1s Ã7,&7B:FOOD~FOODu1:FOOD%(CX1,CY1)~0:Ã7,&77:‘ 1240n¨x¤** HIT ROUTINE‚ÿ15,4:¢@1,23;SŒ“ HIT~3 {(CX1~UX1 z CY1~UY1) s ¢" WE'VE BOTH CRASHED ! ";: 1720:‘ 1490–“ HIT}2 s 1480, ¢" I'VE CRASHED - YOU WIN ";: 1720Rª“ LEVEL}4 z S%}LIMIT s LEVEL~LEVELt1:¢@1,23;" NOW YOU MOVE UP A LEVEL ";]´“ LEVEL~4 z FOOD~0 s LEVEL~LEVELt1:¢@1,23;" THATS IT,YOU HAVE WON ";:ÿ5,1:‘ 1590¾ A~1 r 400:›APÈ“ HIT~1 s ¢" YOU CRASHED - I WIN ";:GOES~GOESu1: 1660:¤ SAD MUSICUÒ“ S%}EXMAN s GOES~GOESt1:EXMAN~EXMANt500:¢@1,23;" YOU HAVE AN EXTRA SNAKE ";Ü A~1 r 700:›Aæ“ GOES}0 s ¨ð¤ ** GAME OVER,ú¢@1,23;" NO MORE GOES LEFT ";¤ game over musicÁ4:Â0,0,10,3,36,3"M0$~"V0+C5+D#5+C5G5A#5D5C7R5""M1$~"V0-C8-G8-G7R5",· M0$,M1$,"R"6 A~1 r 1000:›A*@ÿƒ1:ÿ15,0:„32:¢@9,6;"YOU SCORED ";S%J 2110:¤ MUSIC+Tÿ8:¢@4,13;"PRESS SPACE TO PLAY AGAIN",^¢@1,18;"PRESS ANY OTHER KEY TO FINISH";(hÿ1:I~ä:“ I~32 s AGAIN~u1: AGAIN~00r A~1 r 300:›A:¡:¨:¤ RETURN TO MAIN CONTROL|¤ ** LOSE MUSIC†Â0,0,10,3,36,3*Á7:M0$~"V0R6F6R6D#6R6C6-A#6-G#6-F9R1"*šM1$~"V0-F6R6-D#6R6=C6R6=A#6=G#6=F9R14¤· M0$,M1$,"R"®¨¸¤ ** WIN MUSICÂÂ0,0,10,3,36,3)ÌÁ7:M0$~"V0R6F6R6D#6R6C6C6D#6G#6F9R1"-ÖM1$~"V0-F6R6-D#6R6=C6-C6-E6-F#6-B6-A9R1"à· M0$,M1$,"R"ê¨ô¤ ** INSTRUCTIONSþ„40:ÿ15,0:ÿƒ1"¢," SNAKES",,," ²²²²²²"Yÿ11:¢@0,4;" Direct your snake (the yellow one) to avoid hitting any obstacles."G¢@0,7;" The computer also has a snake so watch out!"5&ÿ9:¢@0,10;" Use these keys to move your snake."0¢@11,12;"LEFT -Z":¢@11,14;"RIGHT -X"D¢@11,16;"UP -:"N¢@11,18;"DOWN -/"8Xÿ15:¢@2,20;" If you don't like these keys press K"%b¢@6,22;" Press SPACE to play ";(lI~ä:“ I}32 z I}75 z I}107 s 1900"vKCH~0:“ I~75 { I~107 s KCH~u1€¨Š¤ ** KEY SELECTION&”„40:¢," SNAKES",,," ²²²²²²"+ž¢@0,4;"Press the keys you would like."+¨¢@3,6;"(Note:some keys arn't allowed)".²¢@10,8;"LEFT ";Ç(KL);Ç(8);: 2030:KL~KA¼¢@10,10;"RIGHT ";Ç(KR);Ç(8);: 2030:“ K~KL s ‘ 1980: KR~KHÆ¢@10,12;"UP ";Ç(KU);Ç(8);: 2030:“ K~KL { K~KR s ‘ 1990: KU~KOТ@10,14;"DOWN ";Ç(KD);Ç(8);: 2030:“ K~KL { K~KR { K~KU s ‘ 2000: KD~K$Ú¢@6,20;"Press SPACE to play ";äI~ä:“ I~32 s ¨: ‘ 2020î¤ GET KEYøK~ä:“ K32 { K}127 s 20402“ K&7B z K}&60 s K~K z &DF:¤ LOWER CASE MASK ¢ Ç(K)¨ ¤ ** INTRODUCTION*ÿ15,1:ÿƒ1:ÿ‚8,0:„324 2270:¤ SNAKE PRINTOUT>Â0,0,13,3,36,3HÂ1,0,10,3,36,3RÁ 7\M0$~"V0 -C6R6 =G6R6 -C6R6 =G6R6 -C6R6 =G6R6 -C9R1 " 8fM1$~"V1 R6 +C6R6 +C6R6 +C6R6 +C6R6 +C6B6 B6 +C9R1 "8pM2$~"V1 R6 G6 R6 G6 R6 G6 R6 G6 R6 G6 G6 G6 G9 R1 "z A~1 r 72 p 3„X0$~Þ(M0$,A,3)ŽX1$~Þ(M1$,A,3)˜X2$~Þ(M2$,A,3)¢· X0$,X1$,X2$ ¬ÿ5:¢@Ax3t2,2;Ç(132);Ç(128)"¶ÿ3:¢@26uAx3,21;Ç(130);Ç(132)À›AÊ A~1 r 800:›AÔ¨Þ¤ ** SNAKES PRINTOUTèHR~38:VR~100:S~0:B~45 òT~BtVRü L~1 r 6  F~StHR( L 2570,2530,2370,2480,2430,2570 S~StHRw1.1$ ›L. ¨8 ¤ LETTER'A'&B A1~.3wVRtB:A2~.5wVRtB:A3~.75wVRtB%L A4~.3wHRtS:A5~.5wHRtS:A6~.7wHRtSJV ÿ€ S,B r A4,B r A4,A1 r A6,A1 r A6,B r F,B r F,A2 r A5,T r S,A2 r S,B%` ÿ€ A4,A2 r A6,A2 r A5,A3 r A4,A2j ¨t ¤*LETTER 'E'0~ E1~.2wVRtB:E2~.4wVRtB:E3~.6wVRtB:E4~.8wVRtBˆ E5~.2wHRtS:E6~.6wHRtS`’ ÿ€ S,B r F,B r F,E1 r E5,E1 r E5,E2 r E6,E2 r E6,E3 r E5,E3 r E5,E4 r F,E4 r F,T rS,T r S,Bœ ¨¦ ¤ LETTER'K'%° K1~.3wVRtB:K2~.5wVRtB:K3~.7wVRtB(º K4~.25wHRtS:K5~.35wHRtS:K6~.65wHRtSWÄ ÿ€ S,B r K4,B r K4,K1 r K6,B r F,B r K5,K2 r F,T r K6,T r K4,K3 r K4,T r S,T r S,BÎ ¨Ø ¤*LETTER 'N'â N1~.4wVRtB:N2~.6wVRtBì N3~.2wHRtS:N4~.8wHRtSOö ÿ€ S,B r N3,B r N3,N2 r N4,B r F,B r F,T r N4,T r N4,N1 r N3,T r S,T r S,B ¨ ¤*LETTER 'S' S7~.2wHRtS:S8~.8wHRtSH S1~.2wVRtB:S2~.25wVRtB:S3~.4wVRtB:S4~.6wVRtB:S5~.75wVRtB:S6~.8wVRtBF( ÿ€ S,B r F,B r F,S4 r S7,S4 r S7,S6 r S8,S6 r S8,S5 r F,S5 r F,TE2 ÿ€ F,T r S,T r S,S3 r S8,S3 r S8,S1 r S7,S1 r S7,S2 r S,S2 r S,B< ¨F ¤ ** GAME STRUCTUREP GOES~4:S%~0:LEVEL~1:‘ 2660 Z 1400Cd V~Ò(&FB3E):“ V128 s  (&FB3E),Vt128:Ÿ&22,0:¤ SET TO UPPER CASE,n ÿ2,1:„32: LEVEL ‘ 2690,2700,2710,2740x 1400:¤ HIT ROUTINEK‚ LIMIT~100:UX~8:CX~20:½ 250: 1200:½ 255:‘ 2650:¤ * LEVEL 1-SLOW NORMAL8Œ LIMIT~200:UX~20:CX~8: 1200:‘ 2650:¤ * LEVEL 2-FAST – ¤ * LEVEL 3-FAST +OBSTACLES  2770:¤ RANDOM OBSTACLESHª TREE~TREEt5:CX~31:UX~31:CY~5:UY~15:CD~2:UD~2:LIMIT~300:1200:‘ 2650%´ ¤ * LEVEL 4-FAST +OBSTACLES+FOOD8¾ TREE~TREEt5: 2770: 2810: 2840:¤ * OBSTACLES+FOOD3È CX~31:UX~31:CY~5:UY~15:CD~2:UD~2: 1200:‘ 2650Ò ¤ ** RANDOM OBSTACLES'Ü S~1 r TREE:S1~Õ(27)t2:S2~Õ(19)t2bæ S3~Õ(6): S4~0 r S3:¢@S1,uS2w(S2}15);Ç(140);:A~Õ(4):S1~(S1tXD(A))y32:S2~(S2tYD(A))y23:›S4:›Sð ¨2ú CX1~1 r 32: D~1 r 23:FOOD%(CX1,D)~0:›D,CX1 ¤ FOOD CANCEL ¨ ¤ ** FOODZ" “ FOOD}0 s ÿ13: S~1 r FOOD:S1~Õ(27)t2:S2~Õ(19)t2:¢@S1,S2;Ç(150);:FOOD%(S1,S2)~u1:›S, ¨6 ¤ ** INITIALIZATIONC@ V~Ò(&FB3E):“ V128 s  (&FB3E),Vt128:Ÿ&22,0:¤ SET TO UPPER CASE8J ¤ define most commonly used first for maximum speedwT D~0:CX1~0:CY1~0:HIT~0:UX1~0:UY1~0:CY~16:UX~8:UY~8:UD~0:CX~20:CY~16:K~0:S%~0:OK~2:CD~2:CX2~0:CY2~0:CX3~0:CY3~0:DT~0,^ “ AGAIN s 2810:TREE~20:FOOD~20:‘ 3090Eh KR~88:KD~47:KL~90:KU~58:EXMAN~500:Š FOOD%(32,23):FOOD~20:TREE~20/r ¹5,0:¤ SUPRESS TRAILING SPACE ON PRINT VAR*| ÿ†128,"001C7EF3FF7E1800":¤ HEAD RIGHT*† ÿ†129,"1C3C3C7E76363C18":¤ HEAD DOWN.* ÿ†130,"00187EFFCF7F3800":¤ HEAD LEFT.'š ÿ†131,"183C6C6E7E3C3C38":¤ HEAD UP+¤ ÿ†132,"000070FFFF0E0000":¤ BODY HORIZ.*® ÿ†133,"181C1C1C38383838":¤ BODY VERT.-¸ ÿ†134,"183878F0E0000000":¤ CURVE UP-LEFT. ÿ†135,"181C1E0F07000000":¤ CURVE UP-RIGHT0Ì ÿ†136,"000000070F1E1C18":¤ CURVE DOWN-RIGHT/Ö ÿ†137,"000000E0F0783818":¤ CURVE DOWN-LEFT$à ÿ†150,"001808183C3C1800":¤ FOOD*ê ‡ 1,0,0,1,-1,0,0,-1:REM FOR DIRECTIONô A~0 r 3:£ XD(A),YD(A):›Mþ ‡ 132,137,0,134,135,133,134,0,0,136,132,135,136,0,137,133:REM FOR SHAPES) A~0 r 3: B~0 r 3:£ CHR(A,B):›B:›A ¨¨ˆB ‚ ¥8B  ‚  *…)