Foros del Web » Programando para Internet » PHP »

Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

Estas en el tema de Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P en el foro de PHP en Foros del Web. Pues eso, que despues de unos cuantos dias aprendiendo PHP probe ha hacer mi primer juego en php, y esto me salio : Código PHP: ...
  #1 (permalink)  
Antiguo 13/07/2009, 06:16
Avatar de uriurifrank  
Fecha de Ingreso: abril-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 1
Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

Pues eso, que despues de unos cuantos dias aprendiendo PHP probe ha hacer mi primer juego en php, y esto me salio :

Código PHP:
<?php
$bor
=0;
$borrar $_GET["borrar"];
$letra $_GET["letra"];
if (
$borrar=="si" || $letra=="") {
              
setcookie("p1",0);
              
setcookie("p2",0);
              
setcookie("p3",0);
              
setcookie("p4",0);
              
$bo=1;
              
setcookie("L",0);
              }
              else {
              
$bo=0;
              }

//Palabra
$q1="p";
$q2="a";
$q3="l";
$q4="o";

//Acertado o no acertada
$p1 0;
$p2 0;
$p3 0;
$p4 0;


 
//Intentos
if (!($bo==1)){
$L $HTTP_COOKIE_VARS["L"];
}
//Si la letra enviada es correcta se envia una cookie recordandolo
//y se activa la letra, sino, se le suma el intento a $L y se envia 
//una cookie recordandolo



if ($letra == $q1){
              
$p1++;
              
setcookie("p1","$p1");
              }
              
if (
$letra == $q2){
              
$p2++;
              
setcookie("p2","$p2");
              }

if (
$letra == $q3){
              
$p3++;
              
setcookie("p3","$p3");
              }

if (
$letra == $q4){
              
$p4++;
              
setcookie("p4","$p4");
              }
              
if (!(
$bo==1)){
if (!(
$letra==$q1 || $letra==$q2 || $letra==$q3 || $letra==$q4))
              { 
              
$L=$L+1;         
              
setcookie("L",$L);}}

//Acertada o no acertada

if ($p1 == 0){
        
$p1 $HTTP_COOKIE_VARS["p1"];
        }

if (
$p2 == 0){
        
$p2 $HTTP_COOKIE_VARS["p2"];
        }

if (
$p3 == 0){
        
$p3 $HTTP_COOKIE_VARS["p3"];
        }

if (
$p4 == 0){
        
$p4 $HTTP_COOKIE_VARS["p4"];
        }

?>


<html>
<head>
<title> .:Ahorcado:. </title>
</head>

<Body>

<?

  
if ($p1 != && $p2 != && $p3 != && $p4 != 0) {
  echo 
"<b>ENORABUENA HAS GANADO; La palabra era: $q1$q2$q3$q4</b>";
    
?>
    <form action="ahorcado.php" method="GET">
  <br><br><br>Volver a empezar ?: <input type="text" name="borrar" />
  <input type="submit">
  </form>
  <?
    
} else {
  
  
//Intentos
  
if (!($bo==1) && $L >= 8){
          echo 
"Perdiste, la palabra era: $q1$q2$q3$q4";
          
          
          
?>
  <form action="ahorcado.php" method="GET">
  <br><br><br>Volver a empezar ?: <input type="text" name="borrar" />
  <input type="submit">
  </form>
  <?
          
          
          
          
} else {
          
          
  
?>
  
  
  
  <form action="ahorcado.php" method="GET">
  Letra: <input type="text" name="letra" />
  <input type="submit">
  </form>
  
  
  
  <?
          
  
  $in
=8;
  
$in=$in-$L;
  
  echo 
"<br>Escribiste la letra: $letra";
  echo 
"<br>Te quedan $in intentos<br>";
  
  
  
  
//Letra o "_"
  
  
  
  
if ($p1 |= 0) {
          echo 
"$q1";
          }
          else {
          echo 
"_";
          }
  if (
$p2 |= 0) {
          echo 
" $q2";
          }
          else {
          echo 
" _";
          }
  if (
$p3 |= 0) {
          echo 
" $q3";
          }
          else {
          echo 
" _";
          }
  if (
$p4 |= 0) {
          echo 
" $q4";
          }
          else {
          echo 
" _";
          }
  
  
  
  }
  
  
  
  echo 
"<br><br>";
  if (
$L==1){
          echo(
'<img src="ar1.JPG"> ');
          }
  if (
$L==2){
          echo(
'<img src="ar2.JPG"> ');
          }
  if (
$L==3){
          echo(
'<img src="ar3.JPG"> ');
          }
  if (
$L==4){
          echo(
'<img src="ar4.JPG"> ');
          }
  if (
$L==5){
          echo(
'<img src="ar5.JPG"> ');
          }
  if (
$L==6){
          echo(
'<img src="ar6.JPG"> ');
          }
  if (
$L==7){
          echo(
'<img src="ar7.JPG"> ');
          }
  if (
$L>=8){
          echo(
'<img src="ar8.JPG"> ');
          }
}
          
