PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011 2012 Número de práctica: 8 Objetivo Simular el juego de la ruleta Definición de las clases Persona Apuesta: representa una apuesta de un jugador Jugador: Hereda de forma pública de la clase Persona y puede realizar apuestas (vector STL de Apuesta) Ruleta Permite simular el juego y consta de Jugadores: lista (STL) de Jugador Definición de la clase Persona Atributos privados _nombre: string _apellidos: string Versión 1 Constructor parametrizado con todos los argumentos con el valor por defecto Versión 2 Constructor de copia getnombre: Función de tipo string que devuelve el valor del atributo _nombre getapellido: Función de tipo string que devuelve el valor del atributo 1
_apellidos Observación Funciones de modificación setnombre: Función de tipo void que recibe un parámetro de tipo string que es asignado al atributo _nombre de Persona setapellidos: Función de tipo void que recibe un parámetro de tipo string que es asignado al atributo _apellido de Persona Asigna a la Persona actual los valores de los atributos de la Persona pasada como parámetro Parámetro: q, Persona pasada como referencia constante Resultado: referencia a la Persona actual leerpersona Lee desde el teclado los valores de los atributos de la Persona escribirpersona Escribe por pantalla los valores de los atributos de la Persona Definición de la clase Apuesta Atributos privados Se deben elegir los atributos más adecuados para representar el dinero apostado el tipo de apuesta que realiza Más información en: http://sistemas-ruleta.com/reglas_juego_ruleta.php Parametrizado De copia Se deberán codificar funciones de consulta de los atributos definidos Observación 2
Funciones de modificación Se deberán codificar funciones de modificación de los atributos definidos Permite copiar los valores de una apuesta en otra leerapuesta Lee desde el teclado los valores de los atributos de la Apuesta escribirapuesta Escribe por pantalla los valores de los atributos de la Apuesta Definición de la clase Jugador Jugador hereda de forma pública de la clase Persona Atributos propios y privados _dinero: int, representa el dinero que tiene en cada momento _apuestas: vector (STL) de la clase apuesta Funciones o métodos públicos Constructor: Versión 1 Constructor parametrizado con todos los argumentos con el valor por defecto Versión 2 Constructor de copia Funciones de acceso getdinero: Función que devuelve el valor del atributo _dinero getapuestas: Función due devuelve el valor del valor del atributo _apuestas Observación Las funciones de acceso deberán ser calificadas con const debido al constructor de copia Funciones de modificación setdinero Función que modifica el atributo _dinero setapuestas: Función que modifica el atributo _apuestas Sobrecarga del operador de asignación = 3
Asigna los datos de un Jugador a otro Jugador Funciones de lectura y escritura leerjugador Lee desde el teclado los valores de los atributos del Jugador escribirjugador Escribe por pantalla los valores de los atributos del Jugador Definición de la clase Ruleta Atributos privados _banca: int, representa el dinero que tiene el casino en esa mesa de la ruleta _numero: int, representa el número que sale en la ruleta _jugadores: lista (STL) de la clase Jugador Parametrizado De copia Se deberán codificar funciones de consulta de los atributos definidos Observación Funciones de modificación Se deberán codificar funciones de modificación de los atributos definidos Permite copiar los valores de una apuesta en otro girarruleta Genera un número aleatorio entre 0 y 36 analizarapuestas Dependiendo de las apuestas de cada jugador, le paga la ganancia obtenida o le recoge el dinero apostado. escribirapuestasjugadores Muestra por pantalla las apuestas actuales de los jugadores grabardatosjugadores Graba en un fichero, cuyo nombre se recibe como parámetro, el número de jugadores, el nombre, los apellidos y el dinero actual de cada jugador 4
leerdatosjugadores Lee de un fichero, cuyo nombre se recibe como parámetro, el número de jugadores, el nombre, los apellidos y el dinero actual de cada jugador. Ficheros que se han de codificar Ficheros de la clase Persona persona.hpp persona.cpp Ficheros de la clase Apuesta apuesta.hpp apuesta.cpp Ficheros de la clase Jugador jugador.hpp jugador.cpp Ficheros de la clase Ruleta ruleta.hpp ruleta.cpp programaruleta.cpp Programa que permite simular el juego de la ruleta Una vez que se han introducido los jugadores en la ruleta y que cada jugador ha introducido sus apuestas en su vector de apuestas, el programa recorre la lista de jugadores y, para cada uno, analiza sus apuestas. Se deberá crear un fichero makefile de compilación Se deberán utilizar comentarios de doxygen 5