svscc

Páginas: 5 (1233 palabras) Publicado: 5 de junio de 2014
final BOTON_ESPACIO = 64;

var sonido = false;
var haciendoSonido = false;
var contadorSonido;

setSoundAttack(0, 150);
setSoundDecay(0, 850);

sfi() {
if (haciendoSonido) {
setSoundFrequency(0, contadorSonido * 200 + 10000);
contadorSonido++;
if (contadorSonido == 25) {
haciendoSonido = false;
sonido = false;
soundOff(0);
}
} else {
if(sonido) {
haciendoSonido = true;
contadorSonido = 0;
setSoundFrequency(0, 10000);
soundOn(0);
}
}
}

showAt("Apoya la barra de espacio", 3, 10);
showAt("para escuchar un sonido", 3, 11);

while (true) {
if (readCtrlOne() == BOTON_ESPACIO && sonido == false)
sonido = true;
}
/* Quince.
* Un ejemplo sencillo de un juego con simpleJ.
* Es elrompecabezas, conocido en ingles como
* "Fifteen-Puzzle", donde 15 piezas numeradas
* del 1 al 15 se encuentran en organizadas en
* un cuadrado de 4x4 dejando un hueco que
* permite ir desplazando las piezas una por una
* hasta que se logra tenerlas ordenadas.
*
* Este programa emplea tiles para dibujar el
* fondo, el cual contiene el tablero y las
* instrucciones decomo jugar. Para dibujar
* las piezas emplea 15 sprites que
* corresponde cada uno a una de las piezas
* que se pueden deslizar.
*/

/* Constantes para los botones*/
final BOTON_ARRIBA = 1;
final BOTON_ABAJO = 2;
final BOTON_IZQUIERDA = 4;
final BOTON_DERECHA = 8;
final BOTON_ESPACIO = 64;

/* Los tres estados en los que puede estar el juego */
final ESTADO_CARGANDO = 1;
finalESTADO_PROCESA_BOTON = 2;
final ESTADO_SUELTA_BOTON = 3;

/* Posicion de la esquina superior izquierda del
tablero en la pantalla (en pixeles) */
final TABLERO_X = 16;
final TABLERO_Y = 16;

/* La representacion del tablero en memoria como
un arreglo de 4x4. El 0 representa el hueco
donde no hay ninguna pieza.
Empieza con las piezas ordenadas */
var tablero = [[ 1, 2,3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[ 13, 14, 15, 0]];

/* La columna en la que se encuentra el hueco
(un entero entre 0 y 3). Inicialmente esta
en la ultima columna */
var huecoX = 3;

/* El renglon en el que se encuentra el hueco
(un entero entre 0 y 3). Inicialmente esta
en el ultimo renglon */
var huecoY = 3;

/*El estado actual del juego */
var estado = ESTADO_CARGANDO;

/* Bandera para indicar cuando se terminaron de
leer los archivos de tiles y de sprites */
var terminoDeCargar = false;

/* Secuencia de caracteres para la animacion
mientras que se cargan los datos */
var animacionCargando = ["|", "/", "-", "\\"];

/* Contador empleado en la animacion mientras que
se cargan losarchivos de tiles y de sprites */
var contador = 0;

/* Coloca los 15 sprites de las piezas en la
pantalla para que su posicion corresponda
a los datos almacenados en el arreglo
'tablero' */
dibujaTablero() {
for (var y = 0; y < 4; y++)
for (var x = 0; x < 4; x++) {
var pieza = tablero[y][x];
if (pieza != 0)
// Se multiplican 'x' y 'y' por 16 por que// estamos empleando sprites grandes (16 x 16)
putSpriteAt(pieza, TABLERO_X + x * 16,
TABLERO_Y + y * 16);
}
}

/* Se puede deslizar una pieza hacia arriba? */
puedeArriba() {
// Verdadero si el hueco no esta en el ultimo renglon
return huecoY < 3;
}

/* Se puede deslizar una pieza hacia abajo? */
puedeAbajo() {
// Verdadero si elhueco no esta en el primer renglon
return huecoY > 0;
}

/* Se puede deslizar una pieza hacia la izquierda? */
puedeIzquierda() {
// Verdadero si el hueco no esta en la ultima columna
return huecoX < 3;
}

/* Se puede deslizar una pieza hacia la derecha? */
puedeDerecha() {
// Verdadero si el hueco no esta en la primera columna
return huecoX > 0;
}

/* Desliza una pieza...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS