★ AMSTRAD CPC ★ GAMESLIST ★ DOMINO (AMSTRAD SEMANAL) (c) AMSTRAD SEMANAL ★

★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Eres un forastero que se une a una partida de dominó entre tres experimentados jugadores. Como tales su nivel de juego es bastante alto, por eso se te concede la oportunidad de elegir su nivel (0-9) y así evitar frustraciones.

Se reparten las fichas y... iQué gane el mejor!

Empieza, como siempre, aquél que tiene el seis doble y se van colocando fichas alternativamente hacia la derecha.

Al jugador que le corresponda tirar tiene su nombre escrito en la parte superior derecha de la pantalla y, para reconocerlo fácilmente, sus fichas en vídeo inverso.

Cuando sea su turno, pulsa cualquier tecla para avanzar en la elección de ficha y «ENTER» para colocarla. Sólo avanzan hacia la derecha. Si no tienes ninguna ficha para tirar «pasa» simplemente pulsando la letra «p».

Se finalizará la partida, cuando algún jugador termine sus fichas o no se puedan colocar más. Se sumará a cada jugador los puntos de las fichas que le queden en su poder. Si alguno ha ganado, se le restan diez puntos al total que tenga en su haber.

Lógicamente irá ganando el que tenga menos puntuación. Al final aparecerá una tabla con los nombres de los jugadores, la puntuación de la última partida y los puntos totales. En otro color el que vaya en cabeza por puntos (el primero).

¡Ojo con las trampas! No se aceptan fichas inválidas, ni pasar cuando es posible colocar alguna ficha. Sólo conseguirás que renuncien tus compañeros de partida y que se te sumen 30 puntos al total.

Se te preguntará si quieres jugar otra partida, si dices sí, jugarás con el mismo nombre y continuará el juego; si no podrá jugar otra persona y comenzará la partida desde cero.

El juego

No resulta fácil describir un programa de 22 K en unas pocas hojas; sin embargo, podríamos dividirlo en tres partes: la pantalla inicial, el juego con la colocación de la ficha y el final.

En la pantalla inicial se incluye la rutina de caracteres y tintas, donde se crean los caracteres de las diferentes fichas en las diferentes posiciones y se crean las ventanas y tintas necesarias.

A continuación se crean las diferentes tablas y se dan valores a las variables. Las principales son:

pl$ = número de ficha del jugador
p1$ (jugador, ficha)
sen, col, n, x, y, doble son tablas utilizadas para la colocación de la ficha de la que ya hablaremos.
card$, valor, pasa y jugada son para la elección de la ficha durante el juego.
nam$ son los nombres de los jugadores.

Ahora asigna y reparte las fichas.

La ficha queda almacenada en forma de literal en card$ con ambos valores separados por una coma. Ejemplo: 6,5 es la ficha 6-5 ó 5-6.

Las fichas se reparten a cada jugador en la variable p 1 $ (player, ficha) y se vuelven a asignar de nuevo las fichas para que el ordenador sepa durante el juego las que van saliendo y las que quedan por salir.

Ahora ya podemos dibujar la pantalla inicial.

