Подправил, выделение работает, теперь думаю как в каждый квадрат вписать значение кубика.
package DW;
Код: Выделить всё
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D;
import java.util.Random;
import javax.swing.JApplet;
public class DiceMain extends JApplet implements MouseListener {
/**
*
*/
private static final long serialVersionUID = 1L;
Color color1 = Color.DARK_GRAY, color2 = Color.YELLOW;
int [][] pole = new int[14][14];// Массив принадлежности территории, тому или другому игроку.
int [][] polez = new int[14][14];// Массив с кол-м кубиков.
int k1, k2;
int x, y;
Random r = new Random();
Graphics2D g;
MouseEvent me;
public void init()
{
setLayout(new BorderLayout());
setSize(400, 400);
setMinimumSize(new Dimension (400,400));
for(int i=0; i<14;i++)
for(int j=0; j<14;j++)
{
polez[i][j] = r.nextInt(24);
pole[i][j] = r.nextInt(2);
if(pole[i][j]==1)
k2++;
else k1++;
//if(k2>=24)
//break;
System.out.println(pole[i][j]);
}
addMouseListener(this);
}
public void paint(Graphics gr) {
Graphics2D g = (Graphics2D)gr;
super.paint(g);
for(int l=0; l<14;l++)
for(int m=0; m<14;m++)
{
int i = l*25;
int j = m*25;
//g.setStroke(polez[i][j]);
if(pole[l][m]==1)
{
g.setColor(Color.MAGENTA);
g.fill(new Rectangle2D.Float(24+i, 24+j, 24, 24));
}
else
{
g.setColor(Color.GREEN);
g.fill(new Rectangle2D.Float(24+i, 24+j, 24, 24));
}
}
//if(me.getSource()!=null)
for(int i=1; i<=15;i++)
if(x<=25*i && x>=25*(i-1))
for(int j=1; j<=15;j++)
if(y<=25*j && y>=25*(j-1))
{
g.setColor(Color.DARK_GRAY);
g.fill(new Rectangle2D.Float(25*(i-1)-1, 25*(j-1)-1, 24, 24));
System.out.println(x+" "+y);
}
g.setColor(Color.getHSBColor(10, 20, 255));
g.fill(new Rectangle2D.Float(0,0,24,24));
}
@Override
public void paintComponents(Graphics g) {super.paintComponents(g);}
public void mouseClicked(MouseEvent me)
{
x = me.getX();
y = me.getY();
if(x>=24 && y>=24)
repaint();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}