chess.java

来自「实现人和人对战的五子棋」· Java 代码 · 共 71 行

JAVA
71
字号
import java.awt.*;

public class Chess implements FiveChessConstants{
	private MainPanel p;
	private Color color;
	private final Color bgColor;
	private volatile boolean keepRunning;
	private volatile int blickX,blickY;
	
	public Chess(int kind,MainPanel parent)
	{
		color = kind == 1?Color.red:Color.black;
		bgColor = parent.getBackground();
		p = parent;
	}
	public  void draw(int x, int y,boolean isChear)
	{
		Graphics g = p.getGraphics();
		g.setColor(isChear?this.bgColor:this.color);
		g.fillOval(x, y, CHESS_SIZE,CHESS_SIZE);
		//清除是要重画被擦除的红色十字线
		if(isChear)
		{
			g.setColor(Color.RED);//线的颜色
			g.drawLine(x+ CHESS_SIZE/2, y, x+ CHESS_SIZE/2, y+CHESS_SIZE);
			g.drawLine(x, y+ CHESS_SIZE/2, x+ CHESS_SIZE, y+CHESS_SIZE/2);
			
		}
		g.dispose();
	}
	public void drawBlick()
	{
		keepRunning = true;
		Runnable r = new Runnable(){
			public void run()
			{
				while(keepRunning)
				{
					draw(blickX,blickY,true);
					try{
						Thread.sleep(125);
					}catch(InterruptedException e)
					{}
					draw(blickX,blickY,false);
					try{
						Thread.sleep(125);
					}catch(InterruptedException e)
					{}
				}
				//闪烁完停止
				draw(blickX,blickY,false);
			}
		};
		Thread t = new Thread(r);
		t.start();
	}
	public void stopBlick()
	{
		this.keepRunning = false;
	}
	public void setLocation(int bx, int by)
	{
		this.blickX = bx;
		this.blickY = by;
	}
	public void setColor(Color color)
	{
		this.color = color;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?