Professional Documents
Culture Documents
Cdigo Clase FIGHTER. JAVA Cdigo Clase HUMANOBASE. JAVA Cdigo Clase MYSTIC. JAVA Cdigo Clase WARRIOR. JAVA Cdigo Interfaz FISICO. JAVA Cdigo Interfaz MAGICOS. JAVA Cdigo Interfaz PERSONAJES. JAVA
El Cdigo que se desarrollo se basa en un juego RPG en el ambiente java. Dentro del mismo podremos encontrar:
Un men para seleccionar el personaje. Entrada del nombre del jugador. Eleccin del tipo de jugador. Valida que no sean iguales.
Seleccionar la descarga adecuada, en este caso ser la versin Eclipse IDE for Java EE Developers
La versin de Eclipse que se ha descargado ya incluye el Java Development Kit, necesario para poder ejecutar y compilar aplicaciones desarrolladas a travs de eclipse.
Luego procedemos a ejecutar Eclipse que se encuentra dentro de la carpeta que extrajimos.
En el caso de Eclipse no es necesario la instalacin, simplemente ejecutamos el programa y podemos proceder a programar en el mismo.
package Default; import Clases.Warrior; import Clases.Fighter; import Clases.HumanoBase; import Clases.Mystic; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { /** * Inicio del programa * @param args * @return none No retorna nada */ public static void main(String[] args) { //Metodos para hacer entrada de usuario... BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in)); InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader (isr);
//Variables para manejar acciones de Usuario... int i = 0; int val = 0; int pj = 0; int h = 0; HumanoBase[] jugador = new HumanoBase[2]; @SuppressWarnings("unused") Warrior war; @SuppressWarnings("unused") Mystic mys; @SuppressWarnings("unused") Fighter fig; //Ciclo para la entrada de 2 usuarios...(puede modificarse para mas(o menos))... for (i=0; i<2; i++){ pj++; System.out.println ("Bienvenido: Jugador "+pj); System.out.println ("Lista de Personajes"); System.out.println ("1. Warrior"); System.out.println ("2. Mystic"); System.out.println ("3. Fighter"); //Variable para almacenar el nombre del jugador... String s2 = ""; System.out.print( "Introduzca su Nombre: " ); //Validamos la entrada del jugador... try { s2 = entrada.readLine(); } catch (IOException e) {} //Espacio para pedir al usuario el personaje...
System.out.print( "Personaje: " ); int s1 = 0; try { s1 = Integer.parseInt(br.readLine()); } catch (NumberFormatException e) { System.err.println("Se produjo un error de E/S"); System.err.println("Intente de nuevo!"); System.exit(1); } catch (IOException e) { System.err.println("Se produjo un error de E/S"); } int s = s1; if (s == 1){ //Warrior String m = "Warrior"; jugador[h] = new Warrior(s2, 50, 60, 90, 70, 80, 50, 60, m); //System.out.println(personajes.length); System.out.println("Tu seleccion fue: Humano Warrior\nID: "+jugador[val].getNombre()); System.out.println ("Tipo Warrior creado: \n Ataque: "+jugador[val].getATK()+"\n Vida: "+jugador[val].getHP()+ "\n Defensa: "+jugador[val].getDEF() +"\n Mana: "+jugador[val].getMP()+"\n Def. Magica: "+jugador[val].getMDEF()+"\n MATK: "+jugador[val].getMATK()); //Fin de seleccion... } else if (s == 2){ //Mystic String m = "Mystic"; jugador[h] = new Mystic(s2, 30, 90, 70, 80, 60, 75, 70, m);
System.out.println("Tu seleccion fue: Humano Mystic\nID: "+jugador[val].getNombre()); System.out.println ("Tipo Mystic creado: \n Ataque: "+jugador[val].getATK()+"\n Vida: "+jugador[val].getHP()+ "\n Defensa: "+jugador[val].getDEF()+"\n Mana: "+jugador[val].getMP()+"\n Def. Magica: "+jugador[val].getMDEF()+"\n MATK: "+jugador[val].getMATK()); //Fin de Seleccion... } else if (s == 3){ //Fighter String m = "Fighter"; jugador[h] = new Fighter(s2, 80, 50, 50, 70, 60, 40, 80, m); System.out.println("Tu seleccion fue: Humano Fighter\nID: "+jugador[val].getNombre()); System.out.println ("Tipo Fighter creado: \n Ataque: "+jugador[val].getATK()+"\n Vida: "+jugador[val].getHP()+ "\n Defensa: "+jugador[val].getDEF()+"\n Mana: "+jugador[val].getMP()+"\n Def. Magica: "+jugador[val].getMDEF()+"\n MATK: "+jugador[val].getMATK()); //Fin de Seleccion... } //Pausa la Pantalla try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Pressione ENTER para Continuar"); in.readLine(); } catch (IOException e) { } h++; }
//If para evitar que los personajes sean iguales if (jugador[0].getClase() == jugador[1].getClase()){ System.out.println("Atencion: "); System.out.println("Los personajes para luchar no pueden ser iguales, intente de nuevo!"); System.exit(1); } /*Para imprimir el arreglo! ////////////////////////////////////// int l = 0; System.out.println(jugador.length); for (l = 0; l < jugador.length; l++){ System.out.println(jugador[l]); } ////////////////////////////////////// */ //YA ELEGIMOS PERSONAJE... Preparaos pa la batalla! System.out.println("El Nombre del jugador 1 es: "+jugador[0].getNombre()); System.out.println("El nombre del jugador 2 es: "+jugador[1].getNombre()); do{ //System.out.println("Jugador 1: "+jugador[0].getNombre()+" es su turno de atacar.");
if (jugador[0].getClase() == "Warrior"){
war = (Warrior) jugador[0]; System.out.println("El jugador"+jugador[0].getNombre()+" es: "+jugador[0].getClase()); } if (jugador[0].getClase() == "Mystic"){ mys = (Mystic) jugador[0]; System.out.println("El jugador"+jugador[0].getNombre()+" es: "+jugador[0].getClase()); } if (jugador[0].getClase() == "Fighter"){ fig = (Fighter) jugador[0]; System.out.println("El jugador"+jugador[0].getNombre()+" es: "+jugador[0].getClase()); } if (jugador[1].getClase() == "Warrior"){ war = (Warrior) jugador[1]; System.out.println("El jugador"+jugador[1].getNombre()+" es: "+jugador[1].getClase()); } if (jugador[1].getClase() == "Mystic"){ mys = (Mystic) jugador[1]; System.out.println("El jugador"+jugador[1].getNombre()+" es: "+jugador[1].getClase()); } if (jugador[1].getClase() == "Fighter"){ fig = (Fighter) jugador[1]; System.out.println("El jugador"+jugador[1].getNombre()+" es: "+jugador[1].getClase()); } }while ((jugador[0].getHP() > 0.0) || (jugador[1].getHP() > 0.0)); System.out.println("sali del ciclo! :D wohooooooooooo"); } }
String m) {
} //Se dejan varias funciones para metodos a implementar en un futuro @Override public void caminar(int x, int y) { super.caminar(x, y); }
@Override public void Golpe_1() { // TODO Auto-generated method stub } @Override public void Golpe_2() { // TODO Auto-generated method stub } public void hablar(){ System.out.println("Hola"); } }
@Override public void caminar(int x, int y) { // TODO Auto-generated method stub } @Override public void defender() { // TODO Auto-generated method stub } @Override public void atacar() { // TODO Auto-generated method stub } /** * Lee el Valor del Ataque * @param None No Posee Parametros * @return ATK Retorna el Valor del Ataque */ public double getATK() { return ATK; } /** * Reasigna a a el valor del ataque * @param a toma el valor del ataque * @return None No Posee Nada para retornar */ public void setATK(double a) { ATK = a; }
/** * Lee el Valor de la Defensa * @param None No Posee Parametros * @return DEF Retorna el Valor de la Defensa */ public double getDEF() { return DEF; } /** * Reasigna a e el valor de la Defensa * @param e toma el valor de la Defensa * @return None No Posee Nada para retornar */ public void setDEF(double e) { DEF = e; } /** * Lee el Valor de * @param None No Posee Parametros * @return MDEF Retorna el Valor de */ public double getMDEF() { return MDEF; } /** * Reasigna a d el valor de * @param d toma el valor de * @return None No Posee Nada para retornar */
public void setMDEF(double d) { MDEF = d; } /** * Lee el Valor de * @param None No Posee Parametros * @return MP Retorna el Valor de */ public double getMP() { return MP; } /** * Reasigna a b el valor de * @param b toma el valor de * @return None No Posee Nada para retornar */ public void setMP(double b) { MP = b; }
/** * Lee el Valor de * @param None No Posee Parametros * @return HP Retorna el Valor de */ public double getHP() { return HP; }
/** * Reasigna a c el valor de * @param c toma el valor de * @return None No Posee Nada para retornar */ public void setHP(double c) { HP = c; } /** * Lee el Nombre * @param None No Posee Parametros * @return nombre Retorna el Nombre */ public String getNombre() { return nombre; } /** * Reasigna a s2 el Nombre * @param s2 toma el Nombre * @return None No Posee Nada para retornar */ public void setNombre(String s2) { this.nombre = s2; } /** * Lee el Valor de * @param None No Posee Parametros * @return MATK Retorna el Valor de */ }
public double getMATK() { return MATK; } /** * Reasigna a f el valor de * @param f toma el valor de * @return None No Posee Nada para retornar */ public void setMATK(double f) { MATK = f; } public String getClase() { return Clase; } public void setClase(String clase) { Clase = clase; }
package Clases;
import Interfaces.Magicos; import Interfaces.Personaje; //Se declara la clase publica Mystic que hereda desde HumanoBase // e implementa Magicos y Personaje public class Mystic extends HumanoBase implements Magicos, Personaje { //Se declaran los stats base del fighter public Mystic(String s2, double a, double b, double c, double d, double e, double f, int i, String m) { this.setNombre(s2); this.setATK(a); this.setMP(b); this.setHP(c); this.setMDEF(d); this.setDEF(e); this.setMATK(f); this.setDEX(i); this.setClase(m); //Se dejan varias funciones para metodos a implementar en un futuro
@Override public void caminar(int x, int y) { // TODO Auto-generated method stub super.caminar(x, y); } @Override public void Spell_1() { } @Override public void Spell_2() { }}
@Override stub
} }
En esta aplicacin se utilizaron recursos de la materia, como por ejemplo el uso de comentarios para poder ubicarnos mejor dentro de las funciones.
Aparte de los conocimientos adquiridos en tcnicas de programacin se utilizaron los conocimientos aprendidos en programacin 4 como el uso de clases, declaracin de funciones publicas y privadas, etc.
Para este juego se utilizo la documentacin de dos juegos MMORPG: Lineage 2 Tibia A travs de estos pudimos saber los valores exactos necesarios para definir las clases.