Herramientas de usuario

Herramientas del sitio


es:paranoid

PARANOID

Ficha

Autor Jorge Pérez Barreiro
Computadora Amstrad PCW 8256 / 8512 / 9512
Año 1988
Género Tablero
Controles Teclado
Lenguajes Español
Estado Preservado

Capturas

Descripción

Para todos aquellos que os gustan los juegos de mesa aquí tenéis Paranoid, para que paséis un buen rato jugando al popular juego de las damas.

De sobra es conocido por todos el juego de las damas, ese magnífico demoledor de cráneos que actúa sobre un tablero de ajedrez con veinticuatro fichas, doce blancas y doce negras.

Listado

  • Listado - PARANOID.BAS
100 'DAMAS (C)3-1-1988 JORGE PEREZ BARREIRO
105 '
110 cls$=CHR$(27)+"E"+CHR$(27)+"H":REM BORRAR PANTALLA
120 DEF FN at$(v,h)=CHR$(27)+"Y"+CHR$(32+v)+CHR$(32+h):REM CONTROL "AT"
130 inverse1$=CHR$(27)+"p":REM VIDEO INVERSO
140 inverse0$=CHR$(27)+"q":REM VIDEO NORMAL
150 cursor1$=CHR$(27)+"e":REM CON CURSOR
160 cursor0$=CHR$(27)+"f":REM SIN CURSOR
170 scrab$=CHR$(27)+"L"
180 scrar$=CHR$(27)+"M"
190 DEF FN ventana$(a,b,c,d)=CHR$(27)+"X"+CHR$(32+a)+CHR$(32+b)+CHR$(c-1+32)+CHR$(d-1+32)
200 RANDOMIZE PEEK(64504!)
210 fir1=0:fir2=0:fic1=0:fic2=0:ju=0
900 PRINT cls$
910 t=36:PRINT FN at$(2,30);"*.*.*.* P A R A N O I D *.*.*.*"
915 PRINT FN at$(25,25);CHR$(134);:FOR r=1 TO 35:PRINT CHR$(138);:NEXT r:PRINT CHR$(140);FN at$(26,25);CHR$(133);FN at$(26,61);CHR$(133)
917 PRINT FN at$(27,25);CHR$(131);:FOR r=1 TO 35:PRINT CHR$(138);:NEXT r:PRINT CHR$(137)
922 PRINT FN at$(4,25);"(C)3.4.5-Enero-1988 JORGE PEREZ BARREIRO"
924 PRINT FN at$(8,t);"OPCIONES:";FN at$(9,t);"---------"
926 PRINT FN at$(11,t);"1.-EMPIEZA HUMANO";FN at$(13,t);"2.-EMPIEZA ORDENADOR";FN at$(15,t);"3.-JUEGO YO SOLO";FN at$(17,t);"4.-FIN"
927 v$="                             * * * P A R A N O I D * * * (C) 5-Enero-1988 By Jorge Perez Barreiro - AMSTRAD PCW 8256-8512-9512 ..... PARANOID es igual que el juego de DAMAS pero con las siguientes excepciones:                                     "
928 v2$="                                     No se permiten las capturas multiples,no existe bufar y cuando una ficha llega al final se combierte en Reina y desaparece del tablero.                                     "
929 v3$="                                   La puntuacion final es igual a la siguiente expresion:(Fichas reinas conseguidas por 2)+fichas comidas al contrario+fichas finales propias en el tablero. *****                                              "
930 s$=INKEY$
935 vb=vb+1
936 IF kl=0 THEN w$=v$
937 IF kl=1 THEN w$=v2$
938 IF kl=2 THEN w$=v3$
940 IF vb+40=LEN(w$) THEN vb=0:kl=kl+1:IF kl=3 THEN kl=0
942 IF vb=0 THEN GOTO 935
945 PRINT FN at$(26,26);MID$(w$,vb,35)
950 IF s$="" THEN GOTO 930
960 IF s$<"1" OR s$>"4" THEN GOTO 930
970 IF s$="4" THEN PRINT cls$:END
1000 DIM k$(14):DIM e(51,7):DIM p$(14):DIM a$(14):c$="==============":FOR t=1 TO 3:a$(t)=c$:NEXT t:FOR t=12 TO 14:a$(t)=c$:NEXT t
1005 RESTORE 1010:FOR t=4 TO 11:READ b$:a$(t)="==="+b$+"===":NEXT t
1010 DATA " x x x x"
1020 DATA "x x x x "
1030 DATA " x x x x"
1040 DATA ". . . . "
1050 DATA " . . . ."
1060 DATA "o o o o "
1070 DATA " o o o o"
1080 DATA "o o o o "
1090 PRINT cls$
1100 PRINT FN at$(0,32);"* * * * PARANOID * * * *"
1110 PRINT FN at$(5,2);"  ORDENADOR:";FN at$(6,2);"  ----------"
1120 PRINT FN at$(16,63);"   HUMANO:";FN at$(17,65);" -------"
1200 GOSUB 8000
1210 IF s$="1" THEN GOTO 1780 
1220 IF s$="2" THEN GOTO 1500
1230 IF s$="3" THEN aut=1:GOTO 1780
1300 STOP
1500 IF rec<>1 AND aut<>1 THEN PRINT FN at$(16,64);" ";FN at$(5,2);"*":PRINT FN at$(16,2);inverse1$;"* ESTOY PENSANDO *";inverse0$
1505 ct=0:FOR l=4 TO 11:FOR c=4 TO 11
1510 IF MID$(a$(l),c,1)="x" THEN GOTO 3000
1550 NEXT c:NEXT l
1560 'analiza resultados
1570 IF ct=0 THEN GOTO 8750
1600 flo=0:ma=-400:FOR t=1 TO ct
1610 IF e(t,1)>ma THEN ma=e(t,1):sel=t
1620 IF e(t,1)=ma THEN flo=1
1630 NEXT t
1640 IF flo=1 THEN GOTO 1900
1650 lo1=e(sel,2):lo2=e(sel,3)
1660 li=e(sel,4):co=e(sel,5)
1670 bs3=e(sel,6):bs4=e(sel,7)
1680 IF aut=1 THEN GOTO 8870
1700 MID$(a$(li),co,1)="."
1710 IF bs3<>0 THEN MID$(a$(bs3),bs4,1)=".":fic2=fic2+1
1720 MID$(a$(lo1),lo2,1)="x"
1725 o$="":o$=o$+STR$(li-3)+STR$(co-3)+STR$(lo1-3)+STR$(lo2-3)
1726 t$="-"
1727 IF bs3<>0 THEN t$="x"
1728 PRINT FN at$(16,2);"                  "
1730 PRINT FN at$(12,2);inverse1$;"MI JUGADA:";inverse0$;MID$(o$,2,1);MID$(o$,4,1);t$;MID$(o$,6,1);MID$(o$,8,1)
1750 ju=ju+1:GOSUB 8000
1755 IF lo1=11 THEN fir2=fir2+1:MID$(a$(lo1),lo2,1)=".":FOR t=1 TO 30:PRINT FN at$(14,2);"** FICHA REINA **":PRINT FN at$(14,2);"                  ":NEXT t:GOSUB 8000
1760 IF (fir1+fic2=12) OR (fir2+fic1=12) THEN GOTO 8600
1770 IF aut=2 THEN aut=1
1780 PRINT FN at$(5,2);"  ";FN at$(16,64);"*"
1782 v$="-":IF aut>0 THEN GOTO 8800
1783 PRINT FN at$(28,2);inverse1$;"TU MUEVES:"inverse0$;:INPUT "FC-FC:",f$:PRINT FN at$(28,2);SPC(25)
1784 IF f$="r" OR f$="R" THEN rec=1:aut=1:GOTO 8800
1785 IF rec=1 THEN rec=0:aut=0:PRINT FN at$(20,63);inverse1$;"TE RECOMIENDO:";inverse0$;f$:GOTO 1783
1788 fi=VAL(MID$(f$,1,1))+3
1790 co=VAL(MID$(f$,2,1))+3
1795 co2=VAL(MID$(f$,5,1))+3
1797 fi2=VAL(MID$(f$,4,1))+3
1800 IF MID$(a$(fi),co,1)<>"o" OR MID$(a$(fi2),co2,1)<>"." THEN GOTO 1780
1805 IF fi2>fi OR fi2=fi THEN GOTO 1780
1810 IF (fi-fi2=1 AND co2-co=1) THEN bs1=0:bs2=0:GOTO 1840
1820 IF (fi-fi2=1 AND co2-co=-1) THEN bs1=0:bs2=0:GOTO 1840
1822 IF (fi-fi2=2 AND co2-co=2) THEN IF (MID$(a$(fi-1),co+1,1)="x") THEN bs1=fi-1:bs2=co+1:v$="x":GOTO 1840
1824 IF (fi-fi2=2 AND co2-co=-2) THEN IF (MID$(a$(fi-1),co-1,1)="x") THEN bs1=fi-1:bs2=co-1:v$="x":GOTO 1840
1830 GOTO 1780
1840 PRINT FN at$(20,63);inverse1$;"TU JUGADA:";inverse0$;;MID$(f$,1,2);v$;MID$(f$,4,2);"     "
1843 MID$(a$(fi),co,1)="."
1845 IF bs1<>0 THEN MID$(a$(bs1),bs2,1)=".":fic1=fic1+1
1850 MID$(a$(fi2),co2,1)="o"
1860 ju=ju+1:GOSUB 8000
1870 IF fi2=4 THEN fir1=fir1+1:MID$(a$(fi2),co2,1)=".":FOR t=1 TO 30:PRINT FN at$(18,62);"** FICHA REINA **":PRINT FN at$(18,62);"                  ":NEXT t:GOSUB 8000
1880 IF (fir1+fic2=12) OR (fir2+fic1=12) THEN GOTO 8600
1890 GOTO 1500
1900 sel=INT (RND*ct)+1:IF e(sel,1)<>ma THEN GOTO 1900
1910 GOTO 1650
2000 STOP
3000 'ANALIZA LOS MAVIMIENTOS
3010 IF MID$(a$(l+1),c+1,1)="." OR MID$(a$(l+1),c-1,1)="." OR (MID$(a$(l+2),c+2,1)="." AND MID$(a$(l+1),c+1,1)="o") OR (MID$(a$(l+2),c-2,1)="." AND MID$(a$(l+1),c-1,1)="o") THEN GOTO 3015 ELSE 1550
3015 mo1=0:mo2=0:mo3=0:mo4=0
3050 REM
3070 IF mo1=0 THEN IF MID$(a$(l+1),c+1,1)="." THEN lo1=l+1:lo2=c+1:bs1=0:bs2=0:mo1=1:GOTO 6000
3080 IF mo2=0 THEN IF MID$(a$(l+1),c-1,1)="." THEN lo1=l+1:lo2=c-1:bs1=0:bs2=0:mo2=1:GOTO 6000
3090 IF mo3=0 THEN IF (MID$(a$(l+2),c+2,1)="." AND MID$(a$(l+1),c+1,1)="o") THEN lo1=l+2:lo2=c+2:bs1=l+1:bs2=c+1:mo3=1:GOTO 6000
3100 IF mo4=0 THEN IF (MID$(a$(l+2),c-2,1)="." AND MID$(a$(l+1),c-1,1)="o") THEN lo1=l+2:lo2=c-2:bs1=l+1:bs2=c-1:mo4=1:GOTO 6000
3110 GOTO 1550
5999 STOP
6000 'EN PRUEVA MUEVE Y ANALIZA ESTADO DEL TABLERO
6002 ct=ct+1
6003 FOR y=4 TO 11:p$(y)=a$(y):NEXT y
6005 sum=0
6010 MID$(p$(lo1),lo2,1)="x"
6015 df=0
6020 IF bs1<>0 THEN MID$(p$(bs1),bs2,1)=".":sum=sum+50:df=1:IF (MID$(p$(lo1+1),lo2-1,1)<>"o" AND MID$(p$(lo1+1),lo2+1,1)<>"o") THEN sum=sum+800
6025 IF l=10 THEN sum=sum+15
6030 MID$(p$(l),c,1)="."
6200 FOR z=4 TO 11:FOR x=4 TO 11
6210 u$=MID$(p$(z),x,1)
6220 IF u$="x" THEN GOTO 6500 
6230 REM IF u$="o" THEN GOTO
6240 NEXT x:NEXT z
6245 GOTO 3050
6500 REM
6510 IF df=1 THEN IF lo2<c THEN IF (MID$(a$(lo1+1),lo2-1,1)<>"o" AND MID$(a$(lo1+1),lo2+1,1)<>"." AND MID$(a$(lo1-1),lo2-1,1)<>".") THEN sum=sum+500
6515 IF df=1 THEN IF lo2>c THEN IF (MID$(a$(lo1+1),lo2-1,1)<>"." AND MID$(a$(lo1+1),lo2+1,1)<>"o" AND MID$(a$(lo1-9),lo2+1,1)<>".") THEN sum=sum+500
6520 IF (MID$(p$(z+1),x+1,1)="o" AND MID$(p$(z+2),x+2,1)="." AND MID$(p$(z+3),x+3,1)="o") THEN sum=sum+20
6530 IF (MID$(p$(z+1),x-1,1)="o" AND MID$(p$(z+2),x-2,1)="." AND MID$(p$(z+3),x-3,1)="o") THEN sum=sum+20
6540 IF (MID$(p$(z+1),x-1,1)="o" AND MID$(p$(z+2),x-2,1)="." AND (MID$(p$(z+3),x-3,1)="." OR MID$(p$(z+3),x-3,1)="x") AND MID$(p$(z-1),x+1,1)<>"." AND MID$(p$(z+1),x+1)<>"o") THEN sum=sum+80
6550 IF (MID$(p$(z+1),x+1,1)="o" AND MID$(p$(z+2),x+2,1)="." AND (MID$(p$(z+3),x+3,1)="." OR MID$(p$(z+3),x+3,1)="x") AND MID$(p$(z-1),x-1,1)<>"." AND MID$(p$(z+1),x-1)<>"o") THEN sum=sum+80
6560 IF (MID$(p$(z+1),x+1,1)="o" AND MID$(p$(z-1),x-1,1)=".") THEN sum=sum-50
6570 IF (MID$(p$(z+1),x-1,1)="o" AND MID$(p$(z-1),x+1,1)=".") THEN sum=sum-50
6580 IF (MID$(p$(z+1),x+1,1)="o" AND MID$(p$(z-1),x-1,1)="." AND MID$(p$(z-2),x-2,1)="x") THEN sum=sum+10
6590 IF (MID$(p$(z+1),x-1,1)="o" AND MID$(p$(z-1),x+1,1)="." AND MID$(p$(z-2),x+2,1)="x") THEN sum=sum+10
6650 e(ct,1)=sum
6655 e(ct,2)=lo1
6660 e(ct,3)=lo2
6665 e(ct,4)=l
6670 e(ct,5)=c
6675 e(ct,6)=bs1
6680 e(ct,7)=bs2
6800 GOTO 6240
8000 FOR t=4 TO 11:FOR y=4 TO 11
8010 u$=MID$(a$(t),y,1)
8020 IF u$="x" THEN g1$=inverse1$+CHR$(134)+CHR$(138)+CHR$(138)+CHR$(140):g2$=CHR$(131)+CHR$(138)+CHR$(138)+CHR$(137)+inverse0$
8030 IF u$="o" THEN g1$=CHR$(134)+CHR$(138)+CHR$(138)+CHR$(140):g2$=CHR$(131)+CHR$(138)+CHR$(138)+CHR$(137)
8040 IF u$="." THEN g1$=inverse1$+"    ":g2$="    "+inverse0$
8045 IF u$=" " THEN GOTO 8090
8050 PRINT FN at$(t*2,y*4+12);g1$;FN at$(t*2+1,y*4+12);g2$
8090 NEXT y:NEXT t
8095 IF gt=1 THEN GOTO 8200
8097 gt=1
8100 u$="":FOR t=1 TO 32:u$=u$+CHR$(143):NEXT t
8110 PRINT FN at$(7,28);inverse1$+u$+inverse0$
8115 PRINT FN at$(24,28);inverse1$+u$+inverse0$
8120 FOR t=7 TO 24:PRINT FN at$(t,27);inverse1$;CHR$(143);FN at$(t,60);CHR$(143)+inverse0$:NEXT t
8150 FOR t=1 TO 8:PRINT FN at$(t*2+7,24);t;FN at$(6,t*4+25);t:NEXT t
8200 PRINT FN at$(8,2);"FICHAS COMIDAS:";fic2;FN at$(24,63);"FICHAS COMIDAS:";fic1
8210 PRINT FN at$(10,2);"FICHAS REINA:";fir2;FN at$(22,63);"FICHAS REINA:";fir1
8220 PRINT FN at$(25,35);"JUGADA NUMERO:";ju
8500 RETURN
8600 PRINT FN at$(26,36);inverse1$;"** GAME OVER **";inverse0$;FN at$(28,33);"...PULSA UNA TECLA..."
8605 IF INKEY$="" THEN GOTO 8605
8610 IF flq=1 THEN GOTO 8753
8616 FOR t=1 TO 40:PRINT scra$:NEXT t
8618 puo=(fir2*2)+fic2:puh=(fir1*2)+fic1:puo=puo+(12-(fic1+fir2)):puh=puh+(12-(fic2+fir1))
8620 PRINT FN at$(5,30);"*** PUNTUACION FINAL ***";FN at$(8,30);"ORDENADOR:";puo;FN at$(10,30);"HUMANO:";puh
8625 IF puo>puh THEN PRINT FN at$(14,30);"$$$ YO HE GANADO $$$"
8630 IF puh>puo THEN PRINT FN at$(14,30);"$$$ TU HAS GANADO $$$"
8635 IF puh=puo THEN PRINT FN at$(14,30);"$$$ HA SIDO TABLAS $$$"
8650 PRINT FN at$(20,30);"OTRA PARTIDA ? (S/N):"
8652 r$=INKEY$
8655 IF r$="s" OR r$="S" THEN RUN
8660 IF r$="n" OR r$="N" THEN PRINT cls$:PRINT "BIEN,OTRO DIA SERA.....":END
8665 GOTO 8652
8700 STOP
8750 flq=1:GOTO 8600
8753 FOR t=1 TO 40:PRINT scra$:NEXT t
8755 PRINT FN at$(5,30);"NO PUEDO MOVER NINGUNA FICHA";FN at$(7,30);"POR LO TANTO ES TABLAS."
8760 GOTO 8650
8800 FOR t=1 TO 14:p$(t)=a$(t):k$(t)=a$(t):NEXT t:FOR t=14 TO 1 STEP -1:FOR y=14 TO 1 STEP -1
8806 u$=MID$(a$(t),y,1)
8807 MID$(p$(15-t),15-y,1)=u$
8810 NEXT y:NEXT t
8820 FOR t=1 TO 14:FOR y=1 TO 14
8825 u$=MID$(p$(t),y,1)
8827 h$=u$
8830 IF u$="x" THEN h$="o"
8835 IF u$="o" THEN h$="x"
8840 MID$(p$(t),y,1)=h$
8850 NEXT y:NEXT t
8852 FOR t=1 TO 14:a$(t)=p$(t):NEXT t:GOTO 1500
8870 liin=(8-li)+4:coin=(8-co)+4:lifi=(8-lo1)+4:cofi=(8-lo2)+4
8872 o$=STR$(liin)+STR$(coin)+STR$(lifi)+STR$(cofi)
8873 f$="  -  "
8874 MID$(f$,1,1)=MID$(o$,2,1)
8876 MID$(f$,2,1)=MID$(o$,4,1)
8878 MID$(f$,4,1)=MID$(o$,6,1)
8880 MID$(f$,5,1)=MID$(o$,8,1)
8885 aut=2
8887 FOR t=1 TO 14:a$(t)=k$(t):NEXT t
8890 GOTO 1785
9900 STOP
9995 FOR t=1 TO 14:PRINT FN at$(t+10,25);a$(t):NEXT t:RETURN
9996 PRINT FN at$(11,0);:FOR t=1 TO 14:PRINT p$(t):NEXT t:RETURN
9997 FOR t=1 TO ct:FOR y=1 TO 7:PRINT e(t,y);" ";:NEXT y:PRINT:NEXT t
9998 STOP
9999 CLEAR:SAVE "paranoid"

Controles

Se juega con el teclado. Para jugar se introducen las coordenadas en el siguiente orden (y con un guión en medio):

fila-columna (de la ficha a mover)
fila-columna (de la casilla a la que vamos a mover la ficha)

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 Paranoid
4.- Teclear run "Paranoid" y pulsar la tecla "ENTER"

Extras

  • Listado del programa en revistas de gran tirada de la época

paranoid_programa_01.jpg paranoid_programa_02.jpg paranoid_programa_03.jpg paranoid_programa_04.jpg

paranoid_programa_05.jpg paranoid_programa_06.jpg paranoid_programa_07.jpg

Descarga

  • Paranoid (juego en formato dsk, comprimido con zip)

Vídeos

Enlaces

es/paranoid.txt · Última modificación: 2022/06/30 14:50 por jevicac