1 REM ** TILES! 2 REM * BY RICK HARRISON 3 REM ** (C) 1988 COMPUTE! 4 REM ** PUBLICAIONS INC. 5 REM ** TI VERSION BY 6 REM ** ALAN RATELIFF II 7 REM ** BASIC/EXT BASIC 8 REM ** USE TE II AND ** SPCH SYNTH FOR ** SPEECH FUNCTIONS 9 REM ** PDD VERSION 2.0 10 DIM T(6,10) 11 RANDOMIZE 12 CALL CLEAR 13 CALL SCREEN(8) 14 PRINT "ORIGINAL VERSION OF TILES USED WITH PERMISSION OF":"COMPUTE! PUBLICATIONS, INC PO BOX 5406" 15 PRINT "GREENSBORO, NC 27403"::"(C) COMPUTE! PUBLICATIONS, INC. ALL RIGHTS RESERVED": 16 FOR I=1 TO 1000 17 NEXT I 18 CALL CLEAR 19 CALL SCREEN(2) 20 GOSUB 359 21 PRINT TAB(19);"`d":TAB(19);"a h p x ":TAB(19);"b i q y "::::::::::::::::::::: 22 CALL HCHAR(4,20,40) 23 CALL HCHAR(4,21,44,8) 24 CALL HCHAR(4,29,41) 25 CALL VCHAR(5,20,47,15) 26 CALL VCHAR(5,29,45,15) 27 CALL HCHAR(20,20,43) 28 CALL HCHAR(20,21,46,8) 29 CALL HCHAR(20,29,42) 30 FOR I=5 TO 19 31 CALL HCHAR(I,21,64,8) 32 NEXT I 33 FOR I=0 TO 2 STEP 2 34 M$="PLAYER@"&CHR$(91+I) 35 C=21 36 R=5+4*I 37 GOSUB 406 38 M$="HIGH@"&CHR$(91+I) 39 C=22 40 R=9+4*I 41 GOSUB 406 42 NEXT I 43 FOR I=3 TO 13 STEP 2 44 FOR J=3 TO 21 STEP 2 45 CALL HCHAR(J,I,61) 46 NEXT J 47 NEXT I 48 SEC=0 49 IF B=1 THEN 53 50 FOR I=7 TO 19 STEP 4 51 CALL HCHAR(I,22,48,6) 52 NEXT I 53 CALL HCHAR(22,1,32,96) 54 M$="COPYRIGHT@COMPUTE@PUBL@INC" 55 B=1 56 C=4 57 R=23 58 GOSUB 406 59 M$="ALL@RIGHTS@RESERVED" 60 C=7 61 GOSUB 406 62 IF SP=0 THEN 66 63 REM ** (C) 1988 COMPUTE! 64 PRINT #4:"TILES. COPYRIGHT NINE TEEN EIGHTY EIGHT COMPUTE PUBLICATIONS INCORPORATED." 65 PRINT #4:"ALL RIGHTS RESERVED. PRESS SPACE BAR TO BEGIN." 66 CALL KEY(3,K,S) 67 CALL KEY(1,K2,S2) 68 IF (K<>32)*(K2<>18) THEN 66 69 CALL HCHAR(23,1,32,64) 70 M$="NUMBER@OF@PLAYERS@[@OR@]" 71 C=5 72 GOSUB 406 73 IF SP=0 THEN 75 74 PRINT #4:"NUMBER OF PLAYERS, ONE OR TWO." 75 CALL KEY(3,K,S) 76 CALL JOYST(1,X,Y) 77 N=K-48 78 IF K>-1 THEN 81 79 N=(((X+3*Y)/4)+5)-3+(X=4) 80 IF X=0 THEN 75 81 IF (N<1)+(N>2) THEN 75 82 FOR I=1 TO N 83 CALL HCHAR(7+(8*ABS(I=2)),22,48,6) 84 SC(I)=500 85 TI(I)=1 86 M$="PRESS@SPACE@TO@SEE@THE@TILE" 87 C=4 88 GOSUB 406 89 IF SP=0 THEN 91 90 PRINT #4:"PRESS SPACE BAR TO SEE YOUR FIRST TILE." 91 CALL KEY(3,K,S) 92 CALL KEY(I,K2,S2) 93 IF (K<>32)*(K2<>18) THEN 91 94 CALL HCHAR(24,1,32,32) 95 ROW=(INT(RND*10)+1)*2+1 96 COL=(INT(RND*6)+1)*2+1 97 CALL HCHAR(ROW,COL,99+INT(RND*5)*8) 98 M$="PRESS@SPACE@TO@HIDE" 99 C=4 100 GOSUB 406 101 IF SP=0 THEN 103 102 PRINT #4:"PRESS SPACE BAR TO HIDE. REMEMBER, YOU LOSE POINTS THE LONGER YOU WAIT." 103 CALL KEY(3,K,S) 104 CALL KEY(I,K2,S2) 105 SEC=SEC+1 106 IF SEC<13 THEN 111 107 SEC=0 108 SC(I)=SC(I)-10 109 CALL SOUND(25,2555,0) 110 IF SC(I)<=0 THEN 349 111 IF (K<>32)*(K2<>18) THEN 103 112 CALL HCHAR(ROW,COL,61) 113 T((COL-1)/2,(ROW-1)/2)=1 114 M$="FIND@IT" 115 C=10 116 GOSUB 406 117 IF SP=0 THEN 119 118 PRINT #4:"FIND IT" 119 ROW=4 120 COL=3 121 CALL HCHAR(ROW,COL,60) 122 CALL KEY(3,K,S) 123 CALL JOYST(I,X,Y) 124 CALL KEY(I,K2,S2) 125 IF (S=0)*((X=0)*(Y=0))*(S2=0) THEN 122 126 CALL HCHAR(ROW,COL,32) 127 IF (S=0)*((X=0)*(Y=0))*(S2=0) THEN 124 128 IF K>-1 THEN 134 129 K3=((X+3*Y)/4)+5 130 IF K3=5 THEN 133 131 IF K3/2<>INT(K3/2) THEN 120 132 ON K3/2 GOTO 137,139,141,135 133 IF K2=18 THEN 143 ELSE 121 134 ON POS("EXSD ",CHR$(K),1)+1 GOTO 121,135,137,139,141,143 135 ROW=ROW-(SGN(ROW-4)*2) 136 GOTO 121 137 ROW=ROW+(SGN(22-ROW)*2) 138 GOTO 121 139 COL=COL-(SGN(COL-3)*2) 140 GOTO 121 141 COL=COL+(SGN(13-COL)*2) 142 GOTO 121 143 CALL HCHAR(24,1,32,32) 144 IF T((COL-1)/2,(ROW-2)/2)=0 THEN 157 145 M$="YOU@FOUND@IT" 146 C=10 147 GOSUB 406 148 IF SP=0 THEN 150 149 PRINT #4:"YOU'VE FOUND IT." 150 T((COL-1)/2,(ROW-2)/2)=0 151 SC(I)=SC(I)+100 152 IF SC(I)32)*(K2<>18) THEN 189 192 FOR J=1 TO TI(I) 193 ROW=(INT(RND*10)+1)*2+1 194 COL=(INT(RND*6)+1)*2+1 195 CALL GCHAR(ROW,COL,F) 196 IF F<>61 THEN 193 197 CALL HCHAR(ROW,COL,99+INT(RND*5)*8) 198 T((COL-1)/2,(ROW-1)/2)=1 199 NEXT J 200 TG=TI(I) 201 CALL HCHAR(23,1,32,32) 202 M$="PRESS@SPACE@TO@HIDE" 203 R=23 204 C=6 205 GOSUB 406 206 M$=STR$(TG) 207 C=15 208 B=0 209 GOSUB 406 210 B=1 211 IF SP=0 THEN 213 212 PRINT #4:"PRESS SPACE TO HIDE" 213 CALL KEY(3,K,S) 214 CALL KEY(I,K2,S2) 215 SEC=SEC+1 216 IF SEC<(2*(1-(TI(I)>15))) THEN 232 217 CALL SOUND(25,2555,0) 218 SB=20 219 IF SC(I)<2000 THEN 223 220 SB=40 221 IF SC(I)<5000 THEN 223 222 SB=60 223 SC(I)=SC(I)-SB 224 M$="0"&STR$(SC(I)) 225 B=0 226 R=7-8*(I=2) 227 C=22+6-LEN(M$) 228 GOSUB 407 229 B=1 230 SEC=0 231 IF SC(I)<=0 THEN 349 232 IF (K<>32)*(K2<>18) THEN 213 233 M$="TILES@TO@GO" 234 CALL HCHAR(23,1,32,32) 235 C=10 236 R=23 237 GOSUB 407 238 FOR X=3 TO 13 STEP 2 239 FOR Y=3 TO 21 STEP 2 240 CALL HCHAR(Y,X,61) 241 NEXT Y 242 NEXT X 243 ROW=4 244 COL=3 245 CALL HCHAR(ROW,COL,60) 246 CALL KEY(3,K,S) 247 CALL KEY(I,K2,S2) 248 CALL JOYST(I,X,Y) 249 IF (S=0)*((X=0)*(Y=0))*(S2=0) THEN 246 250 CALL HCHAR(ROW,COL,32) 251 IF K<>-1 THEN 256 252 K3=((X+3*Y)/4)+5 253 IF K3/2<>INT(K3/2) THEN 255 254 ON K3/2 GOTO 259,261,263,257 255 IF K2=18 THEN 265 ELSE 245 256 ON POS("EXSD ",CHR$(K),1)+1 GOTO 245,257,259,261,263,265 257 ROW=ROW-(SGN(ROW-4)*2) 258 GOTO 245 259 ROW=ROW+(SGN(22-ROW)*2) 260 GOTO 245 261 COL=COL-(SGN(COL-3)*2) 262 GOTO 245 263 COL=COL+(SGN(13-COL)*2) 264 GOTO 245 265 IF T((COL-1)/2,(ROW-2)/2)=0 THEN 286 266 TG=TG-1 267 M$=STR$(TG) 268 B=0 269 R=24 270 C=15 271 GOSUB 406 272 SC(I)=SC(I)+100 273 IF SC(I)SC(2) THEN 311 309 M$="GAME@POINTS@TIE" 310 C=8 311 GOSUB 406 312 IF SP=0 THEN 315 313 PRINT #4:"ALL TILES FOUND. PLAYER "&@$(I)&" IS THE GAME WINNER." 314 REM ** DISPLAY HIGH'S 315 FOR J=1 TO N 316 IF SC(J)1) THEN 392 395 IF SP=0 THEN 397 396 OPEN #4:"SPEECH",OUTPUT 397 CALL COLOR(2,11,2) 398 CALL CLEAR 399 RETURN 400 DATA 0000010204091327,000080402090C8E4,E4C890204080,271309040201,0000FF0000FFFFFF,E4E4E4E4E4E4E4E4 401 DATA FFFFFF0000FF,2727272727272727,10387CFE10101010,,0010301010101038,FEFCF8F8F8F8FCFE 402 DATA 003844040810207C,FF818181818181FF,7F3F1F1F1F1F3F7F,000000E0E0E0,0000003F3F3F0707,070E0E0E1C1C1C38 403 DATA 3838707070E0E0E,000000007F7F7F1C,1C1C383838FEFEFE,,000000003838387,7070E0E0E0FFFFFF,"" 404 DATA 000000001F1F1838,3F3F7F7070FEFEFE,,00000000003F3F7F,607C1C0E06FEFEFC,"" 405 DATA 14,8,13,9,5 406 CALL HCHAR(24,1,32,32) 407 IF B=0 THEN 410 408 CALL HCHAR(R,C-1,92) 409 M$=M$&"_" 410 FOR M=0 TO LEN(M$)-1 411 CALL HCHAR(R,C+M,ASC(SEG$(M$,M+1,1))) 412 NEXT M 413 R=R+1+1*(R=24) 414 RETURN