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

📄 chessman.java

📁 一个JAVA小游戏
💻 JAVA
字号:
//package lisen.game;
import java.awt.*;
public class Chessman extends Canvas implements Runnable{
    protected int m_nSize,m_nChangeSize,m_nStartPoint;
    //分别为圆的大小,改变的幅度,开始画的位置
    protected Color m_crForeColor;
    protected boolean m_bIsSelect,m_bIsFirst;
    private Thread m_threadFlicker;
    //构造函数
    public Chessman(){
       super();
       resize(50,50);
       m_nSize=45;
       m_nChangeSize=-10;
       m_nStartPoint=5;
       m_crForeColor=getBackground();
       m_bIsSelect=m_bIsFirst=false;
       m_threadFlicker=null;
    }
    public void paint(Graphics g){
       g.drawRect(0,0,49,49);
       if(m_bIsSelect){
          g.setColor(m_crForeColor);
          g.fillOval(m_nStartPoint,m_nStartPoint,m_nSize,m_nSize);
       }
    }
    public void setColor(Color cr){
       m_crForeColor=cr;
       repaint();
    }
    public void select(Color cr){
       m_bIsSelect=true;
       setColor(cr);
    }
    public void cancelSelect(){
       m_bIsSelect=m_bIsFirst=false;
       m_crForeColor=getBackground();
       if(m_threadFlicker!=null&&m_threadFlicker.isAlive())m_threadFlicker.yield();
       m_threadFlicker=null;
       m_nSize=45;
       m_nStartPoint=5;
       m_nChangeSize=-10;
       repaint();
    }
    public void setFirst(){
       m_bIsFirst=true;
    }
    public void flicker(){
       m_threadFlicker=new Thread(this);
       m_threadFlicker.start();
    }
    public void run(){
       while(m_bIsFirst){
           m_nSize+=m_nChangeSize;
           m_nStartPoint-=m_nChangeSize;
           m_nChangeSize=-m_nChangeSize;
           repaint();
           try{m_threadFlicker.sleep(250);}
           catch(InterruptedException ic){}
       }
    }
    public void cancelFlicker(){
       if(m_threadFlicker!=null&&m_threadFlicker.isAlive())m_threadFlicker.yield();
       
       m_bIsFirst=false;
       m_nSize=45;
       m_nStartPoint=5;
       m_nChangeSize=-10;
       m_threadFlicker=null;
       repaint();
    }
    public boolean isSelect(){
       return m_bIsSelect;
    }
    public boolean isFirst(){
       return m_bIsFirst;
    }
    public Color getColor(){
        return m_crForeColor;
    }
} 

⌨️ 快捷键说明

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