Herramientas de usuario

Herramientas del sitio


es:crazy_plumbing

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

es:crazy_plumbing [2017/01/11 12:33] (actual)
jevicac creado
Línea 1: Línea 1:
 +====== CRAZY PLUMBING ======
  
 +===== Ficha =====
 +{{:​otros:​Plumber_p1.jpg?​690|}}
 +^ Autor | Peregrine Haphton ​      |
 +^ Computadora | Amstrad PCW 8256 / 8512 / 9512 |
 +^ Año | ????                              |
 +^ Género | Arcade ​                               |
 +^ Controles | Teclado ​                          |
 +^ Lenguajes | Inglés ​                          |
 +^ Estado | [[preservado|Preservado]] |
 +
 +===== Capturas =====
 +
 +{{:​otros:​Plumber_screenshot01.png?​220}} {{:​otros:​Plumber_screenshot02.png?​220}} {{:​otros:​Plumber_screenshot03.png?​220}} {{:​otros:​Plumber_screenshot04.png?​220}}
 +
 +===== Descripción =====
 +
 +Crazy Plumbing es un juego clásico para uno o dos jugadores. El objetivo del juego es llegar a la esquina derecha del primer campo, aunque también podemos ganar empujando a nuestro oponente fuera de la cuadrícula.
 +
 +En el juego existen tres tipo de tuberías para seleccionar (1 a 3) cualquier selección colocará en el extremo el tubo que hayamos seleccionado.
 +
 +En la primera fase no podremos seleccionar el tipo 1.
 +
 +===== Listado =====
 +
 +  * **__Listado - PLUMBER.BAS__**
 +
 +<​file>​
 +10 REM -------- CRAZY PLUMBING ----------
 +20 REM       by Peregrine Haphton ​
 +30 REM (c) Computing with the Amstrad PCW
 +40 REM ----------------------------------
 +50 DIM grid(11,​11),​n(36),​p$(2):​DEFINT x,y:GOSUB 530
 +60 GOSUB 380:​p$(0)="​Fred":​p$(1)="​Harry"​
 +70 FOR f=1 TO 40:​PRINT:​NEXT:​PRINT CHR$(27)"​E"​CHR$(27)"​H":​CALL screen
 +80 FOR f=1 TO 2:PRINT CHR$(27);"​Y";​CHR$(32);​CHR$(35+f*20)"​Player";​f;"​ is ";​p$(f-1):​NEXT
 +90 PRINT:PRINT "To change the name of the player input and press RETURN."​
 +100 FOR f=1 TO 2:​PRINT"​Player ";​f:​INPUT">",​n$
 +110 IF LEN(n$)>​25 THEN n$=LEFT$(n$,​25)
 +120 IF n$<>""​ THEN p$(f-1)=n$
 +130 PRINT:​NEXT:​PRINT CHR$(27)"​E":​POKE pen,​255:​POKE paper,0:FOR f=0 TO 2
 +140 a$=STR$(f+1)+"​="​+CHR$(f*4)+CHR$(f*4+1):​x=f*10:​y=0:​CALL print1(x,​y,​a$)
 +150 a$=CHR$(f*4+2)+CHR$(f*4+3):​x=f*10+6:​y=1:​CALL print1(x,​y,​a$):​NEXT
 +160 POKE pen,85:FOR f=1 TO 10:FOR g=1 TO 10:​grid(f,​g)=0:​IF f=10 AND g=f THEN 190
 +170 x=10+f*4:​y=g*2+5:​a$=CHR$(12)+CHR$(12):​CALL print1(x,​y,​a$)
 +180 x=10+f*4:​y=g*2+6:​a$=CHR$(12)+CHR$(12):​CALL print1(x,​y,​a$)
 +190 NEXT:​NEXT:​grid(1,​1)=3:​p=3:​x=14:​y=7
 +200 GOSUB 630:​go=1:​pl=0:​win=0:​xx=1:​yy=1
 +210 d=4:​ongrid=-1:​GOSUB 650:WHILE ongrid
 +220 PRINT CHR$(27);"​Y";​CHR$(60);​CHR$(32);​p$(pl);",​ your turn, what type do you choose?"​
 +230 x=62:​y=16:​POKE double,​0:​a$="​Turn:​ "​+STR$(go):​CALL print1(x,​y,​a$)
 +240 k$="":​WHILE k$="":​k$=INKEY$:​WEND:​IF k$="​q"​ THEN win=3:​ongrid=0:​GOTO 310
 +250 IF k$<"​1"​ OR k$>"​3"​ THEN 240
 +260 IF go=1 AND k$="​1"​ THEN 240
 +270 grid(xx,​yy)=VAL(k$):​x=10+xx*4:​y=5+yy*2:​p=grid(xx,​yy):​GOSUB 630
 +280 GOSUB 650:IF ongrid=0 THEN 310
 +290 pl=pl+1:​pl=2*(pl/​2-pl\2):​go=go+1
 +300 PRINT CHR$(27)"​Y"​CHR$(60)CHR$(32)CHR$(27)"​l"​
 +310 WEND:ON win GOSUB 710,730,740
 +320 POKE double,​0:​b$=p$(pl)+"​ has won.":​l=(45-LEN(b$))/​2
 +330 a$=STRING$(l,"​ "​)+b$+STRING$(l,"​ "​):​x=0:​y=28:​CALL print1(x,​y,​a$)
 +340 a$="​Press SPACEBAR to start game or Q to quit.":​x=0:​y=30:​CALL print1(x,​y,​a$)
 +350 k$="":​WHILE k$="":​k$=INKEY$:​WEND
 +360 IF k$="​q"​ THEN PRINT CHR$(27)"​e"​CHR$(27)"​1":​CLEAR:​END
 +370 IF k$=" " THEN 70 ELSE GOTO 350
 +380 PRINT CHR$(27)"​f"​CHR$(27)"​0"​
 +390 x=0:​y=0:​POKE paper,​85:​POKE double,​1:​a$=STRING$(16,"​ "​)+"​Crazy Plumbing"​+STRING$(15,"​ "​):​CALL print1(x,​y,​a$)
 +400 x=0:​y=3:​POKE paper,​0:​POKE double,​0:​a$=STRING$(15,"​ "​)+"​for two players"​+STRING$(13,"​ "​):​CALL print1(x,​y,​a$)
 +410 x=26:​y=5:​POKE paper,​0:​POKE double,​0:​a$="​@ Peregrine Haphton"​
 +420 CALL print1(x,​y,​a$):​PRINT CHR$(27)"​Y"​CHR$(38)CHR$(32)
 +430 PRINT " The object of the game is to get to the right corner of the field first: you can also win by pushing your oponent from the grid."
 +440 PRINT " In order to stop press Q":​PRINT
 +450 PRINT " There are three types of tube:"
 +460 FOR f=0 TO 2:​a$=CHR$(f*4)+CHR$(f*4+1):​x=10:​y=12+f*3:​CALL print1(x,​y,​a$)
 +470 a$=CHR$(f*4+2)+CHR$(f*4+3)+" ​ Type"​+STR$(f+1):​x=10:​y=13+f*3
 +480 CALL print1(x,​y,​a$):​NEXT:​PRINT CHR$(27)"​Y"​CHR$(52)CHR$(32)
 +490 PRINT " To select a type of tube simply press the number of that tube: the tube will be placed on the end."
 +500 PRINT:PRINT " You cannot use type 1 in the first turn!"
 +510 x=0:​y=27:​POKE paper,​85:​a$=STRING$(1,"​ "​)+"​Press SPACE to start."​+STRING$(9,"​ "​):​CALL print1(x,​y,​a$)
 +520 WHILE INKEY$<>"​ ":​WEND:​RETURN
 +530 GOSUB 760:PRINT CHR$(27)"​E"​CHR$(27)"​H":​RESTORE 550
 +540 FOR h=1 TO 36:READ n(h):NEXT
 +550 DATA -1,​0,​2,​0,​1,​1,​1,​0,​4,​0,​-1,​3
 +560 DATA 1,​0,​4,​0,​-1,​3,​-1,​0,​2,​0,​1,​1
 +570 DATA 0,​1,​1,​-1,​0,​2,​0,​-1,​3,​1,​0,​4
 +580 RESTORE 600:FOR f=0 TO 12:FOR g=0 TO 7:READ n:POKE (udgs+f*8+g),​n
 +590 NEXT:​NEXT:​RETURN
 +600 DATA 3,​1,​1,​1,​3,​7,​142,​252,​192,​128,​128,​128,​0,​0,​1,​15,​240,​128,​0,​0,​1,​1,​1,​3,​63,​113,​224,​192,​128,​128,​128,​192,​3,​1,​1,​1,​0,​0,​128,​240,​192,​128,​128,​128,​192,​224,​113,​63,​252,​142,​7,​3,​1,​1,​1,​3,​15,​1,​0,​0,​128,​128,​128,​192
 +610 DATA 3,​1,​1,​1,​1,​1,​128,​255,​192,​128,​128,​128,​128,​128,​1,​255,​255,​128,​1,​1,​1,​1,​1,​3,​255,​1,​128,​128,​128,​128,​128,​192
 +620 DATA 24,​24,​24,​255,​255,​24,​24,​24
 +630 POKE pen,​255:​POKE paper,​0:​a$=CHR$(p*4-4)+CHR$(p*4-3):​CALL print1(x,​y,​a$)
 +640 y=y+1:​a$=CHR$(p*4-2)+CHR$(p*4-1):​CALL print1(x,​y,​a$):​RETURN
 +650 win=0:​x1=xx:​y1=yy:​d1=d:​fl=-1
 +660 WHILE fl:​o=(grid(x1,​y1)-1)*12+(d1-1)*3+1:​x1=x1+n(o):​y1=y1+n(o+1):​d1=n(o+2)
 +670 IF grid(x1,​y1)=0 THEN fl=0
 +680 WEND:IF x1=10 AND y1=10 THEN ongrid=0:​win=2
 +690 IF x1<1 OR x1>10 OR y1<1 OR y1>10 THEN ongrid=0:​win=1:​fl=0
 +700 xx=x1:​yy=y1:​d=d1:​RETURN
 +710 a$=p$(pl)+"​ has been pushed of the grid.":​x=0:​y=0:​POKE double,1
 +720 CALL print1(x,​y,​a$):​pl=pl+1:​pl=2*(pl/​2-pl\2):​RETURN
 +730 a$=p$(pl)+"​ has reached the lower right corner.":​x=0:​y=0:​POKE double,​1:​CALL print1(x,​y,​a$):​RETURN
 +740 a$=p$(pl)+"​ has quit.":​x=0:​y=0:​POKE double,​1:​CALL print1(x,​y,​a$)
 +750 pl=pl+1:​pl=2*(pl/​2-pl\2):​RETURN
 +760 MEMORY &HCFFF
 +770 RESTORE 850:​address=&​HE000
 +780 FOR i=1 TO 31:​sum=0:​READ code$,​check$:​FOR j=1 TO 21 STEP 2
 +790 byte=VAL("&​H"​+MID$(code$,​j,​2)):​POKE address,​byte:​sum=sum+byte
 +800 address=address+1:​NEXT
 +810 IF sum<>​VAL("&​H"​+check$) THEN PRINT"​Error in data line";​i*10+1830:​STOP
 +820 NEXT:​screen=&​HE000:​print1=&​HE003:​udgs=&​HD100
 +830 pen=&​HD001:​paper=&​HD000:​double=&​HD006
 +840 POKE pen,​255:​POKE paper,​0:​POKE double,​0:​CALL screen:​RETURN
 +850 DATA C306E0C35BE0CD29E01198,​626
 +860 DATA 2C2100B60168013E20F5D5,​395
 +870 DATA 3E0873237223133D20F8D1,​3AA
 +880 DATA EB09EBF13D20ECC9C1CD5A,​6CA
 +890 DATA FCE900C9661A6F2202D00A,​49B
 +900 DATA 3210D0030A6F030A67ED4B,​33A
 +910 DATA 10D006001113D0EDB02A02,​3A3
 +920 DATA D0CDFCE02204D02113D022,​595
 +930 DATA 11D0C9CD30E0CD29E0F32A,​67A
 +940 DATA 11D07E232211D0CDEAE011,​52D
 +950 DATA 4FE1010800EDB0DD2A04D0,​4B1
 +960 DATA 0E08FD214FE12A00D07D06,​3E1
 +970 DATA 08FDCB0006380D07DDCB08,​3D2
 +980 DATA 16DDCB001607C3A4E0CB04,​4F1
 +990 DATA DDCB0816DDCB0016CB04DD,​530
 +1000 DATA CB0816DDCB001610D7FD23,​4AE
 +1010 DATA 3A06D0A7CAD1E0DD7E08DD,​672
 +1020 DATA 7709DD7E00DD7701DD2379,​4A9
 +1030 DATA FE05C2D1E001C802DD094F,​576
 +1040 DATA DD230DC282E02A04D00110,​440
 +1050 DATA 00092204D02110D035C262,​359
 +1060 DATA E0FBC91100B8FE20300311,​4CF
 +1070 DATA 00D16F260029292919C95C,​31F
 +1080 DATA 260054CB25010FE1094E23,​2D5
 +1090 DATA 46EB29292909C93059005C,​363
 +1100 DATA D05EA06170644067106AE0,​504
 +1110 DATA 6CB06F807250752078F07A,​544
 +1120 DATA C07D9080608330860089D0,​53F
 +1130 DATA 8BA08E709140941097E099,​5AE
 +1140 DATA B09C809F50A220A5F0A7C0,​679
 +1150 DATA AA90AD60B0000000000000,​2F7
 +</​file>​
 +
 +===== Controles =====
 +
 +          1 = COLOCAR TUBERÍA TIPO 1
 +          2 = COLOCAR TUBERÍA TIPO 2
 +          3 = COLOCAR TUBERÍA TIPO 3
 +      SPACE = COMENZAR PARTIDA
 +          Q = ABANDONAR PARTIDA
 +
 +===== 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 Crazy Plumbing
 +  4.- Teclear run "​Plumber"​ y pulsar la tecla "​ENTER"​
 +
 +===== Extras =====
 +
 +
 +===== Descarga =====
 +
 +  * {{:​otros:​Plumber (Basic).zip|Crazy Plumbing }}(juego en formato dsk, comprimido con zip)
 +
 +===== Enlaces =====
 +
 +  * [[https://​www.youtube.com/​watch?​v=RwmT1d7MJt4|Video del juego Crazy Plumbing]]
es/crazy_plumbing.txt · Última modificación: 2017/01/11 12:33 por jevicac