?>

100% Funcional, puden probarlo desde aqui: http://azache.com/p/ahorcado/ahorcado.php

Este humilde aprendiz espera sus opiniones

Última edición por uriurifrank; 17/06/2010 a las 16:06 Razón: actualice el link
  #2 (permalink)  
Antiguo 13/07/2009, 07:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

Muy bueno me gusto mucho
  #3 (permalink)  
Antiguo 13/07/2009, 08:12
Avatar de uriurifrank  
Fecha de Ingreso: abril-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 1
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

Gracias

Por cierto... Aun no he llegado en temario pero ni si quiera se si lo dare...

Como podría hacer para que el ahorcado cogiera distintas palabras aleatoriamente de un documento de texto ??

Por que se como hacer que leea un archivo, pero no tengo ni idea de como podrida indicarle para que la palabra seleccionada la seccionara poniendo a cada valor una letra y escogiera una linea aleatoriamente , ya que ademas, de que forma se utilizaría random ??
  #4 (permalink)  
Antiguo 17/06/2010, 15:57
Avatar de uriurifrank  
Fecha de Ingreso: abril-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 1
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

Volví de nuevo con el ahorcado y aplicando los nuevos conocimientos optimice su código y lo hice de tal manera que ahora es personalizable y uno puede elegir con que palabra jugar puesto que viene del mismo codigo original, posteo de nuevo aquí, bueno, aqui les dejo el nuevo codigo:

Código PHP:
<?php
//Comparación con la versión anterior:
//$q1 = $letras[0]
//$p1 = $p[0]

//No confundir $letra con $letras

//Palabra y separación de sus letras:


$palabra $HTTP_COOKIE_VARS["palabra"];

if (
$_GET["palabra"] |= ""){
$palabra $_GET["palabra"];
setcookie("palabra","$palabra");
}

if (!(
$palabra == "")){

$letras str_split($palabra);

$contador count($letras);

$pf 0;
$pn 0;

$bor=0;
$borrar $_GET["borrar"];
$letra $_GET["letra"];

if (
$borrar=="si" || $letra=="") {
    while (
$pn $contador){        
            
setcookie("p$pn",0);
            
$pn++;
            }
    
$bo=1;
    
setcookie("L",0);
    }
    else {
    
$bo=0;
    }
    
    

//Acertado o no acertada

$pn 0;
while (
$pn $contador){
    
$pn++;
    
$p[] = 0;
}


 
//Intentos
if (!($bo==1)){
$L $HTTP_COOKIE_VARS["L"];
}
//Si la letra enviada es correcta se envia una cookie recordandolo
//y se activa la letra, sino, se le suma el intento a $L y se envia 
//una cookie recordandolo


$pn 0;
while (
$pn $contador){

if (
$letra == $letras[$pn]){
              
$p[$pn]++;
              
setcookie("p$pn","$p[$pn]");
              }
$pn++;

}

if (!(
$bo==1)){
    
    
$pn 0;
    while (
$pn $contador){
        if (!(
$letra==$letras[$pn])){
            
$pf++;
        }
    
$pn++;
    }

if (
$pf == $contador){
    
$L=$L+1;         
    
setcookie("L",$L);
}}

//Acertada o no acertada

$pn 0;
while (
$pn $contador){
    if (
$p[$pn] == 0){
        
$p[$pn] = $HTTP_COOKIE_VARS["p$pn"];
    }
    
$pn++;
}

?>


<html>
<head>
<title> .:Ahorcado:. </title>
</head>

<Body>

<?

$pf 
0;
$pn 0;
while (
$pn $contador){
    if (
$p[$pn] != 0){
        
$pf++;
    }
$pn++;
}

if (
$pf == $contador){
    echo 
"<b>ENORABUENA HAS GANADO; La palabra era: $palabra </b>";

    
?>
    <form action="ahorcado2.php" method="GET">
  <br><br><br>Volver a empezar ?: <input type="text" name="borrar" />
  <input type="submit">
  </form>
  <?
    
} else {
  
  
//Intentos
  
if (!($bo==1) && $L >= 8){
          echo 
"Perdiste, la palabra era: $palabra";
          
          
          
?>
  <form action="ahorcado2.php" method="GET">
  <br><br><br>¿Quieres volver a empezar?: <input type="text" name="borrar" />
  <input type="submit">
  </form>
  <?
          
          
          
          
} else {
          
          
  
?>
  
  
  
  <form action="ahorcado2.php" method="GET">
  ¿Que letra crees que contiene?(Pulsa enviar sin introducir nada para volver a empezar)
  <br>
  Letra: <input type="text" name="letra" />
  <input type="submit">
  </form>
  
  
  
  <?
          
  
  $in
=8;
  
$in=$in-$L;
  
  echo 
"<br>Escribiste la letra: $letra";
  echo 
"<br> La palabra tiene $contador letras";
  echo 
"<br>Te quedan $in intentos<br>";
  
  
  
  
//Letra o "_"
  
$pn 0;
while (
$pn $contador){
  
  if (
$p[$pn] |= 0){
    echo 
"$letras[$pn] ";
  }
  else {
    echo 
"_ ";
  }
  
$pn++;
  }
    
  
  }
  
  
  
  echo 
"<br><br>";
  
  
//imagenes
  
  
$pn 0;
  while (
$pn <= 8){
    if (
$L==$pn){
        echo(
'<img src="ar') . "$pn" . ('.JPG">');
    }
    
$pn++;
  }
  
}}
          
