Tecnicas de Programacion II

31
Universidad Nueva Esparta Materia:Tecnicas de Programacion II Seccion: 104 U Proyecto

Transcript of Tecnicas de Programacion II

Page 1: Tecnicas de Programacion II

Universidad Nueva EspartaMateria:Tecnicas de Programacion IISeccion: 104 U

Proyecto

Profesor Integrantes:Andres Mejias Dimas Rivas

Gino Vivarini

Caracas 28 de Febrero del 201

Page 2: Tecnicas de Programacion II

Introduccion

Los jugadores pueden elegir una de las seis clases existentes para jugar: humano,

elfo, elfo oscuro, orco y enano las cuales pueden seguir el camino de guerrero o

místico.

Los atributos, monstruos, y objetos del juego fueron originalmente tomados de forma legal de NetHack con elementos MMO añadidos poco después, pero recientes actualizaciones han introducido contenido original. La lucha entre jugadores (también conocido como PVP) es uno de los mayores alicientes de este juego. Los jugadores pueden luchar contra otros jugadores uniéndose a una "bloodpledge" (una asociación de jugadores, denominada clan en otros juegos) y atacar castillos o luchar en una guerra entre alianzas y clanes.

Page 3: Tecnicas de Programacion II

1-Descargar el software en el link http://www.eclipse.org.

1- Clikeas en download Eclipse.

2- Eliges Eclipse Classic, lo descargas depende de tu sistema operative el mio es de 32bit.

3- Eliges cualquiera Universidad de los Estados Unidos o el Mundo.

Page 4: Tecnicas de Programacion II

4- A continuacion se empieza a descargar

Page 5: Tecnicas de Programacion II

5- Despues que se descargas se te abre esta ventana le das doble click a donde esta el logo de eclipse.

7-Esperas que se cargue.

Page 6: Tecnicas de Programacion II

6- Te va a salir una ventana donde se van a guarder los archivos presionas OK.

7-Para iniciar un nuevo projecto leccionamos el icono mas a la derecha en el menu del eclipse y nos aparecra esta ventana selecionamos java project y le damos siguiente

Page 7: Tecnicas de Programacion II

8- luego le ponemos el nombre al proyecto y le damos finalizar

Page 8: Tecnicas de Programacion II

9- para para iniciar el proyecto debemos crear paquetes dentro del proyecto que ya creamos para eso en el proyecto le damos click al boton secundarion luego en la pestana a new package

10- luego le ponemos el nombre a nuestro package le damos finalisar y tendriamos creado nuestro package.

Page 9: Tecnicas de Programacion II

11- para crear las clases casi igual que el package boton secundario new class

12- luego de lamos el nombre a la clase luego le damos a finalizar y asi creamos nuestras clases

Page 10: Tecnicas de Programacion II

13- para crear las interfaces igual en cualquier parte del proyecto le damos boton secundario new interface

14- luego le ponemos el nombre y clickeamos en finalizar

Page 11: Tecnicas de Programacion II

15- para crear la clase main es como creamos las clases boton secundario new class y en la ventanita que nos aparec clickeamos la opcion que dic main(args) le ponemos un nombre y clickeamos en finalizar para asi crear la clase main.

- La clase main descrita aqui lo que nos proporciona es un menu que nos permite crear jugadores ver jugadores salir e ingresar a la batalla todo esto llamando alas demas clases dentro de nuestro programa

package General;import Pelea.Batalla;

public class Main {

/** * Clase Main * @param args * @return No Retorna Ningun Parametro */

public static void main(String[] args) {// TODO Auto-generated method stub

System.out.println("\n\nBienvenidos \n");

System.out.println("1- Crear Jugadores");

Page 12: Tecnicas de Programacion II

System.out.println("2- Ver Jugadores");System.out.println("3- Jugar");System.out.println("4- Salir");

int opc1 = CTeclado.ReadInt();

switch(opc1){

case 1:

System.out.println("Crear jugadores \n");System.out.println("Jugador 1\n");System.out.print("Nombre: ");String n = CTeclado.ReadString();

Personaje jugador1 = new Personaje(n);Personaje p1 = jugador1.CrearTipo();p1.name(n);

System.out.println("Crear jugadores \n");System.out.println("Jugador 2\n");System.out.print("Nombre: ");String n1 = CTeclado.ReadString();

Personaje jugador2 = new Personaje(n1);Personaje p2 = jugador2.CrearTipo();p2.name(n1);

main(args);

break;

case 2:

break;

case 3:

System.out.println("batalla");

break;

Page 13: Tecnicas de Programacion II

case 4:

System.out.println("Hasta Luego");

break;

default:

System.out.println("Opcion incorrecta");

}//switch menu principal

}//public void main

}//public class main

