Herramientas de usuario

Herramientas del sitio


es:safecrack

¡Esta es una revisión vieja del documento!


SAFECRACKER

Ficha

Autor Philips T Lawson
Computadora Amstrad PCW 8256 / 8512 / 9512
Año 1987
Género Puzle
Controles Teclado
Lenguajes Inglés
Estado Preservado

Capturas

Descripción

Listado

  • Listado - SAFECRAC.BAS
10 REM         Safecracker
20 REM     By Philip T Lawson
30 REM (c) Computing With The Amstrad 
40 REM ------------ PCW ------------- 
50 DEF FNat$(x,y,a$)=CHR$(27)+"Y"+CHR$(32+y)+CHR$(32+x)+a$
60 DEFINT a-z:cl$=CHR$(27)+"E"+CHR$(27)+"H"
70 WHILE lev<1 OR lev>3:PRINT cl$
80 PRINT"Enter level.   1 - Easy"
90 PRINT,"2 - Difficult"
100 PRINT,"3 - Time limit";
110 INPUT lev
120 RANDOMIZE PEEK(64504!)
130 WEND:PRINT cl$;CHR$(27)+"f"
140 DIM x(12),y(12),a$(12),at$(20),w(20),b(20)
150 RESTORE 170:FOR a=0 TO 12:READ x(a),y(a),a$(a):NEXT
160 FOR a=0 TO 12:GOSUB 710:NEXT:GOSUB 740
170 DATA 75,20,0,71,17,1,75,17,2,79 
180 DATA 17,3,71,14,4,75,14,5,79,14 
190 DATA 6,71,11,7,75,11,8,79,11,9 
200 DATA 71,20,L,79,20,R,79,23,C
210 PRINT CHR$(27)+"p"
220 PRINT FNat$(40,5,CHR$(134)+STRING$(20,CHR$(138))+CHR$(140))
230 PRINT FNat$(40,20,CHR$(131)+STRING$(20,CHR$(138))+CHR$(137))
240 FOR a=6 TO 19:PRINT FNat$(40,a,CHR$(133)):PRINT FNat$(61,a,CHR$(133)):NEXT 
250 FOR a=6 TO 19:PRINT FNat$(41,a,STRING$(20," ")):NEXT
260 PRINT FNat$(48,10,"T H E"):PRINT FNat$(47,13,"S A F E")
270 c$="":FOR a=1 TO 5:t=INT(RND*100):IF t<50 THEN c$=c$+"R" ELSE c$=c$+"L"
280 c$=c$+RIGHT$(STR$(INT(RND*10)),1):IF a=1 OR lev>1 THEN 310
290 temp=0:FOR b=1 TO a-1:IF MID$(c$,(b*2)-1,2)=RIGHT$(c$,2) THEN temp=1
300 NEXT:IF temp=1 THEN a=a-1:c$=MID$(c$,1,a*2)
310 NEXT:PRINT CHR$(27)+"q"
320 PRINT FNat$(1,1,"Try   Code    White  Black")
330 try=1:POKE 64504!,0:POKE 64503!,0
340 REM ********************************************************
350 win=0:lose=0:WHILE win=0 AND lose=0 
360 i$="":WHILE i$="" AND i$<>CHR$(13):i$=INKEY$:WEND:i$=UPPER$(i$)
370 IF i$="S" THEN IF sou=1 THEN sou=0 ELSE sou=1
380 IF i$=CHR$(13) THEN GOSUB 840:GOTO 480
390 IF i$=" " OR ASC(i$)=7 OR i$<"0" THEN 360
400 IF i$>"9" AND i$<>"L" AND i$<>"R" AND i$<>"C" THEN 360
410 IF lev=3 AND PEEK(64503!)>4 THEN lose=1
420 a=VAL(i$):IF i$="L" THEN a=10 ELSE IF i$="R" THEN a=11 ELSE IF i$="C" THEN a=12
430 IF a<>12 AND LEN(yc$)=10 THEN 480 
440 PRINT CHR$(27)+"p":GOSUB 710
450 IF sou=0 THEN PRINT CHR$(7)
460 PRINT CHR$(27)+"q":GOSUB 710
470 IF i$="C" THEN GOSUB 680 ELSE GOSUB 660
480 WEND
490 IF lose THEN 560
500 GOSUB 630
510 PRINT FNat$(42,7,"The safe contains")
520 PRINT FNat$(43,10,"piles of lovely") 
530 PRINT FNat$(47,13,"M O N E Y")
540 PRINT FNat$(20,24,"Press spacebar to play again")
550 WHILE INKEY$<>"":WEND:RUN
560 GOSUB 630
570 IF lose=2 THEN 600
580 PRINT FNat$(47,12,"T I M E")
590 PRINT FNat$(49,14,"U P"):GOTO 540 
600 PRINT FNat$(47,7,"H A R D")
610 PRINT FNat$(47,10,"L U C K")
620 GOTO 540
630 FOR a=14 TO 1 STEP-1:FOR b=1 TO 100:NEXT
640 PRINT FNat$(41,a+5,STRING$(20," ")):NEXT
650 RETURN
660 IF LEN(yc$)=10 THEN RETURN
670 yc$=yc$+i$:PRINT FNat$(82-LEN(yc$),8,yc$):RETURN
680 IF yc$="" THEN RETURN
690 PRINT FNat$(82-LEN(yc$),8," ");:yc$=LEFT$(yc$,LEN(yc$)-1)
700 PRINT FNat$(82-LEN(yc$),8,yc$):RETURN
710 PRINT FNat$(x(a),y(a),CHR$(134)+CHR$(138)+CHR$(140))
720 PRINT FNat$(x(a),y(a)+1,CHR$(133)+a$(a)+CHR$(133))
730 PRINT FNat$(x(a),y(a)+2,CHR$(131)+CHR$(138)+CHR$(137)):RETURN
740 PRINT FNat$(71,23,CHR$(134)+STRING$(5,CHR$(138))+CHR$(140))
750 PRINT FNat$(71,24,CHR$(133)+"ENTER"+CHR$(133))
760 PRINT FNat$(71,25,CHR$(131)+STRING$(5,CHR$(138))+CHR$(137))
770 PRINT FNat$(70,7,CHR$(134)+STRING$(11,CHR$(138))+CHR$(140))
780 PRINT FNat$(70,8,CHR$(133)+"           "+CHR$(133))
790 PRINT FNat$(70,9,CHR$(131)+STRING$(11,CHR$(138))+CHR$(137))
800 PRINT FNat$(68,5,CHR$(150)+STRING$(15,CHR$(154))+CHR$(156))
810 PRINT FNat$(68,27,CHR$(147)+STRING$(15,CHR$(154))+CHR$(153))
820 FOR a=6 TO 26:PRINT FNat$(68,a,CHR$(149)):PRINT FNat$(84,a,CHR$(149)):NEXT 
830 RETURN
840 IF LEN(yc$)=10 THEN 870
850 PRINT FNat$(72,8,"  ERROR  "):yc$=""
860 FOR i=1 TO 300:NEXT:PRINT FNat$(74,8,"     "):RETURN
870 temp=0:FOR a=1 TO 5:t$=MID$(yc$,a*2-1,2)
880 IF LEFT$(t$,1)<>"L" AND LEFT$(t$,1)<>"R" THEN temp=1
890 IF RIGHT$(t$,1)>"9" THEN temp=1 
900 NEXT:IF temp=1 THEN 850
910 IF yc$=c$ THEN win=1
920 at$(try)=yc$
930 wh=0:FOR a=1 TO 5
940 IF MID$(c$,a*2-1,2)=MID$(yc$,a*2-1,2) THEN wh=wh+1:MID$(yc$,a*2-1,2)=" "
950 NEXT:bl=0:FOR a=1 TO 5:FOR b=1 TO 5 
960 IF MID$(c$,a*2-1,2)=MID$(yc$,b*2-1,2) THEN bl=bl+1
970 NEXT:NEXT:w(try)=wh:b(try)=bl
980 PRINT FNat$(0,try+2,STR$(try)+") "+at$(try)+"  ");
990 PRINT wh;"   ";bl
1000 try=try+1:IF try>20 THEN lose=2 
1010 yc$="":PRINT FNat$(72,8,"         "):RETURN
1020 END
1030 FOR a=128 TO 160:PRINT CHR$(a),a:NEXT
1040 a$="":WHILE a$="":a$=INKEY$:WEND:PRINT ASC(a$):GOTO 1040

Controles

      L = IZQUIERDA
      R = DERECHA
      C = BORRAR
  ENTER = ACEPTAR
      

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

Extras

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

safecrack_01.jpg safecrack_02.jpg

Descarga

  • Safecracker(juego en formato dsk, comprimido con zip)
es/safecrack.1656451533.txt.gz · Última modificación: 2022/06/29 00:25 por jevicac