Skip to content

Instantly share code, notes, and snippets.

@calderonsteven
Last active August 29, 2015 13:58
Show Gist options
  • Select an option

  • Save calderonsteven/10345378 to your computer and use it in GitHub Desktop.

Select an option

Save calderonsteven/10345378 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
//Ahorcado
//se ve mas bonito inicializar los arreglos asi.
var palabras = ['Prince' , 'Megaman', 'Sonic', 'MarioKart',
'Frogger', 'PacMan', 'Excitebike',
'Circus', 'Snake', 'Tetris', 'SpaceInvader',
'Tank', 'IceClimber'];
var palabra,
encriptada;
function escoger() {
palabra = palabras[Math.floor(Math.random() * palabras.length)];
encriptada = "";
//esta bien pero se puede hacer como esta abajo
/*
for (var i = 0; i < palabra.length; i++) {
encriptada += '_ ';
}*/
//basicamente crea un arreglo vacio y lo une con los "_"
encriptada = Array(palabra.length+1).join( "_" );
}
function jugar() {
var completoLaPalabra = false;
//mientras no se este completa la palabra
//esto es igual que while(completoLaPalabra == false){
while(!completoLaPalabra){
//give me the character bitch
var letra = prompt('Escribe una letra. La palabra es ' + encriptada);
var letraEncontrada = false;
//quite todas esas variables porque no las estabas usando
//ademas estabas poniendo encriptada = ""
//y por eso siempre llegaba encriptada vacia
//itera por cada una de las letras de la palabra
for (var i=0; i < palabra.length; i++) {
//el toLowerCase() convierte la palabra a minuscula
//para no tener que liar con mayusculas y minusculas
if (letra.toLowerCase() == palabra[i].toLowerCase()) {
// para saber si acerto o no
letraEncontrada = true;
//esto es un poco raro :P
var encriptadaArreglo = encriptada.split(""); //parte el string en una arreglo de caracteras
encriptadaArreglo[i] = letra; //asigna la letra a la posicion donde encontro la letra
encriptada = encriptadaArreglo.join(""); //une el arrecho de caracteres en un string y lo asigna a encriptada
}
}
//el ! al principio es una necacion, es como decir --> if(letraEncontrada == false)
if(!letraEncontrada){
alert("la letra ["+ letra +"] no se econtro\n¡sigue intentando!")
}
//esto es como un if pero en una sola linea (hacker style)
completoLaPalabra = ( encriptada.indexOf("_") == -1 ); // si no encuentra un "_" es porque ya completo la palabra
if(completoLaPalabra){
alert("Great work :) \nGame over");
}
}
}
escoger(); //get a random word
jugar(); //let the game start babe
</script>
</head>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment