もぐら叩きを作る〜1リスト1 モグラクラスサンプル
--------------------
class MoguraBody implements TimerListener {
private static Random rnd = new Random();
int busy = 2;
MoguraPanel mainpnl;
ImageLabel moguraimage;
Timer timer;
private boolean flagVisible = false;
// コンストラクタ
MoguraBody(MoguraPanel pnl,Image img,int x, int y) {
mainpnl = pnl;
moguraimage = new ImageLabel(img);
moguraimage.setVisible(false);
mainpnl.add(moguraimage);
moguraimage.setLocation(x,y);
timer = new Timer();
timer.setTime(1000);
timer.setListener(this);
}
public void moguraStart() {
timer.start();
}
//
// モグラの出現間隔
//
public void setInterval(int msec) {
timer.stop();
timer.setTime(msec);
timer.start();
}
//
// モグラの出現頻度
//
public void setBusy(int bz) {
busy = bz;
}
// 打つ
public boolean bang() {
boolean retval = false;
if( flagVisible ) {
retval = true;
moguraimage.setVisible(false);
flagVisible = false;
mainpnl.scoreCounter(true);
}
else
mainpnl.scoreCounter(false);
return retval;
}
// タイマー受信
public void timerExpired(Timer src) {
if(flagVisible) {
moguraimage.setVisible(false);
flagVisible = false;
mainpnl.scoreCounter(false);
}
else {
int i = Math.abs( rnd.nextInt() % busy );
if(i == 1) {
moguraimage.setVisible(true);
flagVisible = true;
}
}
timer.stop();
timer.start();
}
}
------------------
モバイルショップ
FEED BACK |