Está en la página 1de 9

"k-1ype"

Pictica ue la Asignatuia ue Piogiamacion 0iientaua a 0bjetos


Escenaiio paia el Cuiso 2u122u1S -veision 1.1
Bepaitamento ue Lenguajes y Sistemas Infoimticos
Escuela Tcnica Supeiioi ue Ingenieiia Infoimtica - 0NEB
1.- Introducc|n
Los objetivos que se plantean en la iealizacion ue esta pictica son los siguientes:
! Familiaiizacion con la Piogiamacion 0iientaua a 0bjetos (P00): uefinicion ue clases
e instancias, uso ue la heiencia, uefinicionuso ue mtouos estticos y abstiactos,
! Realizacion uel uiseo oiientauo a objetos ue un pioblema.
! Implementacion ue un piogiama sencillo uonue se manejen conceptos
ielacionauos con P00.
La pictica se va a implementai en }ava 2 Estnuai Euition (}2SE). El compilauoi ue }ava
que se usai sei Blue}, tal y como se uefine en el piogiama ue la asignatuia. La
asignatuia auems uispone ue un cuiso viitual en aLF y una uiieccion en Inteinet ielativa
a la pictica y a otios aspectos ue la asignatuia, que es http:www.lsi.uneu.espoo.
2.- rogramac|n Cr|entada a Cb[etos en Iava
El paiauigma ue piogiamacion oiientaua a objetos uefine un piogiama como una
coleccion ue entiuaues que se ielacionan paia iesolvei un pioblema. Estas entiuaues,
que se conocen geniicamente como objetos, estn tienen poi un conjunto ue
piopieuaues y mtouos, y estn oiganizauas en toino a una jeiaiquia ue clases.
En }ava caua objeto pueue tenei vaiiables y mtouos piivauos y pblicos. Se pueue
mouificai uicha visibiliuau ue una clase usanuo los mouificauoies ue acceso a
miembios. Las uos maneias ms habituales ue especificai la accesibiliuau son:
!"#$%&' - la vaiiable o mtouo est uisponible solamente paia esta clase,
!()*#+ - la vaiiable o mtouo est uisponible paia touas las clases,
0na clase pueue heieuai los vaiiables y mtouos pblicos ue otia clase a tiavs uel
mecanismo ue heiencia y la palabia clave extenus. Poi ejemplo:

//clase base que va a contener informacin sobre vehculos de nuestra empresa:
public vehiculo {
private int noPuertas;
private int noRuedas;
private String modelo;
public vehiculo(){}
public void setNoPuertas(int np) {
noPuertas = np;
}
//etc.
}
//una clase para tratar a los coches en general...
public coche extends vehiculo {
private boolean airbags;

public coche(){}

public void setAirbags(Boolean a) {
airbags = a;
}
//etc.
}
//y, por fin, una clase para tratar a los coches deportivos
public final cocheDeportivo extends vehculo {

private String capacidadMotor;

private int maxVelocidad;

public cocheDeportivo(){}

public void setCapacidadMotor(String cm) {
capacidadMotor = cm;
}

//etc.
//se puede llamar a cualquier mtodo en las superclases como
//si estuvieran dentro
//de esta misma clase, p.ej.:
setNoPuertas(2);
}

,-&%.: Las clases que extienuen otias clases tienen el nombie ue subclases y las
clases que son extenuiuas poi otias clases tienen el nombie ue supeiclases.
Bay que tenei cuiuauo a la hoia ue planificai las ielaciones ue heiencia entie clases en
}ava poique una clase solamente pueue heieuai vaiiables y mtouos ue otia
(y sus supeiclases). Es uecii, que no hay heiencia mltiple en }ava como hay en
lenguajes como C++ (aunque se pueue iepiouucii la tcnica ue heiencia mltiple usanuo
inteifaces.). Be touas foimas, la maneia ms habitual paia tiatai est tema es
simplemente usai una clase uentio ue otia, poi ejemplo, si hay una clase paia el
apaicamiento ue una empiesa que ya es una extension ue una clase base
apaicamiento, uicha clase no pueue heieuai ninguna otia clase, poi lo tanto, se
incluiin las clases ue coches, camiones, motos, etc., asi:

