0

プログラムを実行するたびに、白から黒に変わり、2 t0 8 秒以内に完了する処理の進行状況バーを描画したいと考えています。正確な時間はランダムですが、2 秒から 8 秒以内です。

バーを実行する必要があります。プログラムを実行するたびに、2 秒から 8 秒の間のランダムな時間にバーを完成させるのに助けが必要です。これは大学の課題であり、私が始めるための疑似コードだけを探しているので、私は完全に迷っています。私はこれまでのところこれを持っています

int a;
  int k;
  int strokeC;
  boolean bar=true;


void setup (){
  size(500,300);
  background(255);
  colorMode(RGB,255);
  a = 130;
  k= a;
  strokeC = 255;
  rectMode(CENTER);
  noFill();
  rect(width/2,height/2,250,30);
}

void draw(){
 k++;

  for(int i=a, s=strokeC; i<=k && s>15; i++, s-- ) {
      stroke(s);
     line(i,140,i,160);
  }
}
4

3 に答える 3

1

Timerあなたはそのために設定することができます

タイマーとスケジューリングに関する小さなチュートリアルがあります

import java.util.Timer;
import java.util.TimerTask;

public class Reminder {
   Timer timer;

   public Reminder(int seconds) {
       timer = new Timer();
       timer.schedule(new RemindTask(), seconds*1000);        
}

    class RemindTask extends TimerTask {
        public void run() {
            System.out.println("Time's up!\n");
            timer.cancel(); //Terminate the timer thread
        }
    }

    public static void main(String args[]) {
       int random_num = Random.nextInt(7)+2; // Random num between 2-8; Random.nextInt(7) is from interval <0;7)
        new Reminder(random_num );
        System.out.println("Task scheduled.\n");
    }
}

タイマーは RemindTask を一定時間スケジュールし、時間になると RemindTask の run() メソッドが呼び出されます。

于 2012-04-19T16:01:18.440 に答える