Ensayo Sobrealgo
Enviado por stembar • 24 de Mayo de 2012 • 432 Palabras (2 Páginas) • 352 Visitas
//llamamos a las librerias graficas
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.Random;
public class matriz extends JFrame
implements ActionListener //para suscribir al boton al actionListener y esté sensible para que el usuario lo llame
{
private JLabel jugador1, jugador2,etiq,etiq1;
private JButton [][] boton;
private JTextField campo1,campo2;
private JPanel panel;
private ImageIcon bomba;
private int punt=0;
private int[][] posicion;
private String[] Nombres={"1","2","3","4","5","6","7","8","9","10"};
private int ind=0;
public static void main(String[] args){
matriz marco = new matriz();
marco.setSize(650,500); //tamaño de la ventana de la aplicacion
marco.crearGUI(); //crear interfaz grafica del usuario
marco.setVisible(true); //Hacer visible el marco generado
}
private void crearGUI(){
setDefaultCloseOperation(EXIT_ON_CLOSE); //cerrar la aplicacion al dar clic en la X de la ventana
Container ventana = getContentPane(); // generar la ventana donde irán los objetos
ventana.setLayout(new FlowLayout()); //definir como iran los objetos en la ventana
//objetos en pantalla
//panel
panel = new JPanel();
panel.setPreferredSize(new Dimension(350,400)); //definir las propiedades del panel
panel.setBackground(Color.white);
ventana.add(panel); //agregar el panel a la ventana
jugador1 = new JLabel("Jugador 1: ");
ventana.add(jugador1);
campo1 = new JTextField(4);
ventana.add(campo1);
jugador2 = new JLabel("Jugador 2: ");
ventana.add(jugador2);
campo2 = new JTextField(4);
ventana.add(campo2);
//tabla
panel.setLayout(new GridLayout(10,8)); //crea tabla en el panel
//imagen para el boton
// bomba = new ImageIcon ("3.jpg");
/**/
/*** crear arreglo bidimensional que determine la ubicacion de las minas ***/
int[][] posicion;
Random ubica;
int x,y;
posicion = new int[10][8];
ubica = new Random();
//inicializa arreglo en ceros
for(int i=0;i<10;i++){
for(int j=0;j<8;j++){
posicion[i][j]=0;
}
}
for (int i=0;i<10; i++){
//genera ubicacion de la bombas al azar
int limitex=10;
int limitey=8;
x = ubica.nextInt(limitex);
y = ubica.nextInt(limitey);
posicion[x][y]=10; //pone un marcador para saber la ubicacion de las bombas
}
/**/
//crear matriz de botones
boton = new JButton[10][8]; //crea boton con matriz
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 8; j++) {
if(posicion[i][j]==10){
boton[i][j]=new JButton();
boton[i][j].setName(Nombres[ind]);
panel.add(boton[i][j]); //agrega cada boton en cada espacio de la tabla
boton[i][j].addActionListener(this);
ind++;
}
else{
//determina la cantidad de bombas alrededor
//primera fila
if((i==0)&&(j>0)&&(j<7)){
if(posicion[i+1][j]==10){ //abajo
posicion[i][j]++;
}
if(posicion[i+1][j+1]==10){ //abajo-derecha
posicion[i][j]++;
}
if(posicion[i][j-1]==10){ //izquierda
posicion[i][j]++;
}
if(posicion[i][j+1]==10){ //derecha
posicion[i][j]++;
}
if(posicion[i+1][j-1]==10){ //abajo-derecha
posicion[i][j]++;
}
}
//ultima fila
else if((i==9)&&(j>0)&&(j<7)){
if(posicion[i-1][j-1]==10){ //izquierda-arriba
posicion[i][j]++;
}
if(posicion[i-1][j]==10){ //arriba
posicion[i][j]++;
}
if(posicion[i-1][j+1]==10){ //arriba-derecha
posicion[i][j]++;
}
if(posicion[i][j-1]==10){ //izquierda
posicion[i][j]++;
}
if(posicion[i][j+1]==10){ //derecha
posicion[i][j]++;
}
}
//primera columna
else if((j==0)&&(i>0)&&(i<9)){
if(posicion[i+1][j]==10){ //abajo
...