You are on page 1of 8

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA

Tutorial preparatorio de
IPC1
Gua temtica del tutorial
Diego Ros
03/11/2013

Esta gua contiene un resumen de lo que se realizar en el tutorial preparatorio de Introduccin a


la programacin y computacin 1. Contiene los temas a desarrollar as como tambin introduccin
de los ejemplos y del proyecto a realizar.

Contenido
1. CAPITULO 1: Introduccin a la computacin.
a. Organizacin de una computadora.
b. Memoria y sus jerarquas.
c. Lenguajes y sus tipos.
d. Intrpretes y Compiladores.
e. Ensambladores y cdigo mquina.
2. CAPITULO 2: Programacin y Algoritmos.
a. Definicin de un lenguaje de programacin.
b. JAVA, instalacin, compilacin, Ejecucin y Entornos de Desarrollo.
c. Sintaxis y semntica del Lenguaje Java.
d. Conceptos Bsicos de Programacin Orientada a Objetos.
e. Variables y Constantes.
f. Atributos y Mtodos.
g. Clases y Objetos.
h. Metodos get y set.
i. Instanciacin de una clase.
j. Tipos por valor y por referencia.
k. Mtodo main
l. Algoritmos y su Codificacin en un lenguaje de programacin.
m. Seudocdigo y Diagramas de flujo.
3. CAPITULO 3: Instrucciones de Control
a. Condicional If Then Else.
b. Ciclo While
c. Ciclo For
d. Ciclo Do While
e. Sentencia Switch
f. Sentencias Break y Continue
4. CAPITULO 4: Funciones y Procedimientos
a. Funciones de devolucin de valor.
b. Procedimientos.
c. Paso de Parmetros.
d. Devolucin de Valores y Objetos.
e. Paquetes y la Sentencia Import.
f. Sobrecarga de mtodos.
g. Metodos y Variables Estticas.
5. CAPITULO 5: Arreglos
a. Arreglos Unidimensionales.
b. Arreglos Bidimensionales.
c. Tipos de Dato en un arreglo.

6.

7.

8.

9.

d. Introduccin a las excepciones, analizando el bloque try catch.


e. Interfz Grfica de Usuario GUI
i. Formularios
ii. Botones
iii. Cajas de Texto
iv. Mensajes en Pantalla.
v. Radio button y checkbutton
vi. Eventos del Teclado y Mouse.
f. Ejemplo Prctico: Space Invaders: Entrega 1. Produciendo enemigos
y moviendo el jugador.
CAPITULO 6: Herencia y Polimorfismo.
a. Herencia.
b. La instruccin extends y su utilizacin.
c. Polimorfismo.
d. Diagramas UML.
e. Ejemplo Prctico: Motor de juegos bidimensionales.
CAPITULO 7: Archivos y Ordenamiento de Datos.
a. Buffers de Entrada y de Salida.
b. Archivos de Texto Secuencial.
i. Lectura
ii. Escritura
c. Serializacin de Objetos.
d. Archivos Binarios.
i. Escritura.
ii. Lectura.
e. Ordenamiento por Seleccin.
f. Ordenamiento por Insercin.
CAPITULO 8: Recursividad e Hilos
a. Funciones Recursivas.
b. Ordenamiento QuickSort.
c. Intruduccin al subprocesamiento mltiple.
d. Creacin de Hilos.
e. Ejemplo Prctico: Space Invaders: Entrega 3. Ataque de enemigos y
deteccin de colisiones.
f. Consejos de Buena Programacin.
i. Comentarios.
ii. Nombres de Constantes y Variables.
iii. Encapsulamiento.
iv. Evitar redundancia.
v. Utilizacin de paquetes.
CAPITULO 9: Estructuras de Datos.

a.
b.
c.
d.

Punteros.
Memoria dinmica.
Creacin de Objetos en tiempo de ejecucin.
Listas enlazadas.
i. Simplemente enlazadas.
ii. Doblemente enlazadas.
iii. Circulares.
e. Pilas
f. Colas
g. rboles.
h. Herramienta Grfica Graphviz.
10. CAPITULO 10: Clases predefinidas e Interfaces
a. Clase ArrayList.
b. Clase Stack.
c. Interfaces.
d. Ejemplo Prctico: Space Invaders. Entrega 4. Gestin de Usuarios,
partidas de juego, reportes y logueo.

Calendarizacin
Da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Captulos a Cubrir
CAPITULO 1 Y 2
CAPITULO 2
CAPITULO 2 Y 3
CAPITULO 3
CAPITULO 4
CAPITULO 5
CAPITULO 5
CAPITULO 5
CAPITULO 6
Repaso de Captulos 1 a 6
CAPITULO 7
CAPITULO 7
Implementacin de Algoritmos
CAPITULO 8
CAPITULO 8
CAPITULO 8
CAPITULO 8 Y 9
CAPITULO 9
CAPITULO 9
CAPITULO 10

Enunciado del Caso Prctico: Space Invaders.

El caso prctico del tutorial ser la creacin de un space invaders, el juego de las
naves espaciales. Se tienen los siguientes requerimientos.

