You are on page 1of 31

Fecha: 28-02-2012

ESCUELA DE COMPUTACIN CTEDRA: TECNICAS DE PROGRAMACIN II 4 SEMESTRE PROFESOR: ANDRES MEJIAS

INTEGRANTES: VICTOR OLIVEIRA GILBERTO DA SILVA

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.

Primer Paso: Entrar en la pagina de Eclipse. En www.ecplise.org

Luego Hacer click en el botn de Downloads

Seleccionar la descarga adecuada, en este caso ser la versin Eclipse IDE for Java EE Developers

Luego, se entra a la pagina de seleccin de servidores de descarga.

Elegir la locacin de descarga y a continuacin esperar a que se finalice la descarga

A continuacin extraer el archivo .Zip que e descargo en la ubicacin de preferencia

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"); } }

Cdigo Clase FIGHTER. JAVA


package Clases; import Interfaces.Fisico; import Interfaces.Personaje; //Se declara la clase publica Fighter que hereda desde HumanoBase // e implementa fisico y personaje public class Fighter extends HumanoBase implements Fisico, Personaje { //Se declaran los stats base del fighter public Fighter(String s2, double a, double b, double c, double d, double e, double f, double i, 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);

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"); } }

Cdigo Clase HUMANOBASE. JAVA


package Clases; import Interfaces.Personaje; //Se declara la clase publica HumanoBase que implementa desde personaje public class HumanoBase implements Personaje { //Se declaran los stats base del fighter private double ATK = 100; private double DEF = 100; private double MDEF = 100; private double MP = 100; private double HP = 100; private double MATK = 100; private String nombre; private double DEX = 100; private String Clase = ""; public double getDEX() { return DEX; } public void setDEX(double dEX) { DEX = dEX; }

@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;

Cdigo Clase MYSTIC. JAVA

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() { }}

Cdigo Clase WARRIOR. JAVA


package Clases; import Interfaces.Fisico; import Interfaces.Personaje; // Se declara la clase publica Warrior que hereda desde HumanoBase // e implementa desde fisico y personaje public class Warrior extends HumanoBase implements Fisico, Personaje { //Se declaran los stats base del Warrior public Warrior(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 defender() { // TODO Auto-generated method stub super.defender(); }

@Override stub

public void atacar() { // TODO Auto-generated method } super.atacar();

@Override public void caminar(int x, int y) { } super.caminar(x, y);

@Override public void Golpe_1() {

} @Override public void Golpe_2() {

} }

Cdigo Interfaz FISICO. JAVA

Cdigo Interfaz MAGICOS. JAVA

Cdigo Interfaz PERSONAJES. JAVA

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.

You might also like