Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - sheiking

#1
hola que tal estoy haciendo un juego de adivinar animales pero necesito hacerlo recursivo pero no tengo idea de como aplicar la recursion
aquí les comparto el código 

Código (java) [Seleccionar]

package evidencia;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;


public class Juego implements Serializable {

   
    public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
       
        FileInputStream Fi = new FileInputStream("respuestas.txt");
        ObjectInputStream in = new ObjectInputStream(Fi);
        Memoria memory = (Memoria)in.readObject();
        memory.iniciar("vaca");
       
        FileOutputStream out = new FileOutputStream("respuestas.txt");
        ObjectOutputStream os = new ObjectOutputStream(out);
        os.writeObject(memory);
   
       
    }
   
}


Código (java) [Seleccionar]

package evidencia;

import java.io.Serializable;


public class Arbol<E> implements Serializable {
    public Arbol izquierda;
    public Arbol derecha;
    public E carga;

    public Arbol() {
    }
   
   
    public Arbol(Arbol izquierda,Arbol derecha, E carga){
        this.izquierda = izquierda;
        this.derecha = derecha;
        this.carga = carga;
    }
    public Arbol(E cargar){
        this.izquierda = null;
        this.derecha = null;
        this.carga = cargar;
    }
    @Override
    public String toString(){
        return carga.toString();
    }
}



Código (java) [Seleccionar]

package evidencia;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Serializable;



public class Memoria implements Serializable {
    private Arbol raiz;
    static BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
   
    public boolean si(String pregunta) throws IOException{
        System.out.println(pregunta);
       
        String respuesta = sc.readLine();
       
        return "si".equals(respuesta.toLowerCase());
    }
   
    public void iniciar(String firstAnimal) throws IOException{
        boolean bucle = true;
        if(raiz == null){
        raiz = new Arbol(firstAnimal);
        }
        while(bucle){
            if (!si("¿Estas pensando en un Animal?")) {
                break;
            }
            Arbol arbol = raiz;
            while(arbol.izquierda !=null){
                if (si(arbol.carga+"?")) {
                    arbol = arbol.izquierda;
                }else{
                    arbol = arbol.derecha;
                }
            }
            String animal = (String) arbol.carga;
            if (si("Es un "+animal+"?")) {
                System.out.println("Adivine!!");
                continue;
            }
            if(arbol.derecha == null){
            System.out.println("¿Que animal era?");
            String nuevo = sc.readLine();
            System.out.println("que diferencia a un(a) " +animal+ " de un "+nuevo+"?");
            String info = sc.readLine();
            String indicador = "Si el animal fuera un(a) "+animal+" cual seria la respuesta";
            arbol.carga = info;
           
            if (si(indicador)) {
                arbol.izquierda = new Arbol(animal);
                arbol.derecha = new Arbol(nuevo);
            }else{
                arbol.derecha = new Arbol(animal);
                arbol.izquierda = new Arbol(nuevo);
            }
            }else{
                System.out.println(arbol.derecha);
            }
        }
    }
}
#2
PHP / ordenar tabla
2 Marzo 2019, 02:08 AM
hola que tal tengo una pequeña duda tengo una base de datos y en el programa hago que se muestre la tabla pero me gustaria añadirle un boton para ordenarlo segun id, genero y usuario pero la verdad no se como hacerlo llevo buscando soluciones y no se me ocurre nada :c aqui les adjunto el codigo
Código (php) [Seleccionar]

<?php 

$conexion=mysqli_connect('localhost','root','','actividad 7');

 
?>



<!DOCTYPE html>
<html>
<head>
<title>mostrar datos</title>
</head>
<body>

<br>

<table border="1" >
<tr>
<td>id</td>
<td>genero</td>
<td>nombre</td>
<td>color</td>
<td>comida</td>
</tr>

<?php 
$sql="SELECT * from personas";
$result=mysqli_query($conexion,$sql);

