Herramientas de usuario

Herramientas del sitio


es:othello_ingles

¡Esta es una revisión vieja del documento!


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

      K = ARRIBA
      M = ABAJO
      X = DERECHA
      Z = IZQUIERDA

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.1656588897.txt.gz · Última modificación: 2022/06/30 14:34 por jevicac