public aparcamientoEmpresa extends aparcamiento {
private String nombreEmpresa;
private cocheDirector = new cocheDeportivo();
public aparcamientoEmpresa(){}
//etc.
//para llamar a algn mtodo en una clase hay que especificar
//la variable de la instancia...
cocheDirector.setCapacidadMotor(4.5l);
}

3.- Descr|pc|n de |a rct|ca

La pictica uel piesente cuiso va a estai basaua en el legenuaiio aicaue "R-Type". Esto
nos seivii paia estuuiai y piacticai los mecanismos ue la Piogiamacion 0iientaua a
0bjetos y hacei uso ue sus caiacteiisticas gificas.
n|stor|a de| Iuego
Segn la uesciipcion en Wikipeuia, R-Type es un viueojuego ue gneio matamaicianos
cieauo poi Iiem en 1987 paia las mquinas iecieativas o Aicaue.
En este juego el jugauoi contiola a un caza espacial llamauo R-9 que se caiacteiiza poi un
lsei que se pueue caigai paia aumentai la fueiza ue impacto contia los enemigos y a la
vez, con una cpsula, llamaua Foice (fueiza) que se ueja anclai a la nave y otoiga un aima
uefiniua ue acueiuo con el coloi o la letia que tiene el Powei-0p que se iecoge a los
siguientes. El pouei ue "Fueiza" aumenta confoime se iecogen ms aimas. Tambin
existen extias paia aumentai la velociuau ue uespliegue ue la nave, cpsulas fijas sobie el
techo y uebajo ue la base ue R-9 y misiles uetectoies (homing) como aauiuo eficiente al
uispaio que ya poseemos. Lo que ms uistinguio a R-Type ue los juegos ue la competencia
eia la noveuau ue pouei utilizai la cpsula "Foice" tanto paia atacai como paia
uefenueise ue los uispaios enemigos y que esta se pouia lanzai y sepaiai ue la nave paia
utilizaila como un satlite, auems ue foima libie, lo que habilitaba al jugauoi ue anclai
"Fueiza" en la cola ue la nave y asi uispaia hacia atis, es uecii hacia la izquieiua ue la
pantalla. R-Type fue el nico juego que uisponia ue estas caiacteiisticas y ue un apaitauo
tcnico impecable. Baba igual la cantiuau ue enemigos o su tamao en pantalla, R-Type
no se ialentizaba ni se uaaba la apaiiencia en otios objetos que simultneamente se
movian sobie la pantalla. Este eia un eiioi muy comn en aquellos tiempos peio Iiem
uemostio su maestiia en cieai un shootei hoiizontal sin estos eiioies comunes. Este
ltimo hecho solo se entienue paia la veision oiiginal ue R-Type en mquina iecieativa.
Las conveisiones paia consolas y oiuenauoies solian tenei algunos fallos peio eia uebiuo
a que el haiuwaie no cumplia con los iequisitos paia pouei piogiamai a un R-Type
vistoso y sin ialentizaciones.
Pueues vei el juego en accion en este viueo en You Tube:
http:www.youtube.comwatch.v=pvWtIu426m0



