UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL GENERAL PACHECO ANEXO JOSÉ CLEMENTE PAZ TECNICO SUPERIOR EN PROGRAMACION LABORATORIOS DE COMPUTACIÓN II Prof. Rubén A. Calabuig TRABAJO PRÁCTICO INTEGRADOR Nº2 PAUTAS PARA EL DESARROLLO
Índice TEMA .............................................................................................................................................................................. 1 PROGRAMA ................................................................................................................................................................... 1 FUENTES ........................................................................................................................................................................ 2 Ejemplo de documentación de un archivo fuente de programa. ..............................................................................2 Ejemplo de encabezado de un archivo de clase. ......................................................................................................3 Ejemplo de encabezado de un método de una clase. ................................................................................................3 Ejemplo de encabezado de una función. ..................................................................................................................4 MANUALES Y DOCUMENTACIÓN .......................................................................................................................... 4 ARCHIVOS FUENTES..............................................................................................................................................4 GUIA DEL USUARIO...............................................................................................................................................4 GUIA DEL PROGRAMADOR...................................................................................................................................4 LICENCIA DE DISTRIBUCIÓN...............................................................................................................................4 DISTRIBUCIÓN ............................................................................................................................................................. 5
Lab2 Trabajo Practico Integrador 2 Pautas 2009.odt
Página 2 de 4
UTN
LABORATORIO DE COMPUTACIÓN II
FRGP
TRABAJO PRÁCTICO INTEGRADOR Nº 2
ANX JCP
PAUTAS PARA EL DESARROLLO
LABORATORIO II TRABAJO PRÁCTICO INTEGRADOR Nº 2 PAUTAS PARA EL DESARROLLO TEMA El alumno deberá escoger como proyecto un juego (acción, azar, lógica, etc.).
PROGRAMA El programa debe ser desarrollado en C++ utilizando como entorno de desarrollo el IDE Code::Blocks, con el compilador GNU gcc. El juego debe ser desarrollado en su totalidad en modo gráfico. Para tal fin, la cátedra sumi nistrará un sistema de clases basadas en las librerías gráficas SDL (Simple DirectMedia La yer) de Sam Lantinga, que se distribuyen bajo licencia GPL. El paradigma de programación a utilizarse para el desarrollo del juego es la Programación Orientada a Objetos (POO). NOTA: El uso de funciones sólo será permitido en casos muy justificados. La interfase del usuario debe presentar las siguientes características: El juego debe comenzar con una pantalla de presentación y terminar con pantalla de despedida. El control del programa debe realizarse a través de un sistema de menús de varios nive les. Debe existir la posibilidad de acceder en cualquier momento de la ejecución a un sistema de ayuda en línea (pantallas explicativas, ejemplos, ayudas contextuales, etc.). Se debe tener la posibilidad de guardar y recuperar un juego iniciado. Debe generar, mantener y mostrar un archivo de los 10 mejores puntajes. Debe existir la posibilidad de salir del programa en cualquier momento de su ejecución. Según el momento de ocurrida la petición de abandono, pueden presentarse diferentes situaciones que se detallan a continuación: • • •
Si se presionó la opción “salir” del Menú Principal, debe terminarse el programa. Si se presionó la opción “salir”, la tecla “ESC” o se realizó alguna acción equivalen te, desde algún submenú, debe retornarse al Menú Principal. Si se presionó la tecla “ESC” o se realizó alguna acción equivalente durante el juego, debe pedirse confirmación, ofrecerse la posibilidad de guardar el juego iniciado y re tornar al Menú Principal.
Autor: Rubén A. Calabuig
Lab2 Trabajo Practico Integrador 2 Pautas 2009.odt
Página 1 de 5
FUENTES El proyecto debe ser entregado con todos sus archivos fuentes (programas y librerías). Los archivos fuentes deben presentar el encabezado de autor, y cada una de las clases y fun ciones deben, también, presentar un encabezado explicativo.
Ejemplo de documentación de un archivo fuente de programa.
//////////////////////////////////////////////////////////////////////// // ARCHIVO : Turf.cpp // PROGRAMA : Turf. // AUTOR : Ruben A. Calabuig. // VERSION : 3.0 Estable. // FECHA : 17/07/2008. // IDE : Code::Blocks. // COMPILADOR : GNU GCC Compiler (Mingway). // SISTEMA OPERATIVO: MS – Windows Xp //...................................................................... // DESCRIPCION: Este archivo contiene el programa principal del juego // “Turf”. // El programa es un juego de azar donde los usuarios pue// den realizar apuestas a 3 caballos elegidos por la ma// quina. //====================================================================== // INCLUSION DE LIBRERIAS ESTANDAR //---------------------------------------------------------------------#include // Contiene todas las funciones estandar. //---------------------------------------------------------------------// INCLUSION DE LIBRERIAS DE OTROS AUTORES //---------------------------------------------------------------------#include // Contiene la emulacion de la libreria conio.h de // Borland --> Autor: Salvador Pozo Coronado. //---------------------------------------------------------------------// INCLUSION DE LIBRERIAS PROPIAS //---------------------------------------------------------------------#include // Contiene la emulacion de las // funciones randomize() y random() // de Borland. #include “./clases/clsCaballo.poo” // Contiene la clase clsCaballo. #include “./clases/clsJugador.poo” // Contiene la clase clsJugador. using namespace std; //---------------------------------------------------------------------// DECLARACION DE CONSTANTES //---------------------------------------------------------------------//====================================================================== // CUERPO PRINCIPAL DEL PROGRAMA:FUNCION "main". //====================================================================== int main(int argc, char* argv[]) { // // Declaracion de variables locales //---------------------------------//====================== // Inicio del algoritmo //====================== return 0; // Retorno de la funcion. } ///// FIN //////////////////////////////////////////////////////////////
Lab2 Trabajo Practico Integrador 2 Pautas 2009.odt
Página 2 de 4
UTN
LABORATORIO DE COMPUTACIÓN II
FRGP
TRABAJO PRÁCTICO INTEGRADOR Nº 2
ANX JCP
PAUTAS PARA EL DESARROLLO
Ejemplo de encabezado de un archivo de clase.
//////////////////////////////////////////////////////////////////////// // ARCHIVO
: ClsImagen.h
// AUTOR
: Ruben A. Calabuig.
// VERSIÓN
: 3.0 Estable.
// FECHA
: 18/07/2008.
// IDE
: Code::Blocks.
// COMPILADOR: GNU GCC Compiler (Mingway). //...................................................................... // DESCRIPCION: //
Este archivo incluye la definicion de la clase
//
"ClsImMagen" perteneciente al sistema "RAC_DirectMedia".
// //
ClsImagen contiene los elementos necesarios para la admi-
//
nistracion de imagenes en el modo grafico.
// //
NOTA: Esta clase se apoya en las librerias SDL
//
(Simple DirectMedia Layer) de Sam Lantinga.
// //
Las SDL se distribuyen con licencia LGPL y tienen
//
la ventaja de ser multiplataforma.
// ////////////////////////////////////////////////////////////////////////
Ejemplo de encabezado de un método de una clase.
//====================================================================== // METODO
: int detectarCaso(ClsSprite* spr, tipoCoordenadas* coord)
// ACCION
: Devuelve el tipo de superposicion producido entre areas.
// PARAMETROS: ClsSprite* spr
-> puntero al sprite externo.
//
tipoCoordenadas* coord -> puntero a la estructura de
//
coordenadas.
// DEVUELVE
: int -> Caso detectado.
//----------------------------------------------------------------------
Autor: Rubén A. Calabuig
Lab2 Trabajo Practico Integrador 2 Pautas 2009.odt
Página 3 de 5
Ejemplo de encabezado de una función.
//====================================================================== // FUNCION
: int random(int n)
// ACCION
: Devuelve un numero aleatorio entero entre 0 y n-1.
// PARAMETROS: int n -> numero tope del rango aleatorio. // DEVUELVE
: int n -> numero aleatorio generado.
//----------------------------------------------------------------------
NOTA: en cada caso los parámetros deben ser correctamente explicados (tipo, nombre y rol que cumple).
MANUALES Y DOCUMENTACIÓN La documentación mínima a presentar es:
ARCHIVOS FUENTES.
GUIA DEL USUARIO
Debe prepararse una guía del usuario donde se explique claramente los distintos tópicos del programa. (uso del menú, detalle de las opciones, pantallas, teclas, comandos, ayu das, estrategias sugeridas, etc.). NOTA: debe entregarse con formato libre ODT (Open Document Text).
GUIA DEL PROGRAMADOR
Debe presentarse una guía del programador donde: • Se describa cada una de las librerías, clases, métodos, funciones. • Se presente una lista de errores donde aparezcan código de error, descripción, posi bles causas, y métodos para solucionarlo.
NOTA: debe entregarse con formato libre ODT (Open Document Text).
LICENCIA DE DISTRIBUCIÓN
Debe presentarse toda la documentación pertinente al tipo de licencia requerida para la distribución del software (GNU, Open Source, GPL, etc.).
NOTA: Bajo ningún concepto se permitirán distribuciones de tipo “propietario” o que no in cluyan los códigos fuentes.
Lab2 Trabajo Practico Integrador 2 Pautas 2009.odt
Página 4 de 4
UTN
LABORATORIO DE COMPUTACIÓN II
FRGP
TRABAJO PRÁCTICO INTEGRADOR Nº 2
ANX JCP
PAUTAS PARA EL DESARROLLO
DISTRIBUCIÓN Todo el trabajo práctico deberá ser entregado en un archivo comprimido (ZIP) que incluya: Archivos fuentes. Archivos gráficos (sólo se permitirá el uso de formato PNG). Archivos de sonido (mp3 o wav). Archivos de fuentes TTF (deberán ser fuentes de uso libre). Manual del Usuario. Manual del Programador. Licencia. Créditos de otros autores.
Autor: Rubén A. Calabuig
Lab2 Trabajo Practico Integrador 2 Pautas 2009.odt
Página 5 de 5