====== DOMINOES ====== {{:otros:Dominoes_p1.jpg?690|}} ===== Ficha ===== ^ Autor | Pete Gerrard | ^ Computadora | Amstrad PCW 8256 / 8512 / 9512 | ^ Año | 1988 | ^ Género | Tablero | ^ Controles | Teclado | ^ Lenguajes | Inglés | ^ Estado | [[preservado|Preservado]] | ===== Capturas ===== {{:otros:Dominoes_screenshot01.png?220}} {{:otros:Dominoes_screenshot02.png?220}} {{:otros:Dominoes_screenshot03.png?220}} {{:otros:Dominoes_screenshot04.png?220}} ===== Descripción ===== El dominó es un juego de mesa en el que se juega con unas fichas rectangulares numeradas, generalmente blancas por la cara y negras por el envés. El juego consta de 28 piezas siendo la ficha más grande el doble seis. El juego se practica generalmente entre 4 jugadores en solitario. Se puede jugar de 2 a 12 personas dividiendo las fichas para ello. En este juego jugaremos nosotros contra la máquina. El objetivo del juego es deshacerse de todas las fichas y en caso contrario gana el que más puntuación haya conseguido. Las fichas dobles son las únicas que se colocan de forma transversal. ===== Listado ===== * **__Listado - DOMINOES.BAS__** 10 DIM mine$(14),your$(14):a=PEEK(64504!):RANDOMIZE (a):PRINT CHR$(27)+"e" 20 rev$=CHR$(27)+CHR$(112):rof$=CHR$(27)+CHR$(113) 30 PRINT CHR$(27)+CHR$(48):cls$=CHR$(27)+"E"+CHR$(27)+"H":PRINT cls$TAB(39)rev$"* DOMINOES *"rof$:PRINT:PRINT"Traditional dominoes - just match the ends up, and I go first ..." 40 a$(1)=CHR$(150):a$(2)=CHR$(153):a$(3)=CHR$(156):a$(4)=CHR$(147):a$(5)=CHR$(149):a$(6)=CHR$(154):a$(7)=CHR$(151):a$(8)=CHR$(157):a$(9)=CHR$(155):a$(10)=CHR$(158) 50 DIM d$(7,3):FOR i=1 TO 7:FOR j=1 TO 3:READ d$(i,j):NEXT j,i 60 dom$="00010203040506111213141516222324252633343536444546555666" 70 ERASE mine$,your$:DIM mine$(14),your$(14) 80 m=0:y=0:FOR i=1 TO 24:IF i/2=INT(i/2) THEN m=m+1:a=INT(RND(1)*(29-i)+1)*2-1:mine$(m)=MID$(dom$,a,2):a$=LEFT$(mine$(m),1):b$=RIGHT$(mine$(m),1):IF VAL(a$)2 THEN x=x-6:GOSUB 450:GOTO 190 210 IF a$=CHR$(6) AND x<80 THEN x=x+6:GOSUB 450:GOTO 190 220 IF a$="q" THEN cg=cg+1:GOTO 380:ELSE IF a$<>CHR$(13) THEN 190 230 pick=(x-2)/6+1:IF your$(pick)="" THEN 190 240 l=VAL(LEFT$(your$(pick),1)):r=VAL(RIGHT$(your$(pick),1)):IF go=0 THEN 260 250 c1=VAL(LEFT$(dom$,1)):c2=VAL(RIGHT$(dom$,1)):IF l=c1 OR l=c2 OR r=c1 OR r=c2 THEN 260 ELSE 190 260 a=x:b=y:IF go=0 THEN 310 270 x=0:y=13:GOSUB 450:PRINT "Which side, left or right (L or R) ? " 280 a$=INKEY$:IF a$<>"l" AND a$<>"r" THEN 280 290 IF a$="l" AND l=c1 OR r=c1 THEN 300 ELSE IF a$="r" AND l=c2 OR r=C2 THEN 300 ELSE 280 300 cg=0:l$=MID$(STR$(l),2):r$=MID$(STR$(r),2):IF a$="l" AND l=c1 THEN dom$=r$+l$+dom$:ELSE IF a$="r" AND l=c2 THEN dom$=dom$+l$+r$ ELSE IF a$="l" AND r=c1 THEN dom$=l$+r$+dom$ ELSE IF a$="r" AND r=c2 THEN dom$=dom$+r$+l$:ELSE 280 310 nd=nd+1:FOR y=12 TO 14:x=0:GOSUB 450:PRINT SPACE$(65):NEXT:your$(pick)="":x=a-2:y=b:FOR i=1 TO 9:y=y+1:GOSUB 450:PRINT SPACE$(5):NEXT 320 x=0:y=18:FOR i=1 TO 6:y=y+1:GOSUB 450:PRINT SPACE$(90):NEXT:x=1:y=20 330 FOR i=1 TO LEN(dom$) STEP 2:a$=MID$(dom$,i,1):b$=MID$(dom$,i+1,1) 340 IF a$=b$ THEN x=x+1:y=21:GOSUB 450:PRINT a$(6):x=x-1:y=y+1:GOSUB 450:PRINT a$(5);a$;a$(5):x=x+1:y=y+1:GOSUB 450:PRINT a$(6):x=x-1:y=y+1:GOSUB 450:PRINT a$(5);b$;a$(5):x=x+1:y=y+1:GOSUB 450:PRINT a$(6):x=x+2:GOTO 360 350 y=22:GOSUB 450:PRINT a$(6);a$(10);a$(6):y=y+1:GOSUB 450:PRINT a$;a$(5);b$:y=y+1:GOSUB 450:PRINT a$(6);a$(9);a$(6):x=x+3 360 NEXT:IF turn=0 THEN 380 ELSE 160 370 REM 380 turn=1:a=0:IF go=0 THEN go=1:dom$=LEFT$(mine$(1),1)+RIGHT$(mine$(1),1):mine$(1)="":GOTO 320 390 test=0:FOR i=1 TO 14:IF your$(i)="" THEN test=test+1 400 NEXT:IF test=14 THEN x=0:y=0:GOSUB 450:PRINT "You win - no more dominoes left!":human=human+1:GOTO 540 410 a=a+1:IF a=15 THEN x=0:y=13:GOSUB 450:PRINT "I can't go ...";SPACE$(60):FOR i=1 TO 2000:NEXT:cg=cg+1:IF cg>1 THEN 500 ELSE 160 420 l$=LEFT$(mine$(a),1):r$=RIGHT$(mine$(a),1):c$=LEFT$(dom$,1):d$=RIGHT$(dom$,1):IF l$=c$ OR l$=d$ OR r$=c$ OR r$=d$ THEN 430 ELSE 410 430 nd=nd+1:cg=0:mine$(a)="":IF l$=c$ THEN dom$=r$+l$+dom$ ELSE IF l$=d$ THEN dom$=dom$+l$+r$ ELSE IF r$=c$ THEN dom$=l$+r$+dom$ ELSE dom$=dom$+r$+l$ 440 GOTO 320 450 ok=FRE(""):PRINT CHR$(27)+"Y"+CHR$(32+y)+CHR$(32+x);:RETURN 460 PRINT a$(5);d$(l+1,1);a$(5):y=y+1:GOSUB 450:PRINT a$(5);d$(l+1,2);a$(5) 470 y=y+1:GOSUB 450:PRINT a$(5);d$(l+1,3);a$(5):y=y+1:GOSUB 450:PRINT a$(7);a$(6);a$(6);a$(6);a$(8) 480 y=y+1:GOSUB 450:PRINT a$(5);d$(r+1,1);a$(5):y=y+1:GOSUB 450:PRINT a$(5);d$(r+1,2);a$(5) 490 y=y+1:GOSUB 450:PRINT a$(5);d$(r+1,3);a$(5):y=y+1:GOSUB 450:PRINT a$(4);a$(6);a$(6);a$(6);a$(2):RETURN 500 x=0:y=0:GOSUB 450:PRINT "End of game - neither of us can go.":yo=0:mi=0 510 FOR i=1 TO 14:yo=yo+VAL(LEFT$(your$(i),1))+VAL(RIGHT$(your$(i),1)):mi=mi+VAL(LEFT$(mine$(i),1))+VAL(RIGHT$(mine$(i),1)):NEXT 520 FOR i=1 TO 2000:NEXT:x=0:y=0:GOSUB 450:PRINT SPACE$(75):GOSUB 450 530 IF yo>mi THEN PRINT "You lose by"yo"to"mi:computer=computer+1:ELSE IF mi>yo THEN PRINT"I lose by"mi"to"yo:human=human+1:ELSE PRINT "A tie at"yo"points each!" 540 nd=0:cg=0:turn=0:go=0:FOR i=1 TO 3000:NEXT:GOSUB 450:PRINT SPACE$(75):GOSUB 450:PRINT"Overall score now you"human"me"computer"-another game (Y or N) ?": 550 a$=INKEY$:IF a$="y" THEN 60 ELSE IF a$="n" THEN PRINT cls$;"Bye for now":END:ELSE 550 560 DATA " "," "," "," "," ¼ "," ","¼ "," "," ¼","¼ "," ¼ "," ¼" 570 DATA "¼ ¼"," ","¼ ¼","¼ ¼"," ¼ ","¼ ¼","¼ ¼","¼ ¼","¼ ¼" ===== Controles ===== ← = Desplazarse a la izquierda → = Desplazarse a la derecha L = Colocar ficha a la izquierda R = Colocar ficha a la derecha Q = Abandonar partida ENTER = Seleccionar ===== 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 Dominoes 4.- Teclear run "Dominoes" y pulsar la tecla "ENTER" ===== Extras ===== * Listado del programa en revistas de gran tirada de la época {{:otros:Dominoes_programa_01.jpg?200}} {{:otros:Dominoes_programa_02.jpg?200}} {{:otros:Dominoes_programa_03.jpg?200}} {{:otros:Dominoes_programa_04.jpg?200}} ===== Descarga ===== * {{:otros:Dominoes (Basic).zip|Dominoes }}(juego en formato dsk, comprimido con zip)