Super Othello v1.0
Emulation Item Preview
Share or Embed This Item
Super Othello v1.0
- Language
- English
Notes
Disk info for Super_Othello_v1.0_19xx__.do:
File Name: a2_Super_Othello_v1.0_19xx_/Super_Othello_v1.0_19xx__.do
Disk Name: DISK VOLUME #254
Physical Size (bytes): 143360
Free Space (bytes): 114176
Used Space (bytes): 29184
Physical Size (KB): 140
Free Space (KB): 111
Used Space (KB): 28
Archive Order: DOS
Disk Format: DOS 3.3
Total Sectors: 560
Free Sectors: 446
Used Sectors: 114
Tracks On Disk: 35
Sectors On Disk: 16
Disk directory for Super_Othello_v1.0_19xx__.do:
a2_Super_Othello_v1.0_19xx_/Super_Othello_v1.0_19xx__.do DISK VOLUME #254
A 002 HELLO
A 055 APPLE CHESS
DOS 3.3 format; 114,176 bytes free; 29,184 bytes used.
Text found in Super_Othello_v1.0_19xx__.do/APPLE CHESS.bas:
5 TEXT : HOME : GOTO 1490
10 REM
20 HIMEM: 16383
30 CALL 12288
40 GOTO 830
50 POKE 16,A: CALL 11328:U = PEEK(11): RETURN
60 IF PEEK(ZH +ZA) = 0 THEN RETURN
70 F = 1:L = ZA: RETURN
80 S = 0:F = 0:ZA = 0: GOSUB 60:ZA = 7: GOSUB 60:ZA = 63: GOSUB 60:ZA = 56: GOSUB 60: IF F >0 THEN ZA = L: GOTO 1160
90 ZA = 2: GOSUB 200:ZA = 5: GOSUB 200:ZA = 61: GOSUB 200:ZA = 58: GOSUB 200: IF F >0 THEN ZA = L: GOTO 1160
100 ZA = 16: GOSUB 300:ZA = 23: GOSUB 300:ZA = 47: GOSUB 300:ZA = 40: GOSUB 300: IF F >0 THEN ZA = L: GOTO 1160
110 ZA = 3: GOSUB 200:ZA = 4: GOSUB 200:ZA = 60: GOSUB 200:ZA = 59: GOSUB 200: IF F >0 THEN ZA = L: GOTO 1160
120 ZA = 24: GOSUB 300:ZA = 31: GOSUB 300:ZA = 39: GOSUB 300:ZA = 32: GOSUB 300: IF F >0 THEN ZA = L: GOTO 1160
130 S = 1:ZA = 1: GOSUB 200:ZA = 6: GOSUB 200:ZA = 62: GOSUB 200:ZA = 57: GOSUB 200: IF F >0 THEN ZA = L: GOTO 1160
140 ZA = 8: GOSUB 300:ZA = 15: GOSUB 300:ZA = 55: GOSUB 300:ZA = 48: GOSUB 300: IF F >0 THEN ZA = L: GOTO 1160
150 ZA = 9: IF PEEK(ZH +ZA) >0 AND PEEK(Z) = (A) THEN 1160
160 ZA = 14: IF PEEK(ZH +ZA) >0 AND PEEK(Z +7) = (A) THEN 1160
170 ZA = 54: IF PEEK(ZH +ZA) >0 AND PEEK(Z +63) = (A) THEN 1160
180 ZA = 49: IF PEEK(ZH +ZA) >0 AND PEEK(Z +56) = (A) THEN 1160
190 GOTO 490
200 IF PEEK(ZH +ZA) = 0 THEN RETURN
210 F = F +1:Y = INT(ZA/8):X = ZA -8 *Y: FOR X2 = -1 TO 1 STEP 2
220 X1 = X: GOSUB 400
230 X1 = X1 +X2: IF X1 <0 OR X1 >7 THEN 270
240 IF PEEK(QH +X1 +8 *Y) = 0 THEN 230
250 POKE 0,X1 +8 *Y: POKE 16,3 -A: CALL 11549
260 IF PEEK(Q +ZA) < >(A) THEN F = F -1: RETURN
270 NEXT : IF S = 0 THEN 290
280 IF PEEK(Z +ZA +1) = 0 AND PEEK(Z +ZA -1) = 0 THEN F = F -1: RETURN
290 L = ZA: RETURN
300 IF PEEK(ZH +ZA) = 0 THEN RETURN
310 F = F +1:Y = INT(ZA/8):X = ZA -8 *Y: FOR Y2 = -1 TO 1 STEP 2
320 Y1 = Y: GOSUB 400
330 Y1 = Y1 +Y2: IF Y1 <0 OR Y1 >7 THEN 370
340 IF PEEK(QH +X +8 *Y1) = 0 THEN 330
350 POKE 0,X +8 *Y1: POKE 16,3 -A: CALL 11549
360 IF PEEK(Q +ZA) < >(A) THEN F = F -1: RETURN
370 NEXT : IF S = 0 THEN 390
380 IF PEEK(Z +ZA -8) = 0 AND PEEK(Z +ZA +8) = 0 THEN F = F -1: RETURN
390 L = ZA: RETURN
400 CALL 11264: POKE 0,ZA: POKE 16,A: CALL 11549: RETURN
410 REM
420 IF B >56 THEN 550
430 IF FRG >0 THEN ON K GOTO 490,80,80
440 FRG = 0: FOR L = 0 TO 5:FRG = FRG + PEEK(Z +L +9) + PEEK(Z +L +49): NEXT
450 FOR L = 0 TO 3:FRG = FRG + PEEK(Z +8 *L +17) + PEEK(Z +8 *L +22): NEXT : IF FRG >0 THEN 430
460 CALL 11279:ZA = PEEK(12)
470 GOTO 1160
480 REM
490 CALL 11279:U = PEEK(11)
500 IF K < >3 THEN 550
510 FOR X1 = 1 TO 6: FOR Y1 = 1 TO 6:P = X1 +8 *Y1: IF P = 9 OR P = 14 OR P = 49 OR P = 54 THEN 540
520 H = PEEK(ZH +P): IF H = 0 THEN 540
530 POKE ZH +P,H +32
540 NEXT Y1,X1
550 O = 0: FOR L = 0 TO 63
560 IF PEEK(ZH +L) >0 THEN POKE ST +O,L: POKE ST +O +1, PEEK(ZH +L):O = O +2
570 NEXT : IF O = 2 THEN ZA = PEEK(ST): GOTO 1160
580 N = -99
590 O = O -2: CALL 11264:H = PEEK(ST +O)
600 POKE 0,H: POKE 16,A: CALL 11549:U = PEEK(11): IF B <55 THEN CALL 11279:U = PEEK(11)
610 IF U = 0 THEN U = -5
620 IF N < PEEK(ST +O +1) -U THEN ZA = PEEK(ST +O):N = PEEK(ST +O +1) -U
630 IF O < >0 THEN 590
640 GOTO 1160
650 REM
660 POKE 232,128: POKE 233,42
670 SCALE= 1: ROT= 0: COLOR= 0
680 POKE 32,0: POKE 33,27: POKE 34,0
690 PRINT CHR$(12)
700 HCOLOR= 3
710 X = 14:Y = 16:P = 182:T = 184
720 FOR I = 0 TO 8:S = Y +I *21
730 HPLOT X,(S) TO P,(S) TO P,S +1 TO X,S +1
740 NEXT I
750 FOR I = 0 TO 8:S = X +I *21
760 HPLOT S,Y TO S,T TO S +1,T TO S +1,Y
770 NEXT I
780 VTAB 2: PRINT " 1 2 3 4 5 6 7 8"
790 FOR I = 0 TO 7: DRAW 3 +I AT 9,26 +21 *I: NEXT
800 POKE 32,27: POKE 33,12
810 RETURN
820 REM
830 AD = 11776:ZA = 0:MC = 10752
840 Z = AD +64:Q = Z +128:ZH = Z +64:QH = Q +64:ST = QH +64
850 MC = 10752:T1 = 11328:RE = 11549:PE = 11279:TR = 11264:PE2 = 11231:COUN = 11680
860 REM
870 GOSUB 660: COLOR= 0
880 PRINT CHR$(12): VTAB 1: PRINT "* SUPER *": PRINT "* OTHELLO *": PRINT "* 1.0 *"
890 R = 0:FRG = 0:B = 0: POKE 34,6
900 FOR L = 0 TO 63: POKE Z +L,0: NEXT
910 POKE Z +27,2: POKE Z +28,1: POKE Z +35,1: POKE Z +36,2
920 A = 1:X = 4:Y = 3: GOSUB 1440:X = 3:Y = 4: GOSUB 1440
930 A = 2:X = 3:Y = 3: GOSUB 1440:X = 4:Y = 4: GOSUB 1440
940 FOR P = AD TO AD +63: POKE P, PEEK(P -64) + INT( RND(1) *2): NEXT
950 VTAB 7: PRINT "ZM^Y(1-3)";: INPUT K: IF K >3 OR K <1 THEN 950
960 VTAB 9: PRINT ">]C(Y/N)";: INPUT C$:A = 1:MAN = (C$ = "Y") +1
970 M$ = "& ":T$ = "% "
980 IF MAN = 2 THEN M$ = "% ":T$ = "& "
990 A = 3 -A
1000 CALL 11680: IF MAN = 2 THEN E = PEEK(1):D = PEEK(0)
1010 IF MAN = 1 THEN E = PEEK(0):D = PEEK(1)
1020 VTAB 5: PRINT M$;E" : "D" "T$
1030 IF D *E = 0 OR D +E = 64 THEN 1320
1040 GOSUB 50: IF U = 0 THEN R = R +1: GOTO 1280
1050 R = 0:B = B +1: IF A < >MAN THEN 410
1060 X = 0:Y = 0: VTAB 14: PRINT M$;": YOU": POKE -16368,0
1070 VTAB 15
1075 PRINT "V: =";
1080 GET C$:X = ASC(C$) -49: IF X <0 OR X >7 THEN 1080
1090 PRINT X +1: FOR P = 1 TO 100: NEXT P
1100 PRINT "@C =";
1110 GET C$:Y = ASC(C$) -49: IF Y <0 OR Y >7 THEN 1110
1120 PRINT Y +1
1130 IF PEEK(ZH +X +8 *Y) >0 THEN 1180
1140 VTAB 18: PRINT "?:J 59O>]!"
1150 FOR P = 0 TO 1000: NEXT : POKE 34,15: PRINT CHR$(12): POKE 34,6: GOTO 1070
1160 Y = INT(ZA/8):X = ZA -8 *Y
1170 PRINT CHR$(12): VTAB 7: PRINT T$;": COMPUTER";: PRINT "V: =";X +1: PRINT "@C =";Y +1
1180 POKE Z +X +8 *Y,A: GOSUB 1400:X1 = X:Y1 = Y: FOR L = -1 TO 1: FOR M = -1 TO 1
1190 IF L = 0 AND M = 0 THEN NEXT M
1200 X = X1:Y = Y1
1210 X = X +L:Y = Y +M: IF X >7 OR X <0 OR Y >7 OR Y <0 THEN 1270
1220 P = Z +X +8 *Y
1230 IF PEEK(P) = 0 THEN 1270
1240 IF PEEK(P) < >A GOTO 1210
1250 X = X -L:Y = Y -M: IF X = X1 AND Y = Y1 THEN 1270
1260 POKE Z +X +8 *Y,A: GOSUB 1440: GOTO 1250
1270 NEXT M,L: GOTO 990
1280 IF R >1 THEN 1320
1290 IF A = MAN THEN VTAB 14: PRINT M$;": YOU"
1300 IF A < >MAN THEN PRINT CHR$(12): VTAB 7: PRINT T$;": COMPUTER";
1310 INVERSE : PRINT "PASS!": NORMAL : GOTO 990
1320 PRINT CHR$(12): VTAB 7
1330 IF D = E THEN PRINT "DRAW"
1340 IF D >E THEN PRINT "COMPUTER WIN"
1350 IF D OW WIN!": POKE 8,0: CALL MC
1360 POKE -16368,0: PRINT "TRY AGAIN?";: GET C$
1370 IF C$ = "Y" THEN 870
1380 PR# 0: IN# 0: TEXT : LIST 1490: END
1390 REM
1400 I = X *21 +16:J = Y *21 +17: FOR P = 1 TO 3
1410 HCOLOR= 0: DRAW 2 AT I,J: FOR H = 1 TO 100: NEXT : POKE 8,56: CALL MC
1420 HCOLOR= 3: DRAW A AT I,J: FOR H = 1 TO 100: NEXT
1430 NEXT P: RETURN
1440 REM
1450 I = X *21 +16:J = Y *21 +17
1460 HCOLOR= 0: DRAW 2 AT I,J
1470 HCOLOR= 3: DRAW A AT I,J
1480 COLOR= 0: RETURN
1490 VTAB 12: HTAB 8: PRINT "ONE OR TWO PLAYERS ? ";: GET A$
1500 IF ASC(A$) = 49 THEN 10
1510 IF ASC(A$) = 50 THEN 1530
1520 GOTO 5
1530 POKE 4905,80: POKE 4906,32: POKE 4907,66: POKE 4908,32
1540 POKE 5193,80: POKE 5194,32: POKE 5195,65: POKE 5196,32: POKE 5197,32: POKE 5198,32: POKE 5199,32: POKE 5200,32: POKE 5201,32
1550 POKE 5206,171: POKE 5207,49: POKE 5208,48: POKE 5209,55: POKE 5210,53: POKE 5211,00
1560 GOTO 10
Text found in Super_Othello_v1.0_19xx__.do/HELLO.bas:
10 PRINT CHR$(4);"RUN APPLE CHESS"
- Addeddate
- 2014-06-12 22:28:18
- Emulator
- apple2e
- Emulator_ext
- do
- Identifier
- a2_Super_Othello_v1.0_19xx_
- Scanner
- Internet Archive Python library 0.6.5
comment
Reviews
233 Views
DOWNLOAD OPTIONS
IN COLLECTIONS
The Apple II Library: Games The Software Library: Apple Computer Software Library The Emulation StationUploaded by Jason Scott on