El jugador ser una nave controlada por el teclado cuyas teclas sern las
siguientes:
o ARRIBA: Mueve el jugador hacia arriba.
o ABAJO: Mueve el jugador hacia abajo.
o DEREHCA: Mueve el jugador hacia la derecha.
o IZQUIERDA: Mueve el jugador hacia la izquierda.
o Tecla A: Dispara balas.
o Tecla S: Dispara misil.
o Tecla D: Dispara bomba.
o Tecla F: Activa escudo.
Disparar Balas: El jugador podr disparar la cantidad de balas que guste,
cuando una bala golpee una nave espacial, disminuir sus escudos, una
vez que los escudos de la nave sean 0, si recibe un nuevo golpe de una
bala sta explotar.
Disparar Misil: No importando que tipo de nave sea o el escudo que posea
la nave, el misil la destruir.
Disparar Bomba. Una bomba destruye las naves que estn cerca de ella.
Activa Escudo: Activa el escudo el cual se regenera poco a poco mientras
no se utiliza.

Enemigos
Los enemigos sern naves espaciales de 4 tipos los cuales se diferencian en la
siguiente forma:
Nave Tipo 1: Posee una resistencia de 2 balas, puede disparar al
usuario balas comunes y no puede moverse de su lugar.
Nave Tipo 2: Posee una resistencia de 5 balas, puede disparar al
usuario balas comunes y puede moverse pero no atacar al usuario.
Nave Tipo 3: Posee una resistencia de 5 balas, puede disparar al
usuario balas comunes, puede dispararle misiles los cuales
perseguirn al usuario.

Nave Tipo 4: Posee una resistencia de 6 balas, puede disparar al


usuario balas comunes, as como tambin misiles y puede perseguir
al usuario el cual al alcanzarlo explotar tanto la nave como el
usuario jugador, es decir es una nave autodestructiva.
Nota: Los misiles tienen un tiempo de vida, si no alcanzan al usuario en el tiempo
de vida stos explotarn sin afectar al usuario. As mismo la nave autodestructiva
tambin posee un tiempo de vida, sino alcanza al usuario entonces se destruir
sin afectarlo.

Los enemigos se irn generando aleatoriamente en la pantalla, debe haber como


mximo 50 naves en el tablero.

Niveles
Se contarn con 5 niveles, los cuales difieren en el nivel de dificultad as:
Nivel 1: Las naves disparan con poca frecuencia y permanecen en la
parte superior del tablero.
Nivel 2: Las naves aumentan la frecuencia de disparo.
Nivel 3: Las naves empiezan a moverse en el tablero en la parte
superior.
Nivel 4: Las naves aumentan la frecuencia de disparo y se mueven
con mayor fluidez.
Nivel 5: Las naves se generan con mayor frecuencia.

Se debe indicar al usuario el momento en que aumente un nivel.

Jugador
El jugador poseer 5 vidas y 5 escudos, los cuales debern rodear a la nave, cada
vez que la nave reciba un impacto de bala disminuir su escudo en 1, si le
disparan un misil, la nave del usuario quedar sin escudos. El escudo se ir
regenerando poco a poco conforme pase el tiempo.

Men

Al iniciar la aplicacin debe mostrarse un men donde estn las siguientes


opciones:
Nuevo Jugador: Deber registrarse el jugador ingresando sus datos, as
como un nickname y una contrasea para poder iniciar sesin. No pueden
existir 2 usuarios con el mismo nickname.
Ingresar: El usuario ingresa con su usuario y contrasea y puede iniciar a
jugar.
Historial: Se debe poder ver el historial de partidas jugadas de cada
jugador, para esto se seleccionar el usuario que se desea consultar y
mostrar su historial de partidas.
Administracin: Se debe poder borrar todas las partidas, todos los usuarios,
un usuario en especfico y/o una partida en especfico.
Reportes: Se deber mostrar los siguientes reportes.
o Timer: Mostrar los 3 jugadores con mayor tiempo jugado en total.
o Best of The Best: Se mostrar los 3 jugadores con mayor punteo
obtenido en una sola partida.
o Listado: Se mostrar un listado con los jugadores y sus partidas, el
tiempo que cada jugador ha jugado y el porcentaje de tiempo con
respecto a todo el tiempo jugado, es decir si el jugador ha jugado 15
horas y en total todos han jugado 100 horas, mostrar 15%.

Juego
Tomar en cuenta lo siguiente:

El juego tendr la opcin de pausar el juego.


El juego tendr la opcin de guardar un juego.
El juego tendr la opcin de cargar un juego guardado.
El usuario podr decidir si guardar su partida o no.

ANOTACIONES
No se utilizar ningn IDE que permita drag and drop. Todo el cdigo ser
generado manualmente.
Para guardar los datos de los usuarios se utilizarn listas doblemente
enlazadas guardadas en archivos binarios.

Para guardar un juego se utilizarn archivos de texto, stos deben


guardarse por usuario.
El IDE a utilizar ser JCreator y al final se compilar con la consola de
comandos.
El programa ser empaquetado en un .jar para hacerlo ejecutable.
El cdigo fuente del juego estar disponible en lnea para su descarga
luego de terminar el curso.
El juego poseer sonidos, tanto msica como sonidos de fondo.
Los misiles sern generados cada vez que se destruyan 3 naves.

Cualquier duda comunicarse a mi correo con Dalej Ros. dalejrios@hotmail.com

You might also like