Bom dia, to com um pequeno probleminha aqui pra terminar um trabalho da faculdade… professor passou um trabalho que é simulação de bingo eu consegui fazer as classes, os métodos e até quebrei a cabeça e fiz um método recursivo para checar números gerados repetidos nas cartelas, mas eu ja quebrei a cabeça aqui e não consegui fazer o método que checa as cartelas procurando pela “pedra” da vez.
O Bingo é 5000 mil cartelas com 15 dezenas cada cartela, eu coloquei o tamanho de cada cartela de 16 para poder controlar as “pedras” que tiver na cartela, somando +1 na posição 16 da matriz e quando tiver com o valor 15 significa que a cartela é a vencedora…
Adjuda ae gente preciso muito terminar esse trabalho.
import java.util.*;
public class Bingo {
private int cartelas[][] = new int[5000][16];
private int globo[] = new int[90];
private int n;
void geraJogoBingo() {
for (int i = 0; i < cartelas.length; i++) {
for (int j = 0; j < 15; j++) {
n = (int) (1+ Math.random() * 90);
cartelas[i][j] = checaRepetido(n,i);
}
}
}
void ordenaJogoBingo() {
for ( int i = 0; i < cartelas.length; i++) {
Arrays.sort(cartelas[i]);
}
}
int checaRepetido(int n,int i) {
for (int j = 0; j < cartelas[i].length; j++) {
if (n == cartelas[i][j]) {
return checaRepetido(n = (int) (1+ Math.random() * 90),i);
}
} return n;
}
int checaRepetido(int n) {
for (int i = 0; i < globo.length; i++) {
if (n == globo[i]) {
return checaRepetido(n = (int) (1+ Math.random() * 90));
}
} return n;
}
void simularBingo() {
// INICIALIZA O GLOBO
for (int i = 0; i < 90; i++) {
n = (int) (1+ Math.random() * 90);
globo[i] = checaRepetido(n);
}
// ESSA PARTE AQUI EU TENTEI DE TODO JEITO PARA CHECAR SE A CARTELA TEM A PEDRA CHAMADA E ADICIONAR +1 A POSIÇÃO 16 DA MATRIZ
for (int k = 0; k < globo.length; k++) {
for (int i = 0; i < cartelas.length; i++) {
if (cartelas[i][0] == 15) break;
for (int j = 0; j < cartelas[i].length; j++) {
if (globo[k] == cartelas[i][j]) cartelas[i][j] += 1;
}
}
}
}
}