Figuia 1. Imagen uel juego oiiginal
Imp|ementac|n Cb||gator|a
El alumno uebei implementai un juego uel estilo R-Type satisfacienuo los siguientes
iequisitos:
1- El juego comenzai con una pantalla ue bienveniua a paitii ue la cual se poui
seleccionai el mouo ue juego (FACIL, N0RNAL, C0NPLICAB0, INP0SIBLE) y
comenzai a jugai.
2- El juego constai ue un nico nivel uonue el jugauoi uebei acabai con una hoiua
ue naves alienigenas. El nmeio ue alienigenas con los que acabai uepenuei uel
mouo ue juego seleccionauo. Fcil=1u, Noimal=1S, Complicauo=2u,
Imposible=Su.
S- El jugauoi contiolai la nave aliaua y uisponui ue 1 sola viua.
4- Las naves alienigenas sein contiolauas poi el oiuenauoi.
S- Las naves alienigenas no uispaian.
6- No hay que implementai ielieve. Es uecii, no hay que mostiai ningn tipo ue
suelo o techo como en el juego oiiginal.
7- La nave aliaua poui moveise aiiiba (Tecla Q), abajo (Tecla A), izquieiua (Tecla
0) y ueiecha (Tecla P). Asi mismo poui uispaiai su lasei utilizanuo la tecla
ESPACI0.
8- El iea ue movimiento peimitiuo paia la nave sei toua la pantalla, aunque habi
que compiobai que la nave no salga ue estos limites.
9- El uispaio que iealiza la nave aliaua es continuo, es uecii, no es necesaiio espeiai
a que el misil uispaiauo abanuone la pantalla paia que la nave aliaua pueua
volvei a uispaiai.
1u- La nave aliaua solo pueue iealizai un tipo ue uispaio que se uesplazai
hoiizontalmente hacia la ueiecha ue la pantalla, sin vaiiai su tiayectoiia y a
velociuau constante.
11- Las naves alienigenas se mueven a velociuau constante y pouin sei ue uos tipos:
a. ,%$' 0*#'123'1% 4#!- 05 Apaiecen poi la paite ueiecha ue la pantalla y
se mueven hoiizontalmente hacia la izquieiua a velociuau constante sin
vaiiai su tiayectoiia, es uecii, su cooiuenaua "y" no vaiia en touo el
uesplazamiento.
b. ,%$' %*#'123'1% 4#!- 65 Apaiecen poi la paite ueiecha ue la pantalla y se
mueven hoiizontalmente hacia la izquieiua a velociuau constante. La
piincipal uifeiencia con las Naves ue Tipo A es que stas pueuen vaiiai su
tiayectoiia, es uecii, en su uesplazamiento hoiizontal pueuen vaiiai su
cooiuenaua "y" ue maneia aleatoiia.
12- La velociuau a la que se mueven las naves alienigenas uepenuei uel mouo ue
juego seleccionauo. Touas las naves se mueven a la misma velociuau.
1S- Cuanuo las naves alienigenas alcancen la paite izquieiua ue la pantalla volvein a
apaiecei poi la paite ueiecha ue sta.
14- Se uebein ue uetectai uos tipos ue colisiones.
a. Las colisiones entie la nave aliaua y las naves alienigenas, lo que suponui
el final uel juego.
b. Las colisiones entie los misiles uispaiauos poi la nave aliaua y las naves
alienigenas, lo que suponui la uestiuccion ue la nave alienigena contia la
que ha chocauo el misil.
1S- Si el jugauoi finaliza el nivel uel juego uebei apaiecei un mensaje ue felicitacion
y se volveiia a mostiai el men inicial.
4.- |an de 1raba[o
Paia iealizai la pictica se seguii el siguiente mtouo ue tiabajo:
En piimei lugai se leei ueteniuamente el enunciauo ue esta pictica.
A continuacion hay que uiseai, utilizanuo un paiauigma oiientauo a
objetos, los elementos necesaiios paia la aplicacion explicaua en el apaitauo
anteiioi. Bebe haceise uso ue los mecanismos ue heiencia siempie que sea
posible. Se valoiai un buen uiseo que favoiezca la ieutilizacion ue couigo y
facilite su mantenimiento.
El alumno uebei implementai una inteifaz gifica en Swing que peimita
inteiactuai con el juego a paitii ue las clases y la logica uefiniua. No es necesaiio
hacei uso ue hilos paia implementai la pictica.
El couigo estai uebiuamente comentauo.
La clase piincipal que abie la aplicacion uebei llamaise "RType.class".
A mouo ue inuicacion, se muestia una posible planificacion tempoial paia
uesaiiollai la pictica:
o 7'8%1% 9 : ; : <: Taieas iniciales ue uesaiiollo ue la pictica.
Planteamiento inicial ue la pictica. Iuentificacion ue las clases.
o 7'8%1% = : > : ?: Establecei el conjunto ue atiibutos y mtouos
asociauos a caua una ue las clases iuentificauas y uefiniuas
anteiioimente. Establecimiento ue los uifeientes constiuctoies.
Besaiiollo ue los piincipales mtouos. Inicio ue laboies ue couificacion.
o 7'8%1% @ : A: Refinamiento ue clases. Establecimiento ue estiuctuias
ue almacenamiento auxiliaies necesaiias. Laboies ue couificacion ue
mtouos.
o 7'8%1% B : 9C: Bocumentacion uel couigo geneiauo. Establecimiento
uel plan ue piuebas ue la pictica.
o 7'8%1% 99 : 9;: veiificacion y valiuacion ue la pictica. Establecimiento
ue estiategias ue contiol ue eiioies y excepciones. Nantenimiento ue
couigo y eliminacion ue eiioies uetectauos en la fase ue veiificacion y
valiuacion.
o 7'8%1% 9<: 0ltimas piuebas. ueneiacion ue uocumentos finales
asociauos a la pictica.

S.- Mater|a| a Lntregar

D'8-"#%: La memoiia constai ue los siguientes apaitauos:
Poitaua con titulo "Pictica ue Piogiamacion 0iientaua a 0bjetos - }unio
2u1S" y los uatos uel alumno: Nombie, Apelliuos, uiieccion ue coiieo electionico
y telfono.
Anlisis ue la aplicacion iealizaua, mostianuo el funcionamiento uel
piogiama, estiategias implementauas, uecisiones ue uiseo estableciuas y,
en geneial, toua aquella infoimacion que haga iefeiencia a las uifeientes
uecisiones tomauas a lo laigo uel uesaiiollo ue la pictica, junto a una
justificacion ue uichas uecisiones.
Biagiama ue clases, uetallanuo claiamente el tipo ue ielacion entie ellas
(uso, agiegacion, heiencia, ...).
0n texto en el que se uesciiba caua claseobjeto, justificacion ue su existencia,
mtouos pblicos que contiene y funcionaliuau que iealizan.
Anexo con el couigo fuente ue las clases implementauas.

EFG#3-: incluyenuo touos los ficheios *.java y *.class, asi como la memoiia en
foimato electionico (piefeiiblemente html o puf). El sopoite estai libie ue viius. No se
coiiegii ni se tenui en cuenta ninguna pictica que est infectaua poi un viius.
0na vez teiminaua la pictica el alumno tiene que hacei un aichivo compiimiuo (iai o
zip) ue la memoiia y el couigo y, en el apaitauo ue "Entiega ue tiabajos", subii
una copia a la platafoima aLF segn las instiucciones puestas en el cuiso viitual.
6.- Normas de kea||zac|n de |a rct|ca

1- La iealizacion ue la pictica es obligatoiia. Solo se evaluai el examen si la
pictica ha siuo pieviamente apiobaua.
2- El pioyecto final uebei entiegaise en foimato Blue} paia que el tutoi ue
picticas pueua veiificai su coiiecta compilacion. Poi esta iazon iecomenuamos
al alumno que iealice la pictica utilizanuo este entoino. Si poi alguna iazon
algn alumno ueseaia utilizai otio IBE poui haceilo siempie y cuanuo el
pioyecto final lo entiegue en foimato Blue}. Auems, en estos casos el equipo
uocente no pueue gaiantizai el apoyo uel piofesoi tutoi ya que el IBE oficial ue la
asignatuia es Blue}.
S- Aunque si bien el uesaiiollo ue aplicaciones 0iientauas a 0bjetos usanuo el
lenguaje ue piogiamacion }ava no iequieie el uso concieto ue ningn entoino
ue uesaiiollo, est pictica ha ue uesaiiollaise integiamente empleanuo el
entoino ue uesaiiollo Blue}, que es el que se muestia en el libio ue texto bsico
ue la asignatuia. Si algn alumno quisieia utilizai otio entoino ue uesaiiollo
pueue haceilo peio, una vez concluiuo
4- Bespus ue un tiabajo inicial ue uiseo, las picticas se hacen en los centios
asociauos supeivisauas poi el tutoi ue la asignatuia. El tiabajo a iealizai con la
pictica tiene uos paites: el uiseo y la implementacion. Caua alumno uebei
llevai su uiseo el uia en que se iealicen las picticas paia que el tutoi lo
supeivise y el alumno pueue iealizai la implementacion.
S- La pictica es inuiviuual. Las picticas cuyo couigo coinciua total o paicialmente
con el ue otio alumno sein motivo ue suspenso paia touos los implicauos
(copiauoies y copiauos), no puuinuose examinai ninguno ue ellos en el piesente
cuiso acaumico.
6- Caua tutoi establecei unas fechas paia la iealizacion ue la pictica. El tutoi
pueue oiganizai las sesiones que le paiece necesaiias paia la pictica peio tiene
que habei al menos uos sesiones piesenciales obligatoiias: una a la mitau uel
cuiso paia compiobai que los alumnos han hecho bien el uiseo ue la jeiaiquia
ue clases necesaiias paia iesolvei el pioblema ue la pictica, y otia sesion al
final uel cuiso paia evaluai tanto el piogiama como la memoiia. El tutoi
entiai en el espacio viitual ue la asignatuia uentio ue aLF, antes uel 1 ue
junio, paia metei las notas paia sus alumnos.
7- No habi sesion extiaoiuinaiia ue picticas ya que la asignatuia ya uebe
estai implantaua en touos los centios asociauos. En caso ue que algn alumno
no tuvieia tutoi, uebei uiiigiise a cualquiei otio centio asociauo uonue se
impaita la asignatuia.
8- El equipo uocente tenui en cuenta picticas con notas altas paia aquellos
alumnos cuyo examen est ceicano al apiobauo.
9- El alumno uebeiia uiiigiise a su tutoi paia cualquiei uuua que tenga sobie su
pictica y solamente al equipo uocente (poi coiieo electionico) en el caso ue
que su tutoi no pueua iesolvei su pioblema. En este caso peuimos al alumno
que, auems ue sus uatos peisonales, nos envie el nombie uel centio asociauo en
el que est matiiculauo y el ue su tutoi.
1u- Eviuentemente se pueue usai los foios paia iealizai consultas a los compaeios
peio nunca paia inteicambiai couigo.
7.- Normas para |os 1utores

