====== PARANOID ====== {{:otros:Paranoid_p1.jpg?690|}} ===== 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|Preservado]] | ===== Capturas ===== {{:otros:Paranoid_screenshot01.png?220}} {{:otros:Paranoid_screenshot02.png?220}} {{:otros:Paranoid_screenshot03.png?220}} {{:otros:Paranoid_screenshot04.png?220}} ===== 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"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 {{:otros:Paranoid_programa_01.jpg?170}} {{:otros:Paranoid_programa_02.jpg?170}} {{:otros:Paranoid_programa_03.jpg?170}} {{:otros:Paranoid_programa_04.jpg?170}} {{:otros:Paranoid_programa_05.jpg?180}} {{:otros:Paranoid_programa_06.jpg?180}} {{:otros:Paranoid_programa_07.jpg?180}} ===== Descarga ===== * {{:otros:Paranoid (Basic).zip|Paranoid }}(juego en formato dsk, comprimido con zip) ===== Vídeos ===== {{ youtube>Q5iRClYEj0c?large }} ===== Enlaces ===== * [[http://www.ooparts-universe.com/prgs/index_esp.html|Página Web oficial de Jorge Pérez Barreiro]]