- la clase personajes abajo descrita lo que nos muestra son los metrodos de creacion de personajes, y los valores basicos de los personajes como nombre tipo experiencia ataque defense vida y nivel

package General;

import Clases.*;

public class Personaje {

Page 14: Tecnicas de Programacion II

private String name;private String tipo;private int exp=0;private int ATK=0;private int DEF=0;private int HP=0;private int lvl=1;

public Personaje(String n) {// TODO Auto-generated constructor stub

}

public void name(String n){

this.name = n;

}//constructor

public Personaje(int HP, int ATK, int DEF){

this.ATK=0;this.DEF=DEF;this.HP=HP;

}//constructor

/** * Nombre del personaje * @param No Tiene Ningun Parametro * @return Nombre del Personaje */

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public void exp(){

this.setExp(this.getExp() + 1);}

Page 15: Tecnicas de Programacion II

/** * Experiencia * @param No Tiene Ningun Parametro * @return La Experiencia */

public int getExp() {return exp;

}

public void setExp(int exp) {this.exp = exp;

}

/** * Tipo de Personaje * * @param Crea el Tipo de Personaje (Mago, Guerrero, Arquero) * */

public Personaje CrearTipo(){

System.out.println("\nQue tipo de Personaje Desea\n");System.out.println("1- Mago");System.out.println("2- Guerrero");System.out.println("3- Arquero");int tipo = CTeclado.ReadInt();

if(tipo==1){

Mago Mago1 = new Mago(name);System.out.println("Personaje Mago Creado: \n "+name+"

\n Ataque: "+Mago1.getATK()+"\n Defensa: "+Mago1.getDEF()+"\n Hp: "+Mago1.getHP());

Mago1.setTipo("Mago");

return Mago1;

}else if(tipo==2){

Guerrero Guerrero1 = new Guerrero(name);Guerrero1.setTipo("Guerrero");System.out.println("Personaje Guerrero Creado: \

n"+name+"\n Ataque: "+Guerrero1.getATK()+"\n Defensa: "+Guerrero1.getDEF()+"\n Hp: "+Guerrero1.getHP());

return Guerrero1;

Page 16: Tecnicas de Programacion II

}else if(tipo==3){

Arquero Arquero1 = new Arquero(name);Arquero1.setTipo("Arquero");System.out.println("Personaje Arquero Creado: \

n"+name+" \n Ataque: "+Arquero1.getATK()+"\n Defensa: "+Arquero1.getDEF()+"\n Hp: "+Arquero1.getHP());

return Arquero1;

}//if tipo de personaje

return CrearTipo();}//tipo

/** * Ataque Personaje * @param No Posee Parametros * @return Retorna el Ataque del Personaje */public int getATK() {

return ATK;}

public void setATK(int aTK) {ATK = aTK;

}

/** * Defensa del Personaje * @param No Posee Parametros * @return Retorna la Defensa del Personaje */public int getDEF() {

return DEF;}

public void setDEF(int dEF) {DEF = dEF;

}

/** * Vida del Personaje * @param No Posee Parametros * @return Retorna la Vida del Personaje

Page 17: Tecnicas de Programacion II

*/public int getHP() {

return HP;}

public void setHP(int hP) {HP = hP;

}

/** * Tipo de Personaje * @param No Posee Parametros * @return Retorna el tipo de Personaje */public String getTipo() {

return tipo;}

public void setTipo(String tipo) {this.tipo = tipo;

}

/** * Nivel del Personaje * @param No Posee Parametros * @return Retorna el Nivel del Personaje */public int getLvl() {

return lvl;}

public void setLvl(int lvl) {this.lvl = lvl;

}

}// public personaje

- La dentro del package personajes nos encontramos con los tipos de personajes del juego Mago, Guerrero y Arquero en cada una de esas clases estan atributos propios de cada clase como su vida su ataque y su defensa y tambien los metodos traidos de sus interfacez como son sus poderes

Clase Mago

package Clases;

Page 18: Tecnicas de Programacion II

import Comportamiento.*;import General.Personaje;

public class Mago extends Personaje implements MoveMago{

// Atributos de la clase mago

private int DEF = 1000;private int ATK = 1500;private int HP = 800;

public int atacar(int a){

return a/50-HP;}//atacar

/** * Ataque del Mago * @param No posee parametros * @return Retorna la cantidad de defensa del mago */public int getDEF() {

return DEF;}

public void setDEF(int dEF) {DEF = dEF;

}

/** * Ataque del Mago * @param No Posee Parametros * @return Retorna la Cantidad de Ataque del Mago */public int getATK() {

return ATK;}

public void setATK(int aTK) {

Page 19: Tecnicas de Programacion II

ATK = aTK;}

/** * Vida del mago * @param No posee Parametros * @return Retorna la Cantidad de HP del Mago */public int getHP() {

return HP;}

public void setHP(int hP) {HP = hP;

}

public Mago(String n) {super(n);// TODO Auto-generated constructor stub

}

@Overridepublic int IceShake() {

// TODO Auto-generated method stubint IceShake = 150;return IceShake;

}

@Overridepublic int FireBall() {

// TODO Auto-generated method stubint FireBall = 300;return FireBall;

}

@Overridepublic int LastStand() {

// TODO Auto-generated method stubint LastStand = 400;return LastStand;

}

Page 20: Tecnicas de Programacion II

}

Cada clase como podemos ver tiene sus propios atributos

Clase Guerrero

package Clases;

import Comportamiento.MoveGuerrero;import General.Personaje;

public class Guerrero extends Personaje implements MoveGuerrero{

private int DEF = 1500;private int ATK = 800;private int HP = 1000;

/** * Defensa del Guerrero * @param No Posee Parametros * @return Retorna la Defensa del Guerrero */public int getDEF() {

return DEF;}

public void setDEF(int dEF) {DEF = dEF;

}

/** * Ataque del Guerrero * @param No Posee Parametros

Page 21: Tecnicas de Programacion II

* @return Retorna El Ataque del Guerrero */public int getATK() {

return ATK;}

public void setATK(int aTK) {ATK = aTK;

}

/** * Vida del Guerrero * @param No Posee Parametros * @return Retorna la Vida del Guerero */public int getHP() {

return HP;}

public void setHP(int hP) {HP = hP;

}

public Guerrero(String n) {super(n);// TODO Auto-generated constructor stub

}

@Overridepublic int PowerStrike() {

// TODO Auto-generated method stubint PowerStrike = 80;return PowerStrike;

}

@Overridepublic int MortalStrike() {

// TODO Auto-generated method stubint MortalStrike = 120;return MortalStrike;

}

@Overridepublic int Relax() {

// TODO Auto-generated method stubint Relax = 300;

Page 22: Tecnicas de Programacion II

return Relax;}

}

Clase Arquero

package Clases;

import Comportamiento.MoveArquero;import General.Personaje;

public class Arquero extends Personaje implements MoveArquero {

private int DEF = 1300;private int ATK = 1700 ;private int HP = 1200;

/** * Defensa del Arquero * @param No Posee Parametros * @return Retorna la Defensa del Arquero */public int getDEF() {

return DEF;}public void setDEF(int dEF) {

DEF = dEF;}/** * Ataque del Arquero * @param No Posee Parametros * @return Retorna el Ataque del Arquero */public int getATK() {

return ATK;}public void setATK(int aTK) {

ATK = aTK;}/** * Vida del Arquero * @param No Posee Parametros

Page 23: Tecnicas de Programacion II

* @return Retorna la Vida del Arquero */public int getHP() {

return HP;}public void setHP(int hP) {

HP = hP;}

public Arquero(String n) {super(n);// TODO Auto-generated constructor stub

}

@Overridepublic int PowerShot() {

// TODO Auto-generated method stubint PowerShot = 250;return PowerShot;

}@Overridepublic int LongShot() {

// TODO Auto-generated method stubint LongShot = 350;return LongShot;

}@Overridepublic int Bleed() {

// TODO Auto-generated method stubint Bleed = 300;return Bleed;

}

}

- las interfaces los que tienen son los poderes de cada clase que luego seran llamadas en la clase respective a la cual pertenecen

interfaz del mago

package Comportamiento;

public interface MoveMago {

Page 24: Tecnicas de Programacion II

public abstract int IceShake();public abstract int FireBall();public abstract int LastStand();

}

Interfaz del guerrero

package Comportamiento;

public interface MoveGuerrero {

public abstract int PowerStrike();public abstract int MortalStrike();public abstract int Relax();

}

Interfaz del arquero

package Comportamiento;

public interface MoveArquero {

public abstract int PowerShot();public abstract int LongShot();public abstract int Bleed();

}

Page 25: Tecnicas de Programacion II

Conclusion

De Programacion v Usamos:

Códificación

Abstraccion

Encapsulamiento y Principio de Ocultación 

Modularidad

Herencia

Clases

 Interfaces

Polimorfismo

Page 26: Tecnicas de Programacion II

De Tecnicas de Programacion II:DepuracionDocumentacion

Bibliografia

El juego que usamos como plataforma es Lineaje.