Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/05/2010, 12:12
xxcom
 
Fecha de Ingreso: mayo-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Respuesta: ayuda con problema en codigo

Cita:
Iniciado por xxcom Ver Mensaje
te voi a pasar lo que tienen que hacer las clases y lo que tiene que hacer el programa en general.

Contenido a Desarrollar:
Se desea crear un programa en Java que simule el comportamiento de un Bingo. El juego
necesitará 3 clases:
• Main.
• Bingo.
• CartonBingo.

Cada una con los siguientes métodos:
• Main: El código de esta clase se adjunta en el fichero Main.class.
• Bingo: Necesitará de las siguientes variables, constantes y métodos de clase:

Las Variables:
• final int MAXBOLAS: Indica el número máximo de bolas que tiene el bombo, que para nuestro caso.
• int ibol: Contará el número de bolas que llevamos sacadas del bombo.
• int vbolas[]: Se utilizará para ir guardando cada bola que se vaya sacando
del bombo.

Los Métodos:
• public Bingo(): Sería el Constructor de la clase y lo único que haría sería
crear el vector vbolas de tamaño MAXBOLAS.
• public int SacarBola(): Sacaría aleatoriamente una bola del bombo de 500
números. Esto habría que hacerlo con el metodo random del paquete Math. La
expresión (int)(Math.random()*X); genera un numero entero aleatorio entre 1 y X.
Pero OJO, habrá que tener en cuenta que si la bola devuelta por éste método ya
ha salido antes, deberá generar otra nueva, hasta conseguir una bola que no
haya sadido anteriormente. Para conseguir ésto deberá hacer uso del método
siguiente.
• private boolean YaUsado(int n): Este método comprueba que la bola “n” no ha
salido ya en el vector de bolas (vbolas), devolviendo TRUE en ese caso y FALSE en
el contrario.
• public void MostrarBolas(): Este método presenta en pantalla todas las bolas
que han salido hasta el momento de su llamada.
• public void GenerarFicheroBolas(): Este método genera un fichero llamado
Fbolas.txt, donde se han registrado todas las bolas que han salido hasta el
momento de su llamada.


• CartonBingo: Necesitará de las siguientes variables, constantes y métodos de clase:

Las Variables:
• final int filas: Indicará el número de filas del boleto. Para nuestro caso
serán 4.
• final int columnas: Indicará el número de columnas del boleto. Para nuestro
caso serán 6.
• final int rango: Indicará el intervalo de números que formarán parte del
boleto. Para nuestro caso serán 500.
• private int boleto[][]: Será una matriz de filas x columnas de enteros, donde
se guardarán los distintos números del boleto.
• private boolean estadoboleto[][]: Será una matriz de filas x columnas de
booleanos, de forma que si estadoboleto[i][j]=true, indicará que boleto[i][j]
ha salido ya en una de las bolas jugadas.
• private boolean haylinea: Indica si este boleto “HA CANTADO LÍNEA”, es decir, hay una fila en la matriz estadoboleto[][] que tiene todos sus elementos a
true, tomando en ese caso el valor de true.
• private boolean haybingo: Indica si este boleto “HA CANTADO BINGO”, es
decir, la matriz estadoboleto[][] tiene todos sus elementos a true, tomando en ese
caso, el valor de true.
• public int lineapremio: En caso de que este boleto “CANTE LÍNEA”, indicará
el número de la línea que se ha completado. En otro caso almacena el valor -1.

Los Métodos:
• public CartonBingo(): Será el constructor y deberá hacer lo siguiente:
• Crear la matriz boleto[][] de tamaño filas x columnas, generando números
aleatorios distintos, entre 0 y el valor dado por la variable rango.
• Crear la matriz estadoboleto[][] de tamaño filas x columnas, colocando
todos sus elementos a false.
• Inicializa la variable haylinea a false.
• Inicializa la variable haybingo a false.
• Inicializa la variable lineapremio a -1.
• private boolean EsRepetido(int num): Devolverá true si el número num está
repetido en el boleto. En otro caso devolverá false.
• public void RevisarNumero(int num): Si num está en la matriz boleto[i][j],
colocará un true en la matriz estadoboleto[i][j]. Además comprobará si se puede
CANTAR LINEA o BINGO en el boleto.
• public boolean ComprobarLineas(): Comprobará si en el boleto se puede CANTAR
LINEA. Para ello revisará la matriz estadoboleto[][] y devolverá true y hay
alguna fila con todos sus elementos a true. En otro caso devolverá false.
• private boolean EsLinea(int fil): Devuelve true si en la fila fil se puede
CANTAR LINEA. Devolverá false en otro caso.
• public boolean ComprobarBingo(): Comprobará si en el boleto se puede CANTAR
BINGO. Para ello comprobará que todos los elementos de la matriz estadoboleto[][]
están a true.
• public boolean HayLinea(): Devuelve true, si la variable haylinea es true.
Devolverá false en otro caso.
• public boolean HayBingo(): Devuelve true, si la variable haybingo es true.
Devolverá false en otro caso.
• public void MostrarCarton(): Muestra en pantalla todos los números de este
boleto.
• public void GenerarFicheroCarton(int ind): Genera un fichero cuyo nombre
sería “Fich”+ind+".txt", donde estará registrados todos los números de este boleto.