En este Tip crearemos un programa en el cual deberás averiguar un número que es generado aleatoriamente.
Para hacerlo, se te darán dos simples pistas: si el numero que tu escribes es mayor o menor al pensado por el código.
Primeramente crearemos nuestra interface, yo he creado una así:

Código :
/* Creamos variables de inicio */
var generatedNumber:int = generateNumber(); //El número generado por la función
var tries:int = 10; //Los intentos al iniciar
var game:Boolean = true; //Indica que el juego está ejecutandose
inputField.restrict = "0-9"; //Restringimos el campo de entrada a sólo números
checkButton.addEventListener(MouseEvent.CLICK, compareNumbers); //Le asignamos al botón la función para comparar los números
/* Esta es la función que generará un número entre el 0 y 100 */
function generateNumber():int
{
return Math.floor(Math.random() * 101);
}
/*Esta función compara los numeros para probar si son mayores menores o iguales*/
function compareNumbers(event:MouseEvent):void
{
/* Primero checamos que se haya escrito en el campo de entrada y que el número escrito no sea mayor a 100 */
if(inputField.text == "" || new int(inputField.text) > 100)
{
advisor.text = "Introduce un número desde 0 hasta 100.";
return;
}
/* Guardamos el número introducido por el usuario */
var userInput:int = new int(inputField.text);
/* Checamos el número introducido con el generado */
if(userInput < generatedNumber)
{
advisor.text = "El número introducido es menor.";
tries--;
checkTries();
}
else if(userInput > generatedNumber)
{
advisor.text = "El número introducido es mayor.";
tries--;
checkTries();
}
else if(userInput == generatedNumber)
{
gameOver();
tries--;
checkTries();
advisor.text = "Ganaste! el número es " + generatedNumber + " pulsa Espacio para jugar.";
triesField.text = "Utilizaste " + (10 - tries) + " oportunidades.";
}
}
/* Esta función se encarga de manejar las oportunidades */
function checkTries():void
{
triesField.text = "Tienes " + tries + " oportunidades.";
if(tries == 1)
{
triesField.text = "Tienes " + tries + " oportunidad.";
}
else if(tries == 0)
{
advisor.text = "Perdiste! el número era " + generatedNumber + " pulsa Espacio para jugar.";
gameOver();
}
}
/* Retiramos el evento al botón cuando se ha perdido y establecemos que el juego ha terminado */
function gameOver():void
{
game = false;
checkButton.removeEventListener(MouseEvent.CLICK, compareNumbers);
}
/* Si se presiona Espacio y el juego ha terminado ( ya sea por ganar o perder ) se inicializan las variables y se borran los campos dinamicos */
function restart(event:KeyboardEvent):void
{
if(event.keyCode == Keyboard.SPACE && !game)
{
tries = 10;
generatedNumber = generateNumber();
checkTries();
advisor.text = "";
inputField.text = "";
checkButton.addEventListener(MouseEvent.CLICK, compareNumbers);
game = true;
}
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, restart);
Rafa_blog :
Rafa_blog :
llops :
Código :
/* Creamos variables de inicio */
var generatedNumber:int = generateNumber();
//El número generado por la función//
var tries:int = 10;
//Los intentos al iniciar//
var game:Boolean = true;
//Indica que el juego está ejecutandose//
inputField.restrict = "0-9";
//Restringimos el campo de entrada a sólo numeros//
checkButton.addEventListener(MouseEvent.CLICK, compareNumbers);//Le asignamos al botón la función para comparar los números/*
//Esta es la función que generará un número entre el 0 y 100 */
function generateNumber():int {
return Math.floor(Math.random() * 101);
}
/*Esta función compara los numeros para probar si son mayores menores o iguales*/
function compareNumbers(event:Event):void {
stage.focus = inputField;
inputField.setSelection(0,2);
/* Primero checamos que se haya escrito en el campo de entrada y que el número escrito no sea mayor a 100 */
if (inputField.text == "" || new int(inputField.text) > 100) {
advisor.text = "Introduce un número desde 0 hasta 100.";
return;
}
/* Guardamos el número introducido por el usuario */
var userInput:int = new int(inputField.text);
/* Checamos el número introducido con el generado */
if (userInput < generatedNumber) {
advisor.text = "El número introducido es menor.";
tries--;
checkTries();
} else if (userInput > generatedNumber) {
advisor.text = "El número introducido es mayor.";
tries--;
checkTries();
} else if (userInput == generatedNumber) {
gameOver();
tries--;
checkTries();
advisor.text = "Ganaste! el número es " + generatedNumber + " pulsa Espacio para jugar.";
triesField.text = "Utilizaste " + (10 - tries) + " oportunidades.";
inputField.setSelection(0,0);
inputField.selectable = false;
}
}
/* Esta función se encarga de manejar las oportunidades */
function checkTries():void {
triesField.text = "Tienes " + tries + " oportunidades.";
if (tries == 1) {
triesField.text = "Tienes " + tries + " oportunidad.";
} else if (tries == 0) {
advisor.text = "Perdiste! el número era " + generatedNumber + " pulsa Espacio para jugar.";
gameOver();
inputField.setSelection(0,0);
inputField.selectable = false;
}
}
function keyPressed(evt:KeyboardEvent) {
if (evt.keyCode == Keyboard.ENTER) {
compareNumbers(evt);
}
}
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);
/* Retiramos el evento al botón cuando se ha perdido y establecemos que el juego ha terminado */
function gameOver():void {
game = false;
checkButton.removeEventListener(MouseEvent.CLICK, compareNumbers);
stage.removeEventListener(KeyboardEvent.KEY_DOWN,keyPressed);
}
/* Si se presiona Espacio y el juego ha terminado ( ya sea por ganar o perder ) se inicializan las variables y se borran los campos dinamicos */
function restart(event:KeyboardEvent):void {
if (event.keyCode == Keyboard.SPACE && !game) {
tries = 10;
generatedNumber = generateNumber();
checkTries();
advisor.text = "";
inputField.text = "";
checkButton.addEventListener(MouseEvent.CLICK, compareNumbers);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);
game = true;
inputField.selectable = true;
}
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, restart);
fredybg :
