Foro de elhacker.net

Programación => Java => Mensaje iniciado por: bengy en 26 Octubre 2011, 04:38 am



Título: juego sencillo ahorcado
Publicado por: bengy en 26 Octubre 2011, 04:38 am
ojala les ayude...

Código:
import java.util.*;
public class ahorcado{
private int vidas;
String [] palabras={"amor","bebe","okey","vida","odio","coma","dios","mama","papa","tata"};
String elegido;
Character [] cont={'*','*','*','*'};
String almacenando="";
   
public ahorcado(){
       vidas =3;
       elegido="";
       }
       
public String elegir(){
       int aleatorio=(int)((Math.random()*10)*10)/10;
       elegido=palabras[aleatorio];
       return elegido;
       }

public boolean existe(char car){
    //       elegido=elegir();
       boolean res=false;
       int i=0;   
       while(res==false && i<=elegido.length()-1){
       if(elegido.charAt(i)==car){
       res=true;
       }
       i++;
       }
       return res;
       }
       
       
public String jugar(char c){
String juego="";
if(elegido==""){
elegido=elegir();
}

almacenando="";
if(vidas>0 && juego!="campeon"){
    if(existe(c)==true){

       for(int m=0; m<=3; m++){
       if(elegido.charAt(m)==c){
       cont[m]=c;
       }
       }
        for(int j=0;j<=3; j++){
        almacenando=almacenando+cont[j];
       }
 
        juego=almacenando;
        almacenando="";
    }else{
        vidas--;
        for(int h=0;h<=3; h++){
        almacenando=almacenando+cont[h];
       }
       juego=almacenando;
       almacenando="";
    }

}else{
    for(int a=0;a<=3; a++){
        almacenando=almacenando+cont[a];
    }
    if(almacenando.equals(elegido)){
        juego="campeon";
    }
    else{
        juego="perdedor";
    }
}
 for(int b=0;b<=3; b++){
        almacenando=almacenando+cont[b];
 }
  if(almacenando.equals(elegido)){
        juego="campeon";
    }

return juego;
}
}


Título: Re: juego sencillo ahorcado
Publicado por: s00rk en 26 Octubre 2011, 07:31 am
Podrias poner como usarlo en el main ...
Es que intento checarlo pero aun no consigo del todo crear el main jejeje

Yo hice tambien uno aunque es un poco mas corto:
Código
  1. package Ahorcado;
  2.  
  3. import java.util.Random;
  4.  
  5. public class AHORCADO
  6. {
  7. private String palabra = "", Solucion = "";
  8. private int pos = -1, intentos = 0, maxintentos = 6;
  9. private String [] PALABRAS = {"GATO", "PERRO", "ELEFANTE", "CASA", "AUTOMOVIL",
  10. "ESCUELA", "MALCOM IN THE MIDDLE"};
  11. public int Gano = -1;
  12.  
  13. public void Iniciar()
  14. {
  15. Random R = new Random();
  16. int x = -1;
  17. do{
  18. x = R.nextInt(PALABRAS.length);
  19. }while(pos == x);
  20. pos = x;
  21. palabra = PALABRAS[pos];
  22.  
  23. for(x = 0; x < palabra.length(); x++)
  24. {
  25. if(palabra.charAt(x) != ' ')
  26. Solucion += "_";
  27. else
  28. Solucion += " ";
  29. }
  30. Dibujar();
  31. }
  32.  
  33. public void BuscarLetra(char pal)
  34. {
  35. String Sol1 = Solucion;
  36. Solucion = "";
  37. for(int x = 0; x < palabra.length(); x++)
  38. {
  39. if(palabra.charAt(x) != ' ')
  40. {
  41. if(pal == palabra.charAt(x))
  42. Solucion += pal;
  43. else
  44. Solucion += Sol1.charAt(x);
  45. }else
  46. Solucion += ' ';
  47. }
  48.  
  49. if(Sol1.compareTo(Solucion) == 0 && Solucion.indexOf(pal) == -1)
  50. intentos++;
  51.  
  52. Dibujar();
  53. if(Solucion.compareTo(palabra) == 0)
  54. {
  55. Gano = 0;
  56. SOP("Usted ha GANADO!!!! ;D");
  57. }else if(intentos == maxintentos){
  58. Gano = 1;
  59. SOP("Usted ha perdido!!! ");
  60. }
  61. }
  62.  
  63. private void Dibujar()
  64. {
  65. for(char c: Solucion.toCharArray())
  66. System.out.print(c + " ");
  67. SOP("");
  68. SOP("\nIntentos restantes: " + (maxintentos - intentos));
  69. }
  70.  
  71. public void SOP(String msj)
  72. {
  73. System.out.println(msj);
  74. }
  75.  
  76. }
  77.  

Y en el main para jugar seria algo asi:
Código
  1. Scanner Leer = new Scanner(System.in);
  2. AHORCADO A = new AHORCADO();
  3. String letra = "";
  4. char Letra;
  5. int op = -1;
  6. do{
  7. if(op == -1)
  8. op = 1;
  9. else{
  10. A.SOP("\n[1] - Jugar de Nuevo\n[0] - Salir");
  11. op = Leer.nextInt();
  12. }
  13.  
  14.  
  15. switch(op)
  16. {
  17. case 1:
  18. A.Iniciar();
  19. while(A.Gano == -1)
  20. {
  21. letra = Leer.next().toUpperCase();
  22. Letra = letra.charAt(0);
  23. A.BuscarLetra(Letra);
  24. }
  25. break;
  26. case 0:
  27. break;
  28. default:
  29. A.SOP("Opcion Indefinida!");
  30. }
  31.  
  32. }while(op != 0);
  33.