[代码] [Java]代码 import java.util.*; class Q {boolean b = false;Random r = null;//武松的血条int wusongblood = 10;//老虎的血条int tiggerblood = 10;public Q(){r = new Random();}// http://www.haokk123.info/linked/20130424.do 武松侵犯public synchronized void wugong(){if(b){try{wait();}catch(Exception e){System.out.println(e.getMessage());}}System.out.println(Thread.currentThread().getName() " 进行一次侵犯");if(!duobi()){tiggerblood--;System.out.println("tigger 的血量为" tiggerblood);}elseSystem.out.println("tigger 成功进行了一次躲避");b = true;if(tiggerblood == 0){System.out.println("GAME OVER !!! 武松 WIN");System.exit(0);}notify(); }//老虎侵犯public synchronized void hugong(){if(!b){try{wait();}catch(Exception e){System.out.println(e.getMessage());}}System.out.println(Thread.currentThread().getName() " 进行一次侵犯");if(!duobi()){wusongblood--;System.out.println("武松 的血量为" wusongblood);}elseSystem.out.println("武松 成功进行了一次躲避");b = false;if(wusongblood == 0){System.out.println("GAME OVER !!! Tigger WIN");System.exit(0);} notify();}public boolean duobi(){return r.nextBoolean();} }class Wu implements Runnable {Q q = null;public Wu(Q q){this.q = q;}public void run(){Thread.currentThread().setName("Wusong Thread");while(true){q.wugong();}}} class Hu implements Runnable {Q q = null;public Hu(Q q){this.q = q; }public void run(){Thread.currentThread().setName("Tigger Thread");while(true){q.hugong();}} } class Wusong {public static void main(String [] args){Q q = new Q();Wu wu = new Wu(q);Hu hu = new Hu(q);new Thread(wu).start();new Thread(hu).start();} } http://www.haofapiao.com/linked/20130424.do
转载于:https://www.cnblogs.com/fpqqchao/archive/2013/04/25/3041524.html