521
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Re: Ayuda con el main de un programa de juego por turnos en java
« en: 12 de Febrero 2021, 02:13 »
Ahora que tenemos ya más o menos establecidas las clases de los personajes, podemos pensar en hacer el main del programa.
Por desgracia, me quedo sin tiempo, pero puedo adelantar algo.
Creo que es interesante que al iniciarse el programa, lo primero que se encuentre el usuario es la posibilidad de crear su personaje, decidir la clase, nombre y los niveles de los atributos.
Para los niveles de ataque, defensa y vida he establecido unos límites mínimos y máximos.
Tu ya decides si quieres modificarlos.
Una vez creado el personaje, automáticamente se crea el Caballero que manejará la CPU y se muestra en pantalla las características del este personaje.
A partir de aquí debería comenzar el combate.
Mostrar menú para que el usuario elija atacar, defender o habilidades especiales (distintas según si maneja un Caballero o un Mago).
También habrá que decidir cómo ha de actuar la CPU. Esta deberá elegir al azar entre atacar, defender o Relámpago.
Y bueno, no me da tiempo para más por hoy.![Indeciso :-\](https://aprenderaprogramar.com/foros/Smileys/default/undecided.gif)
Solo he podido hacer la idea de la creación del personaje:
Por desgracia, me quedo sin tiempo, pero puedo adelantar algo.
Creo que es interesante que al iniciarse el programa, lo primero que se encuentre el usuario es la posibilidad de crear su personaje, decidir la clase, nombre y los niveles de los atributos.
Para los niveles de ataque, defensa y vida he establecido unos límites mínimos y máximos.
Tu ya decides si quieres modificarlos.
Una vez creado el personaje, automáticamente se crea el Caballero que manejará la CPU y se muestra en pantalla las características del este personaje.
A partir de aquí debería comenzar el combate.
Mostrar menú para que el usuario elija atacar, defender o habilidades especiales (distintas según si maneja un Caballero o un Mago).
También habrá que decidir cómo ha de actuar la CPU. Esta deberá elegir al azar entre atacar, defender o Relámpago.
Y bueno, no me da tiempo para más por hoy.
![Indeciso :-\](https://aprenderaprogramar.com/foros/Smileys/default/undecided.gif)
Solo he podido hacer la idea de la creación del personaje:
Código: [Seleccionar]
import java.util.Scanner;
public class Combate {
private static Scanner teclado = new Scanner(System.in);
private static Personaje jugador; //Podrá ser un Mago o un Caballero
private static Caballero CPU; //La CPU siempre es un Caballero
public static void main(String[] args) {
crearPersonaje();
//TODO Combatir...
}
private static void crearPersonaje() {
System.out.println("\t\tCREAR PERSONAJE");
System.out.println("\t\t----- ---------");
System.out.println("Clases disponibles:");
System.out.println("[1] -> Caballero");
System.out.println("[2] -> Mago");
System.out.print("Elige clase: ");
int clase = Integer.parseInt(teclado.nextLine());
System.out.print("\nNombre: ");
String nombre = teclado.nextLine();
System.out.print("Nivel de Ataque(min = 1/max = 10): ");
int ataque = Integer.parseInt(teclado.nextLine());
//Forzamos que el nivel escogido se ciña a los límites
if (ataque < 1)
ataque = 1;
else if (ataque > 10)
ataque = 10;
System.out.print("Nivel de Defensa(min = 1/max = 10): ");
int defensa = Integer.parseInt(teclado.nextLine());
if (defensa < 1)
defensa = 1;
else if (defensa > 10)
defensa = 10;
System.out.print("Nivel de Vida(min = 100/max = 1000): ");
int vida = Integer.parseInt(teclado.nextLine());
if (vida < 100)
vida = 100;
else if (vida > 1000)
vida = 1000;
//Tenemos todos los atributos necesarios, creamos Personaje
if (clase == 1) //Ha elegido Caballero
jugador = new Caballero(nombre, ataque, defensa, vida);
else //Mago
jugador = new Mago(nombre, ataque, defensa, vida);
System.out.println("\nEste es tu personaje:");
System.out.println(jugador);
pausa();
//Ahora creamos el Caballero CPU, con doble de potencia que el Jugador
CPU = new Caballero("Thanos", (ataque*2), (defensa*2), (vida*2));
System.out.println("Y este será tu rival:");
System.out.println(CPU);
System.out.println("Nivel de Ataque: " + CPU.getAtaque()
+ " / Nivel de Defensa: " + CPU.getDefensa());
pausa();
}
private static void pausa() {
System.out.println("\n\t\tPULSA ENTER PARA SEGUIR\n");
teclado.nextLine();
}
}