-
Notifications
You must be signed in to change notification settings - Fork 0
/
TOKEN.BAA
59 lines (59 loc) · 3.46 KB
/
TOKEN.BAA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
150 REM
160 REM chrs/colors
170 REM
180 SCREEN 0,,1,0:COLOR 0,0:CLS:SCREEN 0,,1,1
190 WDTH=80/C#:V=11:H=2:EH=H+C#*WDTH:BH=H
200 H=1:FOR C3=1 TO C#:LOCATE V-1,H+4:COLOR ZZ,0:PRINT C3:LOCATE V,H:COLOR C3(C3),0:PRINT STRING$(WDTH,CHR$(219));:H=H+WDTH:NEXT C3:COLOR ZZ,0:H=2:BH=H:EH=79:V=13:BV=V:EV=V+10
210 LOCATE BV,BH:FOR CR=1 TO 6:PRINT CHR$(CR)" ";:NEXT CR:PRINT CHR$(8):H=16
220 FOR CR=14 TO 27:LOCATE V,H:PRINT CHR$(CR);:H=H+2:NEXT CR
230 LOCATE BV,BH+42:PRINT"! "CHR$(34)" # $ % & ' ( ) * + , - . / 0 1 2 3"
240 LOCATE BV+2,BH:PRINT"4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ["
250 LOCATE BV+4,BH:PRINT"\ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ € ‚ ƒ"
260 LOCATE BV+6,BH:PRINT"„ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª «"
270 LOCATE BV+8,BH:PRINT"¬ ® ¯ ° ± ² ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô"
280 LOCATE BV+10,BH:PRINT"Õ Ö × Ø Ù Ú Û Ü Ý à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ";
290 H=2:BH=H:EH=BH+78:V=13:BV=V:EV=V+10
300 FOR L=1 TO 4:CC3(N(L))=OCC3(N(L)):CCR(N(L))=OCCR(N(L)):NEXT L
310 FOR L=1 TO 4:H(N(L))=BH+(CCR(N(L))-(INT(CCR(N(L))/40)*40)-1)*2:V(N(L))=BV+INT(CCR(N(L))/40)*2:NEXT L
320 FOR L=1 TO PS:LOCATE V(N(L)),H(N(L)):COLOR C3(CC3(N(L))),0:PRINT CHR$(KR(CCR(N(L)))):NEXT L
330 POKE 1050,PEEK(1052):L=1:Y1=7:X1=40:CC=ZZ:X1=28
340 REM
350 REM *** menu ***
360 X1=(80-4*PS)/2
370 LOCATE Y1,1:COLOR ZZ,0:PRINT SPACE$(X1)+" [ ";
380 FOR A=1 TO PS-1:COLOR C3(CC3(N(A))),0:PRINT CHR$(KR(CCR(N(A))));:COLOR ZZ,0:PRINT " | ";:NEXT A
390 COLOR C3(CC3(N(PS))),0:PRINT CHR$(KR(CCR(N(PS))));:COLOR ZZ,0:PRINT" ]"+SPACE$((80-4*PS-X1)/2)
400 GOTO 460
410 LOCATE Y1-1,X1+4*LCL-1:PRINT CHR$(218);CHR$(196);CHR$(191);
420 LOCATE Y1,X1+4*LCL+1:PRINT CHR$(179);
430 LOCATE Y1,X1+4*LCL-1:PRINT CHR$(179);
440 LOCATE Y1+1,X1+4*LCL-1:PRINT CHR$(192);CHR$(196);CHR$(217);
450 RETURN
460 COLOR 0,0:GOSUB 410:COLOR 14,0:LCL=L:GOSUB 410
470 COLOR C3(CC3(N(L))),0:LOCATE V(N(L)),H(N(L)):PRINT CHR$(KR(CCR(N(L))));:LOCATE Y1,X1+4*L:PRINT CHR$(KR(CCR(N(L))));
480 A$=INKEY$:ON LEN(A$)+1 GOTO 480,490,550
490 IF A$=CHR$(13) THEN FOR F=1 TO 4:OCC3(N(F))=CC3(N(F)):OCCR(N(F))=CCR(N(F)):NEXT F:AA=1:GOTO 700
500 IF A$=CHR$(27) THEN FOR F=1 TO 4:CC3(N(F))=OCC3(N(F)):CCR(N(F))=OCCR(N(F)):NEXT F:AA=0:GOTO 710
510 GOTO 520
520 IF VAL(A$)>C# OR VAL(A$)=0 THEN 540 ELSE FOR A=1 TO PS:IF VAL(A$)=CC3(N(A)) THEN CHCK=1
530 NEXT A:IF CHCK THEN CHCK=0:GOTO 470 ELSE CC3(N(L))=VAL(A$):GOTO 470
540 IF A$=CHR$(9) THEN LL=L:L=L+1:GOTO 560 ELSE 480
550 A$=RIGHT$(A$,1):IF A$=CHR$(15) THEN LL=L:L=L-1 ELSE 580
560 IF L>PS THEN L=1 ELSE IF L<1 THEN L=PS
570 GOTO 460
580 IF A$=CHR$(77) THEN VV=0:HV=2:CV=1:GOTO 620
590 IF A$=CHR$(75) THEN VV=0:HV=-2:CV=-1:GOTO 620
600 IF A$=CHR$(72) THEN HV=0:VV=-2:CV=-40:GOTO 620
610 IF A$=CHR$(80) THEN HV=0:VV=2:CV=40 ELSE 480
620 COLOR ZZ,0:LOCATE V(N(L)),H(N(L)):PRINT CHR$(KR(CCR(N(L))));
630 CCR(N(L))=CCR(N(L))+CV:V(N(L))=V(N(L))+VV:H(N(L))=H(N(L))+HV
640 IF H(N(L))<BH THEN H(N(L))=EH:CCR(N(L))=CCR(N(L))+40:GOTO 680
650 IF H(N(L))>EH THEN H(N(L))=BH:CCR(N(L))=CCR(N(L))-40:GOTO 680
660 IF V(N(L))>EV THEN V(N(L))=BV:CCR(N(L))=CCR(N(L))-240:GOTO 680
670 IF V(N(L))<BV THEN V(N(L))=EV:CCR(N(L))=CCR(N(L))+240
680 FOR A=1 TO PS:IF CCR(A)=CCR(N(L)) AND L<>A THEN CHECK=1
690 NEXT A:IF CHECK THEN CHECK=0:GOTO 630 ELSE 470
700 FOR L=1 TO PS:L(N(L))=KR(CCR(N(L))):PC(N(L))=C3(CC3(N(L))):NEXT L
710 IF AA=1 THEN CLS:SCREEN 0,,0,1:COLOR 0,0:CLS
720 SCREEN 0,,0,0:RETURN