java 练习2019-12-12

英雄充能

howj2上的练习,做了丢这里当笔记

Skill类

public class Skill {
public String skillName;
public int skillCount;
public int skillRecharge;
public int skillRechargeCount;

 public boolean Mobilize_skills(Skill skill) {
  try {
		Thread.sleep(1000);//使用这个方法的线程都要暂停1000ms
	} catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

      if(skill.skillCount<3) {
        skill.skillCount+=1;
        System.out.format("%s 第 %d 发%n",skill.skillName,skill.skillCount);
        return false;
        }	
        return true;	
  	  }  

  public void skillCharge() {
     while(skillRechargeCount>0) {
        try {
		     Thread.sleep(1000);//使用这个方法的线程都要暂停1000ms
    	    } catch (InterruptedException e) {
		      // TODO Auto-generated catch block
	 	      e.printStackTrace();
	        }
	         skillRechargeCount-=1;
	         System.out.format("充能倒数 %d %n",skillRechargeCount);
             if(skillRechargeCount==0) {
	         System.out.format("充能完毕%n");
             break;
               }
          }
     }
}

Skillbattle 名字你随便

public class Skillbattle implements Runnable{
  private Skill s1;
  
  public Skillbattle (Skill s1) {
	  this.s1 = s1;	
}

  public void run() {
	while(true) {
	  
		if(s1.Mobilize_skills(s1)) {
			System.out.format("开始充能%n"+"充能倒数 4 %n");
			s1.skillCharge();
			
			//充能完毕后重新赋值
			s1.skillCount=0;
			s1.skillRechargeCount=4;
			
		      }
		  }
     }
  }

Skillaction

public class Skillaction {

public static void main(String[] args) {
	// TODO Auto-generated method stub
     Skill s1 = new Skill();
     s1.skillName="波动拳";

    //这里不加第一次就没倒数
    s1.skillCount=0;
    s1.skillRechargeCount=4;

    Skillbattle battle1 = new Skillbattle(s1);
    new Thread(battle1).start();
   }

}

java 练习2019-12-12_第1张图片

你可能感兴趣的:(java)