en:othello_espanol
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | en:othello_espanol [2022/06/30 14:15] (current) – created jevicac | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== OTHELLO ====== | ||
+ | {{: | ||
+ | |||
+ | ===== Info ===== | ||
+ | ^ Author | Angel Zarazaga | | ||
+ | ^ Computer | Amstrad PCW 8256 / 8512 / 9512 | | ||
+ | ^ Year | 1987 | | ||
+ | ^ Gender | Table | | ||
+ | ^ Controls | Keyboard | | ||
+ | ^ Languages | Spanish | | ||
+ | ^ State | [[preserved|Preserved]] | | ||
+ | |||
+ | ===== Screenshots ===== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | It is an ancient game of logic and strategy known by the names of Othello or Reversi. This is a pretty strong game. | ||
+ | |||
+ | The rules: The playing area of the board consists of an eight by eight grid on which the pieces are placed. These are black on one side and white on the other. | ||
+ | |||
+ | The idea is to either remove the opponent' | ||
+ | |||
+ | To win chips from your opponent you must enclose them among yours. Once this is done, the encased tiles are turned over, so that they show your color. | ||
+ | |||
+ | ===== Listing ===== | ||
+ | |||
+ | * **__Listing - OTHELLOS.BAS__** | ||
+ | |||
+ | < | ||
+ | |||
+ | 10 ' *=================================* | ||
+ | 20 ' * EL JUEGO DE ' | ||
+ | 30 ' * CONOCIDO COMO ' | ||
+ | 40 ' *---------------------------------* | ||
+ | 50 ' * (C) Angel Zarazaga y * | ||
+ | 60 ' * AMSTRAD USER * | ||
+ | 70 ' * - 1987 - * | ||
+ | 80 ' *=================================* | ||
+ | 90 ' | ||
+ | 100 ' ================== | ||
+ | 110 ' PROGRAMA PRINCIPAL | ||
+ | 120 ' ================== | ||
+ | 130 GOSUB 210:' Inicializa el tablero | ||
+ | 140 GOSUB 980:' Eleccion del jugador | ||
+ | 150 GOSUB 1660:' Eleccion del ordenador | ||
+ | 160 GOTO 140:' Bucle hasta el final del juego | ||
+ | 170 ' | ||
+ | 180 ' | ||
+ | 190 ' | ||
+ | 200 ' | ||
+ | 210 DIM b$(8, | ||
+ | 220 esc$=CHR$(27) | ||
+ | 230 home$=esc$+" | ||
+ | 240 cls$=esc$+" | ||
+ | 250 curon$=esc$+" | ||
+ | 260 curoff$=esc$+" | ||
+ | 270 beep$=CHR$(7) | ||
+ | 280 fin$=" | ||
+ | 290 u$(1)=" | ||
+ | 300 u$(3)=" | ||
+ | 310 u$(5)=" | ||
+ | 320 u$(7)=" | ||
+ | 330 DEF FNtab$(col%, | ||
+ | 340 DEF FNbox$(k1%, | ||
+ | 350 ' | ||
+ | 360 ' | ||
+ | 370 ' | ||
+ | 380 PRINT cls$; | ||
+ | 390 READ k%: | ||
+ | 400 READ k%, | ||
+ | 410 FOR j%=1 TO 8: | ||
+ | 420 READ k%, | ||
+ | 430 q$(i%)=q$(i%)+p$: | ||
+ | 440 PRINT FNtab$(26, | ||
+ | 450 FOR i%=7 TO 21 STEP 2:PRINT FNtab$(26, | ||
+ | 460 PRINT FNtab$(26, | ||
+ | 470 PRINT FNtab$(26, | ||
+ | 480 DATA 150, | ||
+ | 490 DATA 149, | ||
+ | 500 DATA 151, | ||
+ | 510 DATA 147, | ||
+ | 520 ' | ||
+ | 530 ' | ||
+ | 540 ' | ||
+ | 550 r$=" | ||
+ | 560 FOR i%=1 TO 9:PRINT FNtab$(24+(i%*4), | ||
+ | 570 PRINT FNtab$(60, | ||
+ | 580 ' --------------------------------- | ||
+ | 590 ' | ||
+ | 600 ' --------------------------------- | ||
+ | 610 FOR i%=1 TO 23:READ k1%, | ||
+ | 620 PRINT FNbox$(k1%, | ||
+ | 630 FOR i%=1 TO 7:READ col%, | ||
+ | 640 PRINT FNtab$(col%, | ||
+ | 650 DATA 26, | ||
+ | 660 DATA 26, | ||
+ | 670 DATA 0, | ||
+ | 680 DATA 0, | ||
+ | 690 DATA 65, | ||
+ | 700 DATA 65, | ||
+ | 710 DATA 12, | ||
+ | 720 DATA 12, | ||
+ | 730 DATA 28, | ||
+ | 740 DATA 28, | ||
+ | 750 DATA 28, | ||
+ | 760 DATA 2, | ||
+ | 770 DATA 2, | ||
+ | 780 ' | ||
+ | 790 ' | ||
+ | 800 ' | ||
+ | 810 PRINT FNtab$(14, | ||
+ | 820 PRINT FNtab$(14, | ||
+ | 830 LINE INPUT nivel$: | ||
+ | 840 IF nivel<1 OR nivel>3 THEN 810 | ||
+ | 850 FOR i%=1 TO 8:FOR j%=1 TO 8: | ||
+ | 860 IF nivel=1 THEN b$(1, | ||
+ | 870 IF nivel=3 THEN b$(1, | ||
+ | 880 b$(4, | ||
+ | 890 ' | ||
+ | 900 ' DIBUJA LAS FICHAS EN EL TABLERO | ||
+ | 910 ' | ||
+ | 920 FOR i%=1 TO 8:FOR j%=1 TO 8 | ||
+ | 930 PRINT FNtab$((j%*4)+24, | ||
+ | 940 NEXT j%:NEXT i%:RETURN | ||
+ | 950 ' | ||
+ | 960 ' | ||
+ | 970 ' | ||
+ | 980 PRINT FNtab$(14, | ||
+ | 990 PRINT FNtab$(14, | ||
+ | 1000 PRINT FNtab$(14, | ||
+ | 1010 PRINT FNtab$(14, | ||
+ | 1020 l$=UPPER$(LEFT$(mov$, | ||
+ | 1030 x%=INSTR(" | ||
+ | 1040 IF x%=0 OR y%=0 THEN GOSUB 1130:GOTO 980 | ||
+ | 1050 t$=b$(x%, | ||
+ | 1060 b$(x%, | ||
+ | 1070 IF s%=0 THEN b$(x%, | ||
+ | 1080 IF s%>0 THEN b$(x%, | ||
+ | 1090 RETURN | ||
+ | 1100 ' | ||
+ | 1110 ' | ||
+ | 1120 ' | ||
+ | 1130 PRINT FNtab$(14, | ||
+ | 1140 FOR n=1 TO 3:PRINT beep$;: | ||
+ | 1150 ' | ||
+ | 1160 ' CALCULO E IMPRESION DE PUNTOS. | ||
+ | 1170 ' COMPRUEBA EL FINAL DEL JUEGO. | ||
+ | 1180 ' | ||
+ | 1190 sc1%=0: | ||
+ | 1200 IF b$(j%, | ||
+ | 1210 IF b$(j%, | ||
+ | 1220 NEXT j%:NEXT i% | ||
+ | 1230 PRINT FNtab$(19, | ||
+ | 1240 PRINT FNtab$(84, | ||
+ | 1250 IF x$=" | ||
+ | 1260 IF x$=" | ||
+ | 1270 IF sc1%+sc2%=64 THEN FOR n=1 TO 7:PRINT beep$;:NEXT n:PRINT FNtab$(14, | ||
+ | 1280 RETURN | ||
+ | 1290 ' | ||
+ | 1300 ' VERIFICACION DE LOS MOVIMIENTOS | ||
+ | 1310 ' | ||
+ | 1320 FOR i%=1 TO 8: | ||
+ | 1330 IF y%>=3 THEN FOR i%=y% TO 1 STEP -1: | ||
+ | 1340 IF x%<=6 AND y%>=3 AND y%>9-x% THEN FOR i%=0 TO 8-x%: | ||
+ | 1350 IF x%<=6 THEN FOR i%=x% TO 8: | ||
+ | 1360 IF x%<=6 AND y%<=6 AND x%<y% THEN FOR i%=0 TO 8-y%: | ||
+ | 1370 IF y%<=6 THEN FOR i%=y% TO 8: | ||
+ | 1380 IF x%>=3 AND y%<=6 AND x%>9-y% THEN FOR i%=0 TO 8-y%: | ||
+ | 1390 IF x%>=3 THEN FOR i%=x% TO 1 STEP -1: | ||
+ | 1400 IF x%>=3 AND y%>=3 AND x%<y% THEN FOR i%=0 TO x%-1: | ||
+ | 1410 ' | ||
+ | 1420 s%=0: | ||
+ | 1430 a%=INSTR(n$(j%), | ||
+ | 1440 IF c%=0 THEN c%=9 | ||
+ | 1450 IF a%=0 OR b%=0 OR a%<b% OR c%<a% OR c%<b% THEN 1600 | ||
+ | 1460 IF j%>=1 AND j%<=4 THEN k%=j%+4 | ||
+ | 1470 IF j%>=5 AND j%<=8 THEN k%=j%-4 | ||
+ | 1480 IF MID$(n$(j%), | ||
+ | 1490 IF MID$(n$(j%), | ||
+ | 1500 FOR k%=2 TO a%-1: | ||
+ | 1510 IF flag%=1 THEN 1600 | ||
+ | 1520 IF j%=1 THEN d%=0:FOR i%=y% TO 1 STEP-1: | ||
+ | 1530 IF j%=2 AND y%>9-x% THEN FOR i%=0 TO 8-x%: | ||
+ | 1540 IF j%=3 THEN d%=0:FOR i%=x% TO 8: | ||
+ | 1550 IF j%=4 AND x%<y% THEN FOR i%=0 TO 8-y%: | ||
+ | 1560 IF j%=5 THEN d%=0:FOR i%=y% TO 8: | ||
+ | 1570 IF j%=6 AND x%>9-y% THEN FOR i%=0 TO 8-y%: | ||
+ | 1580 IF j%=7 THEN d%=0:FOR i%=x% TO 1 STEP -1: | ||
+ | 1590 IF j%=8 AND x%<y% THEN FOR i%=0 TO x%-1: | ||
+ | 1600 NEXT j%:RETURN | ||
+ | 1610 ' | ||
+ | 1620 ' | ||
+ | 1630 ' | ||
+ | 1640 ' | ||
+ | 1650 ' | ||
+ | 1660 PRINT FNtab$(14, | ||
+ | 1670 PRINT FNtab$(14, | ||
+ | 1680 d%=0: | ||
+ | 1690 d%=d%+1: | ||
+ | 1700 l$=LEFT$(mov$, | ||
+ | 1710 x%=INSTR(" | ||
+ | 1720 t$=b$(x%, | ||
+ | 1730 b$(x%, | ||
+ | 1740 IF s%-t%>h% THEN h%=s%-t%: | ||
+ | 1750 b$(x%, | ||
+ | 1760 NEXT w% | ||
+ | 1770 IF h%>0 THEN GOSUB 1800:r%=7 | ||
+ | 1780 NEXT r%:RETURN | ||
+ | 1790 ' | ||
+ | 1800 mov$=MID$(u$(r%), | ||
+ | 1810 x%=INSTR(" | ||
+ | 1820 b$(x%, | ||
+ | 1830 b$(x%, | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Controls ===== | ||
+ | |||
+ | With PCW keyboard | ||
+ | |||
+ | ===== Loading the program ===== | ||
+ | |||
+ | 1.- Insert the CP/M disc on side 2 | ||
+ | 2.- Write BASIC and wait for it to load | ||
+ | 3.- Remove the CP/M disk and insert the disk containing the Othello game | ||
+ | 4.- Type run " | ||
+ | |||
+ | ===== Extras ===== | ||
+ | |||
+ | * Listing of the program in a magazine of great circulation of the time | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== Descarga ===== | ||
+ | |||
+ | * {{: |
en/othello_espanol.txt · Last modified: 2022/06/30 14:15 by jevicac