Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Javascript (http://www.forosdelweb.com/f13/)
-   -   Codigo javascript que no funciona (http://www.forosdelweb.com/f13/codigo-javascript-que-no-funciona-583865/)

rsb17 07/05/2008 09:03

Codigo javascript que no funciona
 
Tengo este codigo
Código:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" type="text/javascript">
//JUEGO DEL AHORCADO
//Iván Nieto Pérez
//Este script y otros muchos pueden
//descarse on-line de forma gratuita
//en El Código: www.elcodigo.com

var hombre = new Array("___\n", "  |\n", "  O\n", "  /", "|", "\\\n", "  /", " \\\n", "___")
var palabra
var libreriaPalabras = new Array("h o m e", "h o m e", "h o m e", "h o m e", "h o m e",
        "h o m e", "h o m e", "h o m e", "h o m e", "h o m e",
        "h o m e", "h o m e", "h o m e", "h o m e", "h o m e",
        "h o m e", "h o m e", "h o m e", "h o m e", "h o m e",
        "h o m e", "h o m e", "h o m e", "h o m e", "h o m e")
var partes = 0
var colNueva = 0
var jugando

function ObtienePalabra() {
        //obtiene la palabra para jugar de forma pseudoaleatoria
        var indice = Math.round ( Math.random() * 24 )
        var cadena = new String( libreriaPalabras[indice] )
        palabra = cadena.split(" ")
}

function DibujaHombre(visor, partes) {
        //dibuja el hombre ahorcado
        //partes indica el numero de partes a dibujar
       
        var dibujo = ""
        if (partes < 10)
                for(var x = 0; x < partes; x++) {
                        dibujo += hombre[x]
                }
       
        visor.displayHombre.value = dibujo
}

function DibujaLetra(visor, letra) {
        //dibuja una letra de la palabra
        //posicion indica donde debe dibujar la letra

        var flag = false                //indica si se encontro la letra       
       
        //obtiene cadena actual
        var cadena = new String(visor.displayPalabra.value)
       
        //la separa en sus espacios
        var letrasCadena = cadena.split(" ")

        cadena = ""       
        for (var x = 0; x < palabra.length; x++) {
                if (palabra[x] == letra) {
                        cadena += letra + " "
                        flag = true
                } else
                        cadena += letrasCadena[x] + " "
        }
       
        visor.displayPalabra.value = cadena
        return flag
}

function NuevaLetra(visor, letra) {
        //añade letra lista de letras
        visor.displayLetras.value += letra + " "

        //comprueba si ha de pasar a la siguiente fila
        if(colNueva == 3) {
                visor.displayLetras.value += "\n"
                colNueva = 0
        } else
                colNueva++
}

function Juega(visor, letra) {

        //comprueba si esta jugando
        if (jugando) {

                //ciclo de jugada
       
                //1. añade letra a la lista
                NuevaLetra(visor, letra)
       
                //2. dibuja la letra y comprueba si acierto
                var acierto = DibujaLetra(visor, letra)
       
                //3. si no acierto, dibuja hombre
                if (!acierto)
                        DibujaHombre(visor, ++partes)
       
                //4. comprueba si fin
                if (partes == 9)
                        FinJuego(false)
                else if ( CompruebaPalabra(visor) )
                        FinJuego(true)

        } else {
                alert('Pulsa Juego nuevo para comenzar\nuna partida nueva.')
        }
}

function IniciaJuego() {
        //inicializa visor y variables globales
        jugando = true
        partes = 0
        colNueva = 0
        ObtienePalabra()
        DibujaHombre(document.visor, partes)
        document.visor.displayPalabra.value = ""
        for (var x = 0; x < palabra.length; x++)
                document.visor.displayPalabra.value += "_ "
        document.visor.displayLetras.value = ""
}

function CompruebaPalabra(visor) {
        //comprueba si se completo toda la palabra

        var fin = true
       
        //obtiene cadena actual
        var cadena = new String(visor.displayPalabra.value)
       
        //la separa en sus espacios
        var letrasCadena = cadena.split(" ")
       
        for(var x = 0; x < letrasCadena.length; x++)
                if (letrasCadena[x] == "_")
                        fin = false

        return fin
}

function FinJuego(resultado) {
        //indica que si se ha perdido o ganado
        var solucion = ""

        jugando = false       
        if (resultado) {
                document.visor.ganadas.value++
                alert("¡Acertaste!")
        } else {
                document.visor.perdidas.value++
                //construye la palabra solucion
                for (var x = 0; x < palabra.length; x++)
                        solucion += palabra[x]
                alert("¡Has muerto!\n La palabra era: " + solucion)
        }
}

window.onload = IniciaJuego;
if (document.captureEvents) {                                //N4 requiere invocar la funcion captureEvents
        document.captureEvents(Event.LOAD)
}




</script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ahorcado</title>
</head>

<body>
<!-- Para visualizar el juego -->
<form name="visor">
  <div align="center"><center><table width="85%">
    <tr>
      <td colspan="3" width="33%"><p><textarea name="displayHombre" cols="14" rows="6">
</body>
</html>

Lo cogi directamente de aqui www.elcodigo.net/cgi-bin/DBread.cgi?tabla=scripts&campo=0&clave=24 y sigo los pasos al pie de la letra, alguien sabe lo que me falta??

marcopoloaz06 07/05/2008 11:22

Re: Codigo javascript que no funciona
 
No esta todo copiado necesitas copiarlo bien
:]

rsb17 08/05/2008 08:43

Re: Codigo javascript que no funciona
 
Cita:

Iniciado por marcopoloaz06 (Mensaje 2394228)
No esta todo copiado necesitas copiarlo bien
:]

La verdad es que a mi tambien me parecia raro que no cerrasen todo lo que se abre dentro del body, pero como era lo que decian los pasos, lo volvere a revisar, gracias por la ayuda


La zona horaria es GMT -6. Ahora son las 10:44.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.