⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ball.java

📁 JAVA的消球小游戏```````` 5子连一起消```不消多赠3子
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;

class Ball extends Canvas implements FocusListener,MouseListener
{
	boolean flag;//表示此点是否走过
	int
		startx=0,//此点x轴的位置
		starty=0;//此点y轴的位置
	Colorlinez linez;
	static Ball downBall=new Ball(Color.white,0,0);//记录下点击球
	Color color,//球的颜色
		bg=Color.black;//边框颜色
	Ball(Color color,int startx,int starty)
	{
		this.color=color;
		this.startx=startx;
		this.starty=starty;
		this.flag=false;
		addMouseListener(this);
		addFocusListener(this);
	}
	public void update(Graphics g)  //更新:设边框颜色,圆色并画圆
	{
		g.setColor(bg);
		g.drawRect(0,0,22,22);
		g.setColor(color);
		g.fillOval(1,1,21,21);
	}
	public void paint(Graphics g) //开始画
	{
		update(g);
	}
	public void focusGained(FocusEvent e)
	{
	}
	public void focusLost(FocusEvent e)
	{
		bg=Color.black;
		repaint();
	}
	public void mouseEntered(MouseEvent e)
	{
	}
	public void mouseExited(MouseEvent e)
	{
	}
	public void mousePressed(MouseEvent e)
	{
	}
	public void mouseReleased(MouseEvent e)
	{
	}
	public void mouseClicked(MouseEvent e)
	{
		if (color!=Color.white)  //如果球的颜色不是白色
		{
			bg=Color.red;
			downBall=this;
			repaint();
		}
		else
		{
			for(int i=0;i<9;i++)//清空走过标记
				for(int j=0;j<9;j++)
					linez.b[i][j].flag=false;
					
			if (linez.moveBall(downBall.startx,downBall.starty-1,this.startx,this.starty)
				||linez.moveBall(downBall.startx+1,downBall.starty,this.startx,this.starty)
				||linez.moveBall(downBall.startx,downBall.starty+1,this.startx,this.starty)
				||linez.moveBall(downBall.startx-1,downBall.starty,this.startx,this.starty))//如果把球移到相邻的位置
			{
				this.color=downBall.color;
				downBall.color=Color.white;
				if(!linez.erase(this.startx,this.starty))//如果没有小球消去
					linez.new3ball();  //生成三个小球
				else
				{
					linez.lblPoint.setText(""+linez.point);
				}
				repaint();
			}
		}
	}
}

⌨️ 快捷键说明

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