Mostrar Mensajes

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


Mensajes - Ricky

Páginas: [1]
1
Hola, gracias la verdad es que no recordaba si era solo una '&' o dos, pero si tienes razón me paso por el curso que tenéis a ver si mejoro. ;)

2
Hola, estoy aprendiendo java y para aprender estaba haciendo un pequeño juego de texto, pero al perder vida y otras variables siempre seguían a su estado inicial. Antes siempre lo dejaba apartado, pero me gustaría seguir. Os adjunto el código a ver si me podéis ayudar. (Uso java con eclipse neo) Las variables son de esta primera clase main.

Código: [Seleccionar]
package main;

import java.io.IOException;
import java.util.Scanner;


public class main {
private static Scanner in;
public int b;
public int a = (int) (Math.random() * 4);
public int vida = 20;
public int pocion = 0;
public int revivir = 0;
public int descansar = 3;
public static int jugador;

public void inicio() {
in = new Scanner ( System.in );
descansar++;
if(vida >20){
System.out.println("Vida ajustada a su máximo (20)");
vida = 20;
}
if(vida <= 0 & revivir == 0){
System.out.println("Te has quedado sin vidas");
principal zona = new principal();
zona.finalizado();
}
if(vida <= 0 & revivir >= 1){
System.out.println("Te has quedado sin vidas");
System.out.println("Has usado un revivir"); revivir--;
vida = 20;
}
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
try {
Runtime.getRuntime().exec("cls");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("");
System.out.println("[CALABOZO]");
System.out.println("");
System.out.println("¿Qué quieres hacer?");
System.out.println("[1]-Andar");
System.out.println("[2]-Descansar");
System.out.println("[3]-Ver inventario");
System.out.println("[4]-Usar un objeto");
jugador = in.nextInt();
if(jugador == 1){
System.out.println("Andando...");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
principal zona = new principal();
zona.aleatorio();
}
if(jugador == 2){
if(descansar >= 3){
System.out.println("Descansando...");
descansar = descansar - 3;
System.out.println("¡Has recuperado 3 de vida!");
vida = vida + 3;
principal zona = new principal();
zona.inicio();}
if(descansar < 3){
}
System.out.println("Estás cansado de descansar, tendrás que esperar un poco más");
principal zona = new principal();
zona.inicio();}
if(jugador == 3){
System.out.println("Esta es tu información actual");
System.out.println("Vida: "+vida);
System.out.println("Pociones: "+pocion);
System.out.println("revivir: "+revivir);
System.out.println("Escribe para volver");
jugador = in.nextInt();
principal zona = new principal();
zona.inicio();}
if(jugador == 4){
System.out.println("¿Qué objeto quieres usar?");
System.out.println("[1]-Poción");
System.out.println("[2]-(Proximamente)");
System.out.println("[3]-Volver");
jugador = in.nextInt();
if(jugador == 1){
if(pocion >= 1){
System.out.println("Has usado una poción.");
System.out.println("Recuperas 5 de vida"); vida = vida + 5;
principal zona = new principal();
zona.inicio();
}
else{
System.out.println("No tienes ninguna poción");
principal zona = new principal();
zona.inicio();
}
}
if(jugador == 2){

}
} if(jugador == 3){
principal zona = new principal();
zona.inicio();
}
}


void finalizado() {
System.out.println("-----Juego terminado-----");
System.out.println("¿Quieres volver a jugar?");
System.out.println("[1]-Si");
System.out.println("[2]-No");
jugador = in.nextInt();
if(jugador == 1){
vida = 20;
pocion = 0;
revivir = 0;
principal zona = new principal();
zona.inicio();
}
if(jugador == 2){
System.exit(0);
}
}
public void aleatorio(){
System.out.println(a);
switch(a){
case 0:
System.out.println("Te has encontrado una puerta,¿Cruzar?");
System.out.println("[1]-Si");
System.out.println("[2]-No");
jugador = in.nextInt();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if(jugador == 1){
b = (int) (Math.random() * 3);
switch(b){
case 0:
System.out.println("¡Has encontrado un nuevo área! Parece un bosque.");
principal zona = new principal();
zona.bosque();
break;
case 1:
System.out.println("¡Hay un cofre!, vamos a abrirlo.");
b = (int) (Math.random() * 6);
switch(b){
case 0:
System.out.println("¡Has encontrado una poción!");
pocion++;
break;
case 1:
System.out.println("¡Has encontrado una poción!");
pocion++;
break;
case 2:
System.out.println("¡Has encontrado un revivir!");
revivir++;
break;
case 3:
System.out.println("Está vacio...");
principal zona2 = new principal();
zona2.inicio();
break;
case 4:
System.out.println("Tan solo había una manzana podrida");
break;
case 5:
System.out.println("Había una rata, te ha mordido");
System.out.println("Pierdes 1 de vida");
vida--;
System.out.println("Te queda "+ vida+" de vida");
principal zona8 = new principal();
zona8.inicio();
break;
}
break;
case 2:
System.out.println("Solo es una abitación vacia...");
principal zona4 = new principal();
zona4.inicio();
break;
}
}
if(jugador == 2){
principal zona = new principal();
zona.inicio();
}
else{
System.out.println("Respuesta no válida, por lo que lo tomaremos como un no...");
principal zona = new principal();
zona.inicio();
}
break;

case 1:
System.out.println("Tropiezas y te caes, pierdes 2 de vida"); vida = vida - 2;
System.out.println("Te queda "+ vida+" de vida");
principal zona = new principal();
zona.inicio();
break;

case 2:
System.out.println("Encuentras un puente muy viejo,¿Quieres atravesarlo?");
System.out.println("[1]-Si");
System.out.println("[2]-No");
jugador = in.nextInt();
if(jugador == 1){
b = (int) (Math.random() * 2);
switch(b){
case 0:
System.out.println("El puente se rompe y caes, con suerte no estaba muy alto");
System.out.println("Pierdes 5 de vida"); vida = vida - 5;
System.out.println("Te queda "+ vida+" de vida");
principal zona3 = new principal();
zona3.inicio();
break;
case 1:
System.out.println("Al otro lado del puente encuentras una mesa con comida y bebida");
System.out.println("Recuperas toda la vida");
vida = 20;
principal zona2 = new principal();
zona2.inicio();

break;
}
}
if(jugador == 2){
principal zona4 = new principal();
zona4.inicio();
}
else{
System.out.println("Respuesta no válida, por lo que lo tomaremos como un no...");
principal zona4 = new principal();
zona4.inicio();
}
break;

case 3:
System.out.println("No encuentras nada");
principal zona6 = new principal();
zona6.inicio();
break;

}
}

public void bosque() {
}

private void aleatorio2() {
System.out.println("");
System.exit(0);
}
}


Por si os lo preguntáis esta es la clase principal

Código: [Seleccionar]
package main;

public class principal {

public static void main(String[] args) {
main main = new main();
main.inicio();

}
public void inicio() {
main main = new main();
main.inicio();

}


public void finalizado() {
main main = new main();
main.finalizado();
}

public void aleatorio() {
main main = new main();
main.aleatorio();

}
public void bosque() {
// TODO Auto-generated method stub

}

}


La vida nunca baja de 20. Por cierto se que esta muy mal expresado y desordenado el código, lo he intentado hacer lo mejor que podía.

Y si necesitáis algún otro dato podéis pedírmelo y perdón por poner un código tan largo, he estado buscando mucho y no sé donde esta el error, creo que puede ser al llamar de la clase principal a la main.

Gracias de antemano.

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".