★ AMSTRAD CPC ★ GAMESLIST ★ ATROPELLO (c) MUNDO AMSTRAD ★

Mundo Amstrad
★ 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 ★ 

ATROPELLO.— Es un programa para dos jugadores. El 'primero de ellos (jugador de la izquierda), controla los movimientos del atrevido peatón. El otro jugador {jugador de la derecha), maneja un automóvil con el cual ha de atropellar al peatón, antes de que el tiempo se agote y el transeúnte se 'escape.

Las teclas de control del peatón son:

  • Q. ARRIBA
  • A. ABAJO
  • X. IZQUIERDA
  • C. DERECHA

 ...y las del maniático del volante son:

Cursor arriba. ARRIBA Curso abajo. ABAJO Cursor derecha. DERECHA Cursor izquierda. IZQUIERDA

La mejor manera de entender un programa es entender su funcionamiento. Por lo tanto, vamos á intentar explicar de una forma sencilla la manera en que trabaja este programa.

Visto a grandes rasgos, el programa consta de tres partes: la presentación, el juego y la conclusión.

— La presentación incluye dos apartados; la portada de presentación, líneas 1000 a 1460, que ha sido creada en el MODO 0 de pantalla, y las instrucciones líneas 1470-1560.

De este bloque cabe destacar el, modo en que se imprimen fas instrucciones, que se . hacen cargando en la variables A$, la frase a imprimir, y llamando con un GOSUB a la subrutina encargada de centrar el texto, y de imprimirlo letra a letra, situada en las líneas 1430-1460. La forma en que funciona esta subrutina es muy sencilla, con la función LEN calculamos la longitud de la cadena A$, y como sabemos que la pantalla en MODO 1 tiene de ancho 40 caracteres, ie restamos la longitud de la cadena y el número resultante dividido entre 2 son los espacios que hay que dejar empleando TAB antes de imprimir la frase.

Para imprimir la línea de texto, se hace un bucle que tome desde el primer elemento de la cadena hasta el último (calculado con LEN (A$}), y subdividendo la cadena con MID$ vamos imprimiendo una a una las letras.

— El segundo bloque del que hemos hablado, el juego, es talvez la parte más complicada, pero vamos con ello.

Lo primero que se hace es fijar el modo de pantalla, definir el color del borde, del papel y de las tintas, definir dos ven tanas a inicializar las variables que se van a usar durante el juego. Esto comprende las líneas 1570-1680.

En el grupo de líneas 1690-1930 se encuentra el bucle principal. En este bucle lo primero que se hace es comprobar qué teclas son pulsadas por el jugador de la derecha. Inmediatamente despues, mediante el empleo de una rutina en máquina (más adelante la explicaremos), comprobaremos si el coche choca contra el muro, entonces vuelve a las 'coordenadas anteriores, o si choca contra el peatón, lo que significa que lo ha atropellado por lo que se salta la línea 1990 que da como vencedor al conductor. Luego se imprime el coche y se produce el sonido de su motor.

A continuación se leen las teclas pulsadas por el peatón, y al igual que antes comprobamos si choca contra los ladrillos o contra el coche, y lo imprimimos.

El siguiente paso es decrementar en una unidad el tiempo, y llamar a la subrutina que ,!o imprime y comprueba si se ha acabado, localizada en las lineas 2040-2100. La siguiente línea, la 1930, hace un GOTO 1740 que vuelve a repetir todo el proceso.

— El tercer bloque, la conclusión, consta de tres partes:

Informe de que ha ganado el conductor líneas 1940-2020.

Informe de que el ganador es el peatón, líneas 2580-2640.

Y el final propiamente dicho, donde se pregunta si se desea jugar de nuevo.  Lineas 2650-2790. Hemos dejado para el final ciertas subrutinas, que son las siguientes:  La que imprime el circuito. Líneas 2110-2360. Introducción en memoria de los datos de la rutina en C/M. Líneas 2370-2440. Su listado en ensamblador sería:

ORG 30000

CALL #BDD6; salto directo al firmware. Lee carácter.
LD (29999), A; guarda en 29999 el carácter leido.
RET

Esta sencilla rutina se basa en una llamada al sistema operativo, a la subrutina TXT UNWRITE, que lee un carácter de la pantalla. H debe contener la columna, L contiene la fila, y tras la llamada en A se devuelve el código del carácter, que se guarda en la posición de memoria 29999 para ser leido desde el BASIC.

— Redefinición de los gráficos. Líneas 2450-2570. El método empleado, es el normal; SYMBOL AFTER n para decir a partir de que gráfico se va ha cambiar, y SYMBOL n, 8 datos, para ir definiendo los gráficos.

Si eres programador pueden serte de utilidad la subrutina que centra, y la que reconoce el carácter que hay en la posición del cursor.

Mundo Amstrad

ATROPELLO
(c) MUNDO AMSTRAD

AUTOR: ANGEL GARCIA DELGADO (A.G.D)

★ YEAR: 1987
★ LANGUAGE:
★ GENRE: BASIC

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Atropello    SPANISH    LISTINGDATE: 2014-08-26
DL: 25 fois
TYPE: PDF
SIZE: 1624Ko
NOTE: 5 pages/PDFlib v1.6

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 113 millisecondes et consultée 506 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.