?>
          
          <br><br><br>
          
  <form action="ahorcado2.php" method="GET">
  Nueva palabra: <input type="text" name="palabra" />
  <input type="submit">
  </form>
Desde aquí pueden probarlo:
http://azache.com/p/ahorcado/ahorcado2.php

Explico aquí el cometido de cada función:
Código:
$HTTP_COOKIE_VARS - Coge los valores de las cookies enviadas
$L - Va almacenando los intentos
$_GET - Coge los valores de los formularios
$bor - no recuerdo para que era O_o
$bo - Tiene el cometido de indicar si se debe o no resetear todo
$borrar - Transmite a $bo el reseteo
$contador - numero de letras en la palabra
$in - Sirve para decir cuantos intentos quedan
$letra - La letra escrita
$letras - array con cada letra de la palabra
$p - array con el mismo numero de "0" que letras hay, el p[1] equivale a letras[1] si p[1] es "0" significa que no se adivino esa letra, si es uno, significa que se dio con ella.
$palabra - la palabra elegida
$pn - Tan solo lo utilizo para ponerlo a 0 y utilizarlo en los while
$pf - lo mismo que $pn solo que lo utilizo para cuando necesito más de uno.
Bueno, a ver que les parece !
  #5 (permalink)  
Antiguo 17/06/2010, 16:01
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

bien :P
de consejo.

$HTTP_COOKIE_VARS <-- esta mas que obsoleto *o*

PD: puse la letra A y despues la O y me dijo..
ENORABUENA HAS GANADO; LA PALABRA ERA P A L O

xD.. algun error hay por ahi
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 17/06/2010, 16:07
Avatar de uriurifrank  
Fecha de Ingreso: abril-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 1
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

a si... ese error, lo siento, no actualice el archivo del servidor xDD lo acabo de corregir, tanto el archivo que subí hace ya tiempo como el código que deje aquí.
Igualmente, el ahorcado 2.0 nuevo que cree no tiene ese error xDDD y es por el que pregunto =P
  #7 (permalink)  
Antiguo 17/06/2010, 16:11
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

con que hiciste los dibujitos esos.. estan geniales xD!
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 17/06/2010, 16:16
Avatar de uriurifrank  
Fecha de Ingreso: abril-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 1
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

xDDD naa con el paint y mi tableta gráfica =P tampoco es para tanto, es que sino quedaba muy soso !!
Por cierto, porque dijiste que "$HTTP_COOKIE_VARS" esta obsoleto ? O_O
Y preguntaba más que nada por que os parecía a la gente que viera el ahorcado 2.0 el código con el que lo cree, que si ven algún fallo, que mejorarían y demás xDD
  #9 (permalink)  
Antiguo 17/06/2010, 16:26
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Aprendiendo PHP - Asi es como hice un ahorcado en PHP =P

http://cl.php.net/manual/en/reserved.variables.post.php

se usa $_POST ahora :P
__________________
More about me...
~ @rhyudek1
~ Github
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:41.