Se colorea el tablero (c1s#1) y se distribuyen las fichas. Las de los jugadores se colocan en vertical y las propias sobre el tablero con su valor.

Para dar el color del papel al gráfico se utiliza la rutina &BBE4. Según el número de parámetros, (no el valor), que se manden a la rutina, el registro A se carga con el número total que se manden y la rutina se encarga de poner el papel de gráficos con el valor de la tinta que tenga A.

A continuación revisa las fichas de todos los jugadores para ver cuál tiene el seis doble; aquél que lo tenga, se le borra la ficha correspondiente y se coloca en el tablero para comenzar el juego.

NOTA: Cuando se escoge un nivel bajo, por ejemplo el 3, no significa que se vaya a coger la jugada con el nivel 3.
Se calcula un número aleatorio entre 0 y 10-nivel elegido que sumado al nivel nos da una jugada entre 3 y 9; de esta forma se evita que la máquina haga muchas «burradas» en niveles inferiores. Lógicamente en el nivel 9 sólo saldrá la jugada «9» pues se suma int (RND(10 - 9))=0

DESCRIPCION DEL PROGRAMA

Se utilizan las siguientes variables para el juego:

a = 1 para el lado izquierdo y a = 3 para el derecho; de este forma:
n(a) es la ficha del extremo (la que quedo libre) de cada lado.
x(a) e y(a) son las coordenadas gráficas de la última ficha colocada en el lado a.
col (a) es la colocación de la última ficha 1 si es horizontal y 0 si es vertical.
sen (a) es el sentido hacia donde se están colocando las fichas del lado a; su valor es -1 si es hacia la izquierda +1 si es hacia la derecha.
doble(a) indica si la última ficha colocada es doble. Si =1 no=0.
top(a) es una variable que hace referencia a los extremos derecho e izquierdo (topder y topiz). Puede valer 1(s¡) si no se pueden colocar más fichas hacia ese lado, ni verticales ni horizontales. Vale 0(no) si es puede colocar una ficha horizontal y vale 2(casi) si se puede colocar una vertical pero no una horizontal. Esta variable nos da una ¡dea sobre cómo tienen que ir colocadas las fichas cuando llegan al extremo del tablero.

Antes de tirar, se comprueba que el jugador tiene alguna ficha para tirar, comparándolas con n(1) y n(3). Si esto no ocurre se pasa directamente a la rutina «pasa».

A cada ficha se le da un valor atendiendo a los siguientes parámetros:

1.° Se coloca una ficha de doble (100 puntos).
2.° Se comprueba que no cierra el juego, buscando más fichas con ese valor (1 punto si no cierra el juego).
3.° Da 5 puntos más a cada ficha que haya pasado algún jugador. Las fichas de los jugadores que pasan se almacenan en la tabla pasa (jugador, ficha).
4.° Suma 1 punto por cada ficha que tenga el jugador de ese valor.
5.° A cada valor de la ficha se le añade el de los puntos que le componen, de esta forma, se tirarán antes las fichas altas que las bajas para rebajar puntos.

Una vez efectuada la puntuación, se ordena la tabla de valoración, valor (player, ficha, lado),

según sus puntos y se pasan a la tabla de los jugadores (jugada, nivel' parámetro).

Los parámetros son:

1 para la ficha.
2 para el lado a colocar 1 = izquierdo y 3 = derecho.

Ahora se elige la ficha según el nivel.

A nivel más alto se escoge la jugada (nivel, parámetro) más alta.

Después de cada tirada se comprueba si el jugador ha terminado y en el caso del jugador 4, si había pasado anteriormente de algún valor de esa ficha; si es así va a la rutina «renuncio» y se finaliza convenientemente (30 puntos más).

Al jugador que acaben se le restan 10 puntos y a los demás se les suma el valor de las fichas. El programa está abundantemente ayudado por instrucciones «rem» que ayudan a una mejor comprensión de las rutinas.

La rutina gráfica forma por si sola una unidad independiente ya que es capaz de determinar si una ficha es o no válida.

Los parámetros de entrada son ni y n2 para el valor de la ficha (no importa el orden). Si el jugador es el 1, 2 ó 3 se necesita la variable lado (1 ó 3) para determinar el lugar a colocarlo; en caso de que el jugador sea el cuarto se le preguntará a qué lado quiere colocarlo, si la posición es ambigua. Nótese que el lado DERECHO SIEMPRE ES EL QUE VA HACIA ARRIBA Y EL IZQUIERDO HACIA ABAJO aunque las posiciones de las fichas en ese momento puedan parecer confusas.

Julio O. Marcos Matilla , Amstrad Semanal n°35

DOMINO (AMSTRAD SEMANAL)
(c) AMSTRAD SEMANAL

AUTHOR: Julio O. Marcos Matilla

★ YEAR: 1986
★ LANGUAGE:
★ GENRE: INGAME MODE 1 , BOARD , DOMINOES
★ LiCENCE: LISTING
★ COLLECTION: AMSTRAD SEMANAL 1986

 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Domino    (Amstrad  Semanal)    SPANISHDATE: 2024-05-15
DL: 16
TYPE: ZIP
SiZE: 11Ko
NOTE: Supplied by Nicholas CAMPBELL ; 40 tracks
.DSK: √

» Domino    (Amstrad  Semanal)    SPANISH    LISTINGDATE: 2024-05-15
DL: 16
TYPE: PDF
SiZE: 2505Ko
NOTE: 4 pages/PDFlib v1.6

Je participe au site:
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 840 millisecondes et consultée 66 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.