Mad Adder:
--------
Author : M.Andrews
Publisher : Computing With The Amstrad No.4 April 1985
------------------------------------------------------------------------
THERE'S nothing like hunger to make an adder madder. So to keep the
peace try steering this one in his relentless search for food.
The screen is divided into two enclosed areas, access from one to the
other being through a gate. Colliding with any part of the wall is
fatal, and any snake who tries eating itself is bound to die!
The more he eats, the longer he grows and the more points you score.
But beware, the food deteriorates with time, eventually to become
another obstacle to be avoided at allcost.
The snake is directed by either the
A, Z, <, > keys or joystick.
If you wish to alter the keys change the numbers in the brackets in
lines 27-30, referring to page 16 Appendix III of the User instructions.
The program is provided with plenty of REM statements but these can be
omitted if desired.
------------------------------------------------------------------------
VARIABLES
---------
Sp$ ---- Stores the character associated with each screen position.
H$(P) -- Snake's head depending on direction of travel.
F$(N) -- Food.
X,Y ---- General screen coordinates.
FX,FY -- Coordinates of food.
BX,BY -- Coordinates of each body cell.
DX,DY -- Coordinates of each additionai obstacle.
L ------ Length of snake.
SC ----- Score.
HS ----- Hi-Score.
I,K,J -- General variabies.
Line
19 ---- Prints the snake's head, enables the interrupt to decrease food value if appropriate.
20 ---- Checks to see if food is eaten.
21 ---- Checks for collision.
22 ---- Deletes head.
23 ---- If there is no body cell to print clears variable containing head position and skips to line 27.
24 ---- Prints new body cell.
25 ---- Stores the position of each body cell for deletion later.
26 ---- When snake is long enough branches to subroutine to delete the end body cell.
27-36 - Sets new coordinates for the head according to the key/joystick command.
37 ---- Returns to start
---------------------------------------------------------------------------------------------------------
NOTICE TEXTE n° 2 (2.85 Ko)
Mad Adder:
---------
Autor : M.Andrews
Editor : Amstrad Semanal N.3 1985
-------------------------------------------------------------------------------
No hay nada como el hambre para resolver laberíntos donde se encuentra la
comida que necesitamos para sobrevivir. Vamos, pues, cf guiar a nuestro
simpático protagonista: ja ver cuánto somos capaces de hacerlo crecer !
La pantalla está dividido en dos áreas distintas, una dentro de otra, a
las cuales se accede a través de unas puertos situadas en los laterales.
El choque con los paredes del laberinto es mortal, y cualquier serpiente
que, al retroceder, marche sobre sus propias pasos, resultará destruida
sin misericordia.
A medida que la serpiente come, lógicamente engorda y crece, con l0 cual
arrastramos por la pantalla una «cola» cada vez más largo. Eso dificulta
considerablemente nuestros movimientos y exige gran concentración y
habilidad.
Entre tanto, la comida se deterioro con el tiempo, y se convierte en otro
obstáculo que habra que superar.
La serpiente se controlo con las teclos A,Z, < y > 0 el joystick. Si estos
mandos no convencen, basta con modificar los números entre paréntesis de las
líneas 27-30.
Las sentencias REM del programa se incluyen por claridad. Pueden ser omitidas
sin ningún problema.
-------------------------------------------------------------------------------
Variables Principales
---------------------
NOMBRE FUNCION
SP$ --- Almacena el carácter asociado con cada posición de pantalla.
H$(P) - Cabeza de la serpiente, dependiendo de la direccìón hacía la que se está moviendo.
F$(N) - Comida.
X,Y --- Coordenadas de pantalla.
BX,BY - Coordenadas de cada «celdilla» que forma el cuerpo de la serpiente.
DX,DY - Coordenadas de los obstáculos adicionales.
L ----- Longitud de la serpiente.
SC ---- Puntuación.
HS ---- Máxima puntuación.
I,J,K - Variables de uso general.
Lineas Principales Del Programa
-------------------------------
NUMERO
DE LINEÄ FUNCION
19 ---- Muestra lo cabeza de la serpiente y habilita interrupciones para disminuir la contidad de comida si es necesario.
20 ---- Mira a ver si el alimento ha sido comido.
21 ---- Comprueba choques con las paredes.
22 ---- Borra la cabeza
23 ---- Si no hay cuerpo de la serpiente que »pinta«, borra la varìable que contiene la posición de la cabeza y salta a la línea 27.
24 ---- Pinta la nueva «celdilla» del cuerpo.
25 ---- Almacena la posición de cada «celdilla» del cuerpo de la serpìente, para posteriormente borrarlas.
26 ---- Cuando la serpiente es lo suficientemente larga, salta a la subrutina que barra la «celdilla» final.
27-36 - Asigno nuevo dirección de movimiento a la serpiente, según se pulse el teclado o se mueva el joysiick.
37----- Comienza de nuevo.