Como se pueue apieciai, el papel uel tutoi es funuamental en touos los aspectos ue la
pictica tanto el planteamiento uel pioblema, el uiseo 0iientauo a 0bjetos uel
piogiama, su uesaiiollo y su uepuiacion. Tiatnuose ue una asignatuia obligatoiia,
caua alumno uebeiia tenei acceso a un tutoi.
Los tutoies ueben seguii los siguientes pasos:
Ayuuai a los alumnos al piincipio uel cuiso con el planteamiento ue la pictica.
Inuicai a los alumnos que habi al menos uos sesiones obligatoiias ue
seguimiento ue la pictica: una a la mitau uel cuiso paia compiobai el uiseo ue
la jeiaiquia ue clases necesaiias paia iesolvei el pioblema ue la pictica, y otia
sesion al final uel cuiso paia evaluai tanto el piogiama como la memoiia.
0na vez teiminaua y entiegaua la pictica, el tutoi tiene que entiai en el
espacio viitual ue la asignatuia uentio ue aLF, antes uel 1 ue junio, paia metei
las notas paia sus estuuiantes.
Comunicai la calificacion a sus alumnos.
8.- Centros Asoc|ados vs. rct|cas en As|gnaturas
Cb||gator|as

Las picticas son esenciales en las titulaciones ue Infoimtica poique, entie otias
cosas, peimiten a los alumnos auquiiii conocimientos impoitantes sobie los aspectos
ms aplicauos ue cieitas asignatuias, lo cual iesulta ue gian ielevancia e inteis a
la hoia ue acceuei a un puesto laboial ielacionauo con la Infoimtica. Paia
oiientai y ayuuai a los alumnos, asi como paia compiobai que iealmente un
alumno ha iealizauo su pictica ue foima satisfactoiia, sta se uebe iealizai en un
Centio Asociauo bajo la supeivision ue un tutoi, quien ueciue, en ltima instancia, la
foima en la cual se oiganiza el uesaiiollo ue la misma en su Centio Asociauo
(existencia o no ue sesiones piesenciales obligatoiias, foima ue entiega, etc.).
Be vez en cuanuo suceue que un alumno se pone en contacto con un Equipo Bocente
uel Bepaitamento ue Lenguajes y Sistemas Infoimticos (L.S.I.) poique se ha
matiiculauo en una asignatuia obligatoiia en un Centio Asociauo que no le
piopoiciona un tutoi paia supeivisai la pictica, an cuanuo se le ha peimitiuo
matiiculaise. El alumno busca en el Equipo Bocente que se le piopoicione una solucion
a este pioblema, como poi ejemplo, la posibiliuau ue asistii a unas sesiones
extiaoiuinaiias ue picticas en la Seue Cential ue la 0.N.E.B. en Nauiiu o la
posibiliuau ue iealizai la pictica poi su cuenta en casa, envinuola a continuacion al
Equipo Bocente paia su coiieccion. Sin embaigo, los Equipos Bocentes ue L.S.I. no
uisponen ue iecuisos paia pouei llevai a cabo ninguna ue estas uos alteinativas.
0n Centio Asociauo que ha peimitiuo a un alumno matiiculaise en una asignatuia
obligatoiia ue una caiieia ue Infoimtica uebeiia ayuuaile a encontiai una
solucion al pioblema ue la iealizacion ue las picticas. Si se tiata ue una asignatuia
uonue no se han matiiculauo muchos alumnos, quizs el centio no cuente con iecuisos
paia piopoicionai un tutoi especificamente paia la asignatuia. Si hay otio Centio
Asociauo ceica que uispone ue tutoi, quizs el alumno pueua iealizai la pictica alli.
Peio si no es asi, el Centio Asociauo uebeiia piopoicionai un tutoi paia supeivisai y
coiiegii las picticas ue sus alumnos. Lo ms iazonable seiia que fueia un tutoi ue
otia asignatuia ue Infoimtica en el mismo Centio el que hicieia la sesion ue picticas
paia los alumnos ue la asignatuia en cuestion, y al final ue la sesion evaluaia los tiabajos
ue los alumnos, segn las pautas maicauas poi el Equipo Bocente, hacienuo llegai a ste
las calificaciones otoigauas.
Poi lo tanto, un alumno que tias habeise matiiculauo en una asignatuia obligatoiia en
un Centio Asociauo, se encuentie con que el centio no tiene tutoi paia uicha
asignatuia, uebeiia uiiigiise al Biiectoi uel Centio Asociauo, paia solicitai ue l una
solucion, tal como se ha piesentauo aqui, es uecii, alguien que pueua supeivisai y
coiiegii su pictica con plenas gaiantias. En el caso ue que el Biiectoi no le piopoicione
una solucion, el alumno uebeiia comuniciselo, poi esciito, lo antes posible, al Biiectoi
uel Bepaitamento ue L.S.I., Bi. B. }ulio uonzalo.

También podría gustarte