while($mostrar=mysqli_fetch_array($result)){
 ?>


<tr>
<td><?php echo $mostrar['id'?></td>
<td><?php echo $mostrar['genero'?></td>
<td><?php echo $mostrar['nombre'?></td>
<td><?php echo $mostrar['color'?></td>
<td><?php echo $mostrar['comida'?></td>
</tr>
<?php 
}
 ?>

                <?php
                
                
                ?>

</table>

</body>
</html>
#3
Java / Re: invertir cola
13 Febrero 2019, 19:35 PM
amigo probe lo que me dices cree una clase llamada stack con sus metodos pero me sigue saliendo los mismos datos iguales

aqui esta el codigo
Código (java) [Seleccionar]
package clientqueue;
import java.util.logging.Level; 
import java.util.logging.Logger;


   
public class ClientQueue {
    public static void main(String[] args) {
        Queue<String> myQueue = new Queue();
        myQueue.push("Jesus");
        myQueue.push("Alberto");
        myQueue.push("Enrique");
        myQueue.push("Isma");
        myQueue.push("Alexis");
        System.out.println(myQueue);
     
        try {
            myQueue.pop();
        } catch (Exception ex) {
            Logger.getLogger(ClientQueue.class.getName()).log(Level.SEVERE, null, ex);
        }       
        System.out.println(myQueue);   
       
        System.out.println("cola invertida: ");
        myQueue.invert();
        System.out.println(myQueue);

   
    }   

   
}


Código (java) [Seleccionar]
package clientqueue;

import java.util.logging.Level;
import java.util.logging.Logger;


public class Queue<E> {
      public static final int CAPACITY  =100000;
      private E[] data;
      private int size=0;

      public Queue() {
         this.data  = (E[])new Object[this.CAPACITY];
      }

      public boolean isEmpty(){       
         return (this.size==0);
      }

      public int size(){

         return (this.size);
    }
     
      public void push(E value){
        this.data[this.size] = value;
        this.size++;
    }
     
      public E pop() throws Exception{
        E result=null;
        if (this.isEmpty()){
            throw new Exception("La cola está vacía");
    }
        result = this.data[0];
       
      for (int i=0;i<this.size-1;i++){
            data[i]=data[i+1];           
        }
        this.data[this.size]= null;
        this.size--;       
        return result;

      }
      public E peek() throws Exception{

        E result=null;
        if (this.isEmpty()){
            throw new Exception("La Cola está vacía");
        }
        result = this.data[0];
        return result;
    }
     public E peekLast() throws Exception{

        E result=null;
        if (this.isEmpty()){
            throw new Exception("La Cola está vacía");
        }
        result = this.data[size-1];
        return result;
    }
     
     @Override
    public String toString()
    {
        String result = " ";
       
        for (int i= size-1; i >= 0; i--)
        {
            result += this.data[i] + " " ;
        }
       
        return result;
    }
    public  void invert(){
        Stack aux = new Stack();
        Queue result = new Queue();
        while(!result.isEmpty()){
            try {
                aux.push(result.peek());
                result.pop();
            } catch (Exception ex) {
                Logger.getLogger(Queue.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        while(!aux.isEmpty()){
            try {
                result.push(aux.peek());
                aux.pop();
            } catch (Exception ex) {
                Logger.getLogger(Queue.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
       
     
    }
}


Código (java) [Seleccionar]
package clientqueue;


public class Stack<E> {
    public static final int CAPACITY  =100000;
      private E[] data;
      private int size=0;
      public Stack() {
         this.data  = (E[])new Object[this.CAPACITY];
    }
     
       public boolean isEmpty(){       
         return  (this.size==0);
      }
       
       public int size(){
         return  (this.size);
      }
       public void push(E value){
      this.data[this.size] = value;
      this.size++;
      }
        public E  pop() throws Exception{
        E  result = null;
        if (this.isEmpty()){
          throw  new Exception("La  Pila está vacía");
        }
        this.size--;
        result = this.data[this.size];
        this.data[this.size]= null;
        return result;
    }
       public E  peek() throws Exception{
        E  result = null;
        if (this.isEmpty()){
            throw  new Exception("La  Pila está vacía");
        }
        result = this.data[this.size];
        return result;
    }
       
       


}
#4
Java / invertir cola
13 Febrero 2019, 17:23 PM
hola que tal cree una cola con los métodos básicos de agregar eliminar y mostrar los elementos de la cola pero me gustaría saber como podría invertir los datos de este

eh buscado en varios post acerca de como invertir una cola pero no eh podido solucionar mi problema me gustaría saber si me pueden ayudar

aquí les adjunto el código  
Código (java) [Seleccionar]
package clientqueue;


public class Queue<E> {
     public static final int CAPACITY  =100000;
     private E[] data;
     private int size=0;

     public Queue() {
        this.data  = (E[])new Object[this.CAPACITY];
     }

     public boolean isEmpty(){        
        return (this.size==0);
     }

     public int size(){

        return (this.size);
   }
     
     public void push(E value){
       this.data[this.size] = value;
       this.size++;
   }
     
     public E pop() throws Exception{
       E result=null;
       if (this.isEmpty()){
           throw new Exception("La cola está vacía");
   }
       result = this.data[0];
     
     for (int i=0;i<this.size-1;i++){
           data[i]=data[i+1];            
       }
       this.data[this.size]= null;
       this.size--;        
       return result;

     }
     public E peek() throws Exception{

       E result=null;
       if (this.isEmpty()){
           throw new Exception("La Cola está vacía");
       }
       result = this.data[0];
       return result;
   }
    public E peekLast() throws Exception{

       E result=null;
       if (this.isEmpty()){
           throw new Exception("La Cola está vacía");
       }
       result = this.data[size-1];
       return result;
   }
   
    @Override
   public String toString()
   {
       String result = " ";
       
       for (int i= size-1; i >= 0; i--)
       {
           result += this.data[i] + " " ;
       }
       
       return result;
   }
   
   

}


Código (java) [Seleccionar]
package clientqueue;
import java.util.logging.Level;  
import java.util.logging.Logger;


   
public class ClientQueue {
   public static void main(String[] args) {
       Queue<String> myQueue = new Queue();
       myQueue.push("Jesus");
       myQueue.push("Alberto");
       myQueue.push("Enrique");
       myQueue.push("Isma");
       myQueue.push("Alexis");
       System.out.println(myQueue);
     
       try {
           myQueue.pop();
       } catch (Exception ex) {
           Logger.getLogger(ClientQueue.class.getName()).log(Level.SEVERE, null, ex);
       }        
       System.out.println(myQueue);        

   
   }    

   
}
#5
Es que borre técnicamente el método ver() porque era lo mismo que mover() solo que te quitaba 1 de vida  :-\  pero sigo viendo cómo hacerle para que solo se descubra la casilla y que el personaje no avance xd por eso lo borre   :-[ gracias  por enseñarme lo de Geshi si es muy útil
#6
es que si lo que hice en el metodo ver porque lo que queria hacer era preguntarle al usuario si queria moverse a la casilla que tiene por delante o si queria solo ver que habia pero intente replicar el metodo de mover pero la verdad no tengo idea xd ando un poco perdido pero igual gracias por la ayuda  ;D
#7
estoy haciendo un pequeño juego en consola que se trata de una búsqueda del tesoro en un cuadricula pero lo que quiero hacer es que el usuario escoja dos opciones moverse o ver lo que hay en la casilla de adelante pero solo tango la opción de mover

Código (java) [Seleccionar]

package RetoFinal;

import java.util.Scanner;

public class BuscarTesoro {
    public static void main(String[] args) {
        System.out.println("Dame dificultad: ");
        Scanner lector = new Scanner(System.in);
        int dificultad = lector.nextInt();
        Juego partida = new Juego(dificultad);
       
        do{
            partida.imprimir();
            System.out.println("Vida: " + partida.vida);
            System.out.println("Tesoros: " + partida.tesEncontrados);
           
            partida.mover();
           
       }while(partida.vida>=0&&partida.tesEncontrados<partida.numTesoros);
        if(partida.vida<0){
            partida.imprimir();
            System.out.println("GAME OVER");
            System.out.println("Tesoros Encontrados: "+partida.tesEncontrados);
        }else{
            partida.imprimir();
            System.out.println("GANASTE");
        }
    }
}




Código (java) [Seleccionar]

package RetoFinal;

class Comida extends Item{

    Comida(int posX, int posY) {
        this.posX=posX;
        this.posY=posY;
        this.afecta=3;
    }
   
}



Código (java) [Seleccionar]
package RetoFinal;

public class Elemento {
    int posX;
    int posY;
}

Código (java) [Seleccionar]
package RetoFinal;

class Enemigo extends Item{

    Enemigo(int posX, int posY) {
        this.posX=posX;
        this.posY=posY;
        this.afecta=-5;
    }
   
}

Código (java) [Seleccionar]
package RetoFinal;

class Item extends Elemento{
    int afecta;
}

Código (java) [Seleccionar]
package RetoFinal;

import java.util.Random;
import java.util.Scanner;

public class Juego {
    boolean continuar=true;
    int tesEncontrados = 0;
    private boolean hallazgo;
    private boolean ver;
    int numTesoros;
    private int numEnemigos;
    private int numComida;
    int vida;
    private int mapDimension;
    private Jugador player1;
    private Mapa map;
    private Enemigo[] enemies;
    private Comida[] food;
    private Tesoro[] chest;

    public Juego(int dificultad) {
       
        switch(dificultad){
            case 1:
                this.mapDimension=5;
                this.vida = 50;
                this.numTesoros=1;
                this.numEnemigos=2;
                this.numComida=8;
                break;
            case 2:
                this.mapDimension=8;
                this.numTesoros=2;
                this.vida = 40;
                this.numEnemigos=4;
                this.numComida=6;
                break;
            case 3:
                this.numTesoros=4;
                this.numEnemigos=8;
                this.numComida=4;
                this.vida = 30;
                this.mapDimension=12;
                break;
            default:
                break;
        }
        map = new Mapa(this.mapDimension);
        this.generarJugador();
        this.generarEnemigos();
        this.generarComida();
        this.generarTesoro();
    }
   
    private void generarJugador() {
        Random generadorAleatorios = new Random();
        int posX = 0+generadorAleatorios.nextInt(this.mapDimension);
        int posY = 0+generadorAleatorios.nextInt(this.mapDimension);
        player1 = new Jugador(posX,posY);
    }

    private void generarEnemigos() {
        this.enemies = new Enemigo[this.numEnemigos];
        for(int i=0;i<this.numEnemigos;i++){
            Random generadorAleatorios = new Random();
            int posX = 0+generadorAleatorios.nextInt(this.mapDimension);
            int posY = 0+generadorAleatorios.nextInt(this.mapDimension);
            int numeroAleatorio = 1+generadorAleatorios.nextInt(5);
            this.enemies[i] = new Enemigo(posX, posY);
        }
    }

    private void generarComida() {
        this.food = new Comida[this.numComida];
        for(int i=0;i<this.numComida;i++){
            Random generadorAleatorios = new Random();
            int posX = 0+generadorAleatorios.nextInt(this.mapDimension);
            int posY = 0+generadorAleatorios.nextInt(this.mapDimension);
            int numeroAleatorio = 1+generadorAleatorios.nextInt(5);
            food[i] = new Comida(posX, posY);
        }
    }

    private void generarTesoro() {
        this.chest = new Tesoro[this.numTesoros];
        for(int i=0;i<this.numTesoros;i++){
            Random generadorAleatorios = new Random();
            int posX = 0+generadorAleatorios.nextInt(this.mapDimension);
            int posY = 0+generadorAleatorios.nextInt(this.mapDimension);
            int numeroAleatorio = 1+generadorAleatorios.nextInt(5);
            chest[i] = new Tesoro(posX, posY);
        }
    }
   
    public void imprimir() {
        map.matriz[player1.posX][player1.posY] = '@';
        map.imprimir();
        this.generarItem();
    }
   
    public void mover() {
        if(!this.hallazgo){
            map.matriz[player1.posX][player1.posY] = ' ';
        }
        if(ver){
            map.matriz[player1.posX][player1.posY] = '?';
        }
        System.out.println("controles:");
        System.out.println("oeste  norte  sur  este");
        System.out.println("a      w      s    d");
       
        Scanner lector = new Scanner(System.in);
        char opcion = lector.next().charAt(0);
        switch(opcion){
            case 'a':
                player1.moverX(-1);
                break;
            case 'w':
                player1.moverY(-1);
                break;
            case 's':
                player1.moverY(1);
                break;
            case 'd':
                player1.moverX(1);
                break;
           
        }
        this.encontrarItem();
        this.vida-=2;
    }
   
   
    private void generarItem() {
        int i;
        this.hallazgo=false;
        for(i=0;i<this.numTesoros;i++){
            if(player1.posX==chest[i].posX&&player1.posY==chest[i].posY){
                System.out.println("Encontraste Un Tesoro! Felicidades!");
                map.matriz[player1.posX][player1.posY] = '$';
                this.hallazgo=true;
            }
        }
        for(i=0;i<this.numComida;i++){
            if(player1.posX==food[i].posX&&player1.posY==food[i].posY){
                System.out.println("Encontraste Comida! Salud+3");
                map.matriz[player1.posX][player1.posY] = '+';
                this.hallazgo=true;
            }
        }
        for(i=0;i<this.numEnemigos;i++){
            if(player1.posX==enemies[i].posX&&player1.posY==enemies[i].posY){
                System.out.println("Encontraste Un Enemigo! Salud-5");
                map.matriz[player1.posX][player1.posY] = '!';
                this.hallazgo=true;
            }
        }
    }

    private void encontrarItem() {
        int i;
        for(i=0;i<this.numTesoros;i++){
            if(player1.posX==chest[i].posX&&player1.posY==chest[i].posY){
                this.tesEncontrados++;
            }
        }
        for(i=0;i<this.numComida;i++){
            if(player1.posX==food[i].posX&&player1.posY==food[i].posY){
                this.vida+=3;
            }
        }
        for(i=0;i<this.numEnemigos;i++){
            if(player1.posX==enemies[i].posX&&player1.posY==enemies[i].posY){             
                this.vida-=5;
            }
        }
    }
   
}


Código (java) [Seleccionar]
package RetoFinal;

class Jugador extends Elemento{
    int vida;

    Jugador(int posX, int posY) {
        this.posX=posX;
        this.posY=posY;
    }
    public void moverX(int i){
        this.posY += i;
    }
    public void moverY(int j){
        this.posX += j;
    }
}

Código (java) [Seleccionar]
package RetoFinal;

class Mapa {
   
    char[][] matriz;
    private int dimension;
   
    public Mapa(int d) {
        this.dimension = d;
        this.matriz = new char[d][d];
        for(int i=0;i<this.dimension;i++){
            for(int j=0;j<this.dimension;j++){
                this.matriz[i][j]='?';
            }
        }
    }

    void imprimir() {
        for(int i=0;i<this.dimension;i++){
            for(int j=0;j<this.dimension;j++){
                System.out.print(this.matriz[i][j]+" ");
            }
            System.out.println();
        }
    }
   
}

Código (java) [Seleccionar]
package RetoFinal;


class Tesoro extends Elemento{

    Tesoro(int posX, int posY) {
        this.posX=posX;
        this.posY=posY;
    }
   
}


lo que tengo duda es que al momento de que el jugador haga un movimiento pregunte si se quiere mover o quiere solo ver la casilla si se mueve perderia 2 de vida y si solo ve lo que hay en la casilla perderia 1 vida
#8
muchas gracias amigo me haz ayudado bastante
#9
ayuda quiero generar un programa que me genere 5 personajes (objetos) que tengas diferentes atributos aleatoriamente

en si este es el ejercicio
Realiza un programa que incluya constructores, que genere cinco ayudantes, donde cada ayudante tiene características como: números de ojos (uno o dos), color de piel (amarilla o morada), altura (mediano o alto), un cierto nivel para crear objetos (1 al 5), un cierto nivel para arreglar cosas (1 al 5), un cierto nivel destructivo (1 al 5).

La cantidad de ayudantes necesarios ya ha sido definida, pero las características de cada uno deben ser establecidas al azar.

Al finalizar el programa, imprime la lista de los cinco ayudantes con sus características.

si alguien me puede ayudar estaria muy agradecido

por el momento llevo esto

public class Ayudantes {
    public int numOjos[] = {1,2};
    public String colorPiel[] = {"morado","amarillo"};
    public String altura[] = {"mediano","alto"};
    public int nivelCrearObjetos[] = {1,2,3,4,5};
    public int nivelArreglarCosas[] = {1,2,3,4,5};
    public int nivelDestruccion[] = {1,2,3,4,5};
   
}
#10
hola que tal estoy haciendo un programa que me adivine palabras y que tenga 3 dificultades pero no logro hacer que me lea las letras que escribo porque directamente me manda a la excepcion que puse en el codigo

esto es lo que llevo actualmente

package adivinapalabras;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;


public class AdivinarPalabras {
public static BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
private static Set correctas;

String Facil[]= {"reir","hola","jugo","papa","pala","pasa","para","alma","nada","casa","mama","tele","mira","tela","bala","cera","tira"};
String Normal[]={"apretado", "avestruz","ceramica","estimulo","amarillo","eleccion","estrecho","invierno","chatarra","estrella"};
String Dificil[]={"indiscutible","participante","personalismo","perturbacion","contundencia","supervisamos","buscapleitos","vinculandose"};

public String generaPalabra(int Facil)
{
int n;
n= (int)(Math.random()*4);
if(Facil==0)
return Normal[n];

else
return Dificil[n];

}

public boolean checarLetra (char letra,String palabra )
{
boolean mensaje=false;
for(int i=0;i<palabra.length();i++)
{
if(letra==palabra.charAt(i))
{
mensaje = true;
break;
}
}
return mensaje;
}




public Set letrasPalabra(String palabra)
{
Set letras = new HashSet();
for (int i=0;i<palabra.length() ;i++)
{
if(palabra.charAt(i) != ' ')
{
letras.add(palabra.charAt(i));
}
}
return letras;
}

public String actualizaVisible(Set correctas, String palabra, String visible)
{
visible =""; boolean bandera = false;
Iterator it = correctas.iterator();
for(int i=0; i<palabra.length() ;i++)
{
while(it.hasNext())
{
char a = it.next().toString().charAt(0);
System.out.println(" "+a+" "+palabra.trim().charAt(i) );
if ( a == palabra.trim().charAt(i) )
{
visible += a; bandera = true;
break;
}
}
if (bandera == false)
{
visible += "_";
}
bandera=false; it = correctas.iterator();
}
return visible;
}





public static void main(String[] args) throws Exception {

System.out.println("Establezca el nivel de dificultad: ");
System.out.println("Facil(f)");
System.out.println("Normal(n)");
System.out.println("Dificil(d)");
String dificultad = entrada.readLine();


switch(dificultad)
{
case "f":
AdivinarPalabras Operacion = new AdivinarPalabras ();

Operacion.generaPalabra(1);

System.out.println("Palabra generada: ****");
System.out.println("teclea una letra de la palabra");
String letra = entrada.readLine();
char l=letra.charAt(0);
try
{
Operacion.checarLetra(l, letra);
Operacion.letrasPalabra(letra);
Operacion.actualizaVisible( correctas,letra,letra);
}
catch(Exception ex)
{
System.out.println("No introdujo una letra valida "+ex.getMessage());
}
case "n":
}
}
}
[/img][/img][/img][/img][/img][/img][/img][/img]