import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class openlight extends Applet implements MouseListener
{
final int BlockSize = 30; // 棋盘格大小
int size = 5; // 棋盘大小
int OpenNum; // 统计打开灯的数量
private byte[][] chess = new byte[size][size]; // 存放灯开关状态
public void ClearGame() // 初始化数据,把灯全灭掉
{
  for(int i=0; i
public void init()
{
  addMouseListener(this); // 增加鼠标监听
  ClearGame();
}
public void paint(Graphics g) // 绘制棋盘及说明
{
  g.clearRect(0,0,getSize().width,getSize().height); // 先清除画面
  g.setColor(Color.black);
  for(int i=0; i
public void update(Graphics g)
{
  paint(g);
}
public void stop()
{
  removeMouseListener(this);
} // 去掉鼠标监听
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
public void mousePressed(MouseEvent e) // 处理鼠标按下事件
{
  int x = e.getX();
  int y = e.getY();
  if(x>0 && x0 && y=0) // 处理 (x,y-1)的状态
    if(chess[dx][dy-1]==1)
     chess[dx][dy-1]=0;
    else
     chess[dx][dy-1]=1;
   if(dx-1>=0) // 处理 (x-1,y)的状态
    if(chess[dx-1][dy]==1)
     chess[dx-1][dy]=0;
    else
     chess[dx-1][dy]=1;
   if(chess[dx][dy]==1)
    chess[dx][dy]=0; // 处理(x,y)的状态
   else
    chess[dx][dy]=1;
   if(dx+1BlockSize * size +10 && x0 && y