import javax.swing.*;
import java.lang.*;
import java.util.Random;
public class bngo{
public static void main(String args[]){
int tabla[][],balotas[],op,m,l,numero;
tabla=new int [5][5];
balotas=new int[75];
boolean gano=true;
llenartabla(tabla);
mostrartabla(tabla);
//----------------------menu----------------------------------
String menu="***MENU***\n1. Balota\n2. Tabla\n3.Salir\nDigite la opcion";
for (l=0;l<tabla.length;l++){
for (m=0;m<75;m++){
if(balotas[m]==tabla[l][]&&m!=l){
numero = (int) (Math.random() * 75) + 1;
balota[m]=numero;
}
for( l=0; l<balotas.length && gano; l++){
for( a=0; a<balotas[0].length && gano; a++){
if(balotas[l][a] != tabla[l][a]){
gano=false;
}
else{ gano=true;
}
if(gano){ JOptionPane.showMessageDialog(null, "BINGO");
}
else{ JOptionPane.showMessageDialog(null, "PERDIO");}}}
op= Integer.parseInt(JOptionPane.showInputDialog(menu));
switch(op)
{
case 1:
String salida="";
for (int l=0;l<tabla.length;l++){
for (int m=0;m<75;m++){
if((int) balotas[m]==tabla[l]!=l){
numero = (int) (Math.random() * 75) + 1;
balotas[m]=numero;
}}}
JOptionPane.showMessageDialog(null,"balota n° "+salida);
break;
case 2:
JOptionPane.showMessageDialog(null, "B I N G O\n"+salida);
break;
}
}
}
}
//----------------------------llena la tabla ---------------------------------------
public static void llenartabla(int tabla[][]){
int k, j;
for(j=0; j<tabla[0].length; j++)
{
for(k=0; k<tabla[0].length; k++)
{
if(j==0)
{
Generar(tabla,1,0);
//tabla[k][j]=vec1[k];//(int)(Math.random()*15+1);
}
if(j==1)
{
Generar(tabla,16,1);
//tabla[k][j]=vec1[k];//(int)(Math.random()*15+1);
}
if(j==2)
{
Generar(tabla,31,2);
//tabla[k][j]=vec1[k];//(int)(Math.random()*15+1);
}
if(j==3)
{
Generar(tabla,46,3);
//tabla[k][j]=vec1[k];//(int)(Math.random()*15+1);
}
if(j==4)
{
Generar(tabla,61,4);
//tabla[k][j]=vec1[k];//(int)(Math.random()*15+1);
}
}
}
}
//-------------------------------mostar tabla --------------------------------
public static void mostrartabla(int tabla[][]){
int i, c;
String salida="";
for(i=0; i<tabla.length; i++){
for(c=0; c<tabla[0].length; c++){
salida= salida+tabla[i][c]+" ";
}
salida= salida+"\n";
}
}
public static void Generar(int tabla[][],int inicio, int c){
int k=0, cn=0, num;
boolean sw=true;
Random x=new Random();
do{
num=x.nextInt(15)+inicio;
k=0;
sw=true;
while(k<cn&&sw==true){
if(tabla[k][c]==num){
sw=false;
}
else{
k++;
}
}
if(sw==true){
tabla[cn][c]=num;
cn++;
}
}while(cn!=5);
}
}