Herramientas de usuario

Herramientas del sitio


es:othello_ingles

OTHELLO

Ficha

Autor Richard Hopkins
Computadora Amstrad PCW 8256 / 8512 / 9512
Año 1990
Género Tablero
Controles Teclado
Lenguajes Inglés
Estado Preservado

Screenshotss

Descripción

Se trata de un antiquísimo juego de lógica y estrategia conocido por los nombres de Othello o de Reversi. Este es un juego bastante fuerte.

Las reglas: La zona de juego del tablero consiste en una cuadrícula de ocho por ocho en la que se colocan las fichas. Estas son de color negro por un lado y blanco por el otro.

La idea consiste en eliminar las fichas del contrario, en cuyo caso el juego termina en ese momento o continuar jugando hasta que el tablero esté lleno y entonces decidir quién ha ganado por el simple método de contar cuántas fichas tiene cada uno.

Para ganar fichas a tu adversario debes encerrarlas entre las tuyas. Una vez hecho ésto, las fichas encerradas se dan la vuelta, de forma que muestran tu color.

Listado

  • Listado - OTHELLOE.BAS
10 e$=CHR$(27):rv$=e$+"p":nv$=e$+"q"
20 cl$=e$+"E"+e$+"H":on$=e$+"e":of$=e$+"f":PRINT of$
30 DEF FNat$(x,y)=CHR$(27)+"Y"+CHR$(31+x)+CHR$(31+y)
40 DIM a(7,7):RESTORE 720:GOSUB 720
50 INPUT "Enter level 1-25 (1=hard) ";lev
60 IF lev>25 OR lev<1 THEN 50
70 GOSUB 90:GOSUB 430
80 t=1:GOSUB 190:t=-1:GOSUB 390:GOTO 80
90 a(3,3)=50:a(3,4)=-50:a(4,3)=-50:a(4,4)=50
100 FOR n=2 TO 5:a(0,n)=5:a(n,0)=5:a(7,n)=5:a(n,7)=5:NEXT 
110 FOR n=6 TO 7
120 a(n-6,7-n)=-5:a(n-6,n)=-5:a(n,n-6)=-5:a(n,ABS(n-13))=-5:NEXT
130 RESTORE 160
140 FOR n=1 TO 3
150 READ x,y,z:a(x,y)=z:a(y,x)=z:a(x,x)=z:a(y,y)=z:NEXT
160 DATA 0,7,20,1,6,-10,2,5,10
170 FOR n=3 TO 4
180 a(n,2)=5:a(2,n)=5:a(5,n)=5:a(n,5)=5:NEXT:RETURN
190 di=0:su=1
200 PRINT FNat$(28,5);CHR$(7);
210 INPUT "Enter your move "; i:i=i-11
220 IF i>77 OR i<0 THEN GOTO 200
230 x=INT(i/10):y=i-(x*10)
240 IF ABS(a(x,y))=50 THEN GOTO 200
250 FOR f=-1 TO 1: FOR n=-1 TO 1
260 IF x+f>7 OR x+f<0 OR y+n>7 OR y+n<0 THEN GOTO 280
270 IF a(x+f,y+n)=50*t THEN GOSUB 320
280 NEXT: NEXT
290 IF su=1 AND di=0 THEN GOTO 200
300 IF su=2 AND di=1 AND sc>hsc THEN xsc=x:ysc=y:hsc=sc
310 RETURN
320 x1=x:y1=y:x1=x1+(f*2):y1=y1+(n*2)
330 IF x1>7 OR x1<0 OR y1>7 OR y1<0 THEN RETURN
340 IF ABS(a(x1,y1))<>50 THEN RETURN
350 IF a(x1,y1)<>50*-t THEN x1=x1+f:y1=y1+n:IF su=2 THEN sc=sc+lev:GOTO 330 ELSE 330
360 IF su=1 THEN a(x1,y1)=-50:GOSUB 680:di=1:IF x1=x AND y1=y THEN RETURN ELSE x1=x1-f:y1=y1-n:GOTO 360
370 IF su=2 THEN di=1:RETURN
380 IF su=3 THEN a(x1,y1)=50:GOSUB 640:IF x1=x AND y1=y THEN RETURN ELSE x1=x1-f:y1=y1-n:GOTO 380
390 xsc=0:ysc=0:hsc=-100
400 FOR x=0 TO 7: FOR y=0 TO 7:di=0:sc=a(x,y)
410 IF ABS(a(x,y))<>50 THEN su=2:GOSUB 250
420 NEXT:NEXT:x=xsc:y=ysc:su=3:GOTO 250
430 OUT 248,8:PRINT cl$
440 PRINT FNat$(1,0);CHR$(134);STRING$(39,138);CHR$(140)
450 PRINT FNat$(25,0);CHR$(131);STRING$(39,138);CHR$(137)
460 FOR f=6 TO 38 STEP 5
470 PRINT FNat$(1,f);CHR$(132)
480 PRINT FNat$(25,f);CHR$(129)
490 NEXT
500 FOR n=2 TO 24
510 PRINT FNat$(n,0);CHR$(133)
520 PRINT FNat$(n,41);CHR$(133)
530 FOR f=6 TO 38 STEP 5: PRINT FNat$(n,f);CHR$(149):NEXT
540 NEXT
550 FOR n=4 TO 22 STEP 3
560 PRINT FNat$(n,0);CHR$(130);STRING$(39,154);CHR$(136)
570 FOR f=6 TO 38 STEP 5:PRINT FNat$(n,f);CHR$(159):NEXT
580 NEXT
590 FOR n=1 TO 8
600 PRINT FNat$(n*3-1,42);n:PRINT FNat$(26,n*5-3);n
610 NEXT:OUT 248,7
620 x1=3:y1=3:GOSUB 640:y1=4:GOSUB 680:x1=4
630 GOSUB 640:y1=3:GOSUB 680:RETURN
640 PRINT FNat$(2+(x1*3),2+(y1*5));
650 PRINT CHR$(166);rv$;"  ";nv$;CHR$(167)
660 PRINT FNat$(3+(x1*3),2+(y1*5));
670 PRINT CHR$(169);rv$;"  ";nv$;CHR$(168):RETURN
680 PRINT FNat$(2+(x1*3),2+(y1*5));CHR$(160);
690 PRINT CHR$(162);CHR$(162);CHR$(161)
700 PRINT FNat$(3+(x1*3),2+(y1*5));CHR$(165);
710 PRINT CHR$(163);CHR$(163);CHR$(164):RETURN 
720 MEMORY &HBFFE
730 FOR hex=&HC070 TO &HC098: READ pk: POKE hex,pk: NEXT hex
740 DATA 243,62,129,211,241,62,130,211
750 DATA 242,175,95,103,22,184,58,153,192,111,41,41
760 DATA 41,25,17,154,192,235,1,8,0,237,176,62,133
770 DATA 211,241,62,134,211,242,251,201
780 FOR char=160 TO 169: POKE &HC099,char
790 FOR row=1 TO 8
800 READ binary(row):POKE &HC099+row, (binary(row)):NEXT row
810 cl=&HC070: CALL cl: NEXT char:RETURN
820 DATA 0,7,24,32,64,128,128,128,0,224,24,4,2,1,1,1
830 DATA 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255
840 DATA 1,1,1,2,4,24,224,0,128,128,128,64,32,24,7,0
850 DATA 0,7,31,63,127,255,255,255
860 DATA 0,224,248,252,254,255,255,255
870 DATA 255,255,255,254,252,248,224,0
880 DATA 255,255,255,127,63,31,7,0

Controles

      Con el teclado del PCW

Carga del programa

1.- Introducir el disco CP/M por la cara 2
2.- Escribir BASIC y esperar a que cargue
3.- Retirar el disco CP/M e introducir el disco que contiene el juego Othello
4.- Teclear run "OTHELLOE" y pulsar la tecla "ENTER"

Extras

  • Listado del programa en una revista de gran tirada de la época

othello_en_programa_01.jpg othello_en_programa_02.jpg othello_en_programa_03.jpg

Descarga

  • Othello(juego en formato dsk, comprimido con zip)
es/othello_ingles.txt · Última modificación: 2022/06/30 14:43 por jevicac