少しゲームを作ろうとしていますが、コードに助けが必要です。 私はそれはあなたが基本的に毎分を実行するスケジューラを必要とする0Javaで1分ごとに整数を減らす
// i want this to decrease by one every minute
int Food = 10;
少しゲームを作ろうとしていますが、コードに助けが必要です。 私はそれはあなたが基本的に毎分を実行するスケジューラを必要とする0Javaで1分ごとに整数を減らす
// i want this to decrease by one every minute
int Food = 10;
になるまで、毎分数を減少させるタイマーを作りたいです。スケジューラーを実装するには、java.util.TimerTaskを拡張するクラスを作成します。今
https://docs.oracle.com/javase/7/docs/api/java/util/TimerTask.html
class YourJob extends TimerTask{
public void run(){
//code which you want to execute every minute
}
}
、あなたはこのタイマーを初期化して登録する必要があります。あなたはjava.util.Timerクラスのこの使用してスケジュール()メソッド
https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html
class Application {
public static void main(String[] args) {
Timer timer new Timer();
Calendar date = Calendar.getInstance();
date.set(
Calendar.DAY_OF_WEEK,
Calendar.SUNDAY
);
date.set(Calendar.HOUR, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
// Schedule to run every Sunday in midnight
timer.schedule(
new YourJob(), //your job class,
1000*60 //delay in milliseconds
);
}
}
を行うことができ、これを試してみてください。このsiteで利用可能なコードを編集しました。これは単にスレッドが60000ミリ秒間スリープした後、カウンタの値を減らします(あなたの場合はFood
)。スレッドの詳細については、siteを参照してください。スリープ方法については、thisを参照してください。
class TestSleepMethod1 extends Thread
{
public void run()
{
int Food = 10; //Initial value
for(int i=Food;i>0;i--)//Decrementing till it becomes 0
{
try
{
Thread.sleep(60000); //Time is in miliseconds here so for your code its 60000
}
catch(InterruptedException e)
{
System.out.println(e);
}
System.out.println(i); //Printing value of i in each execution of the loop
}
}
public static void main(String args[])
{
TestSleepMethod1 t1=new TestSleepMethod1();
t1.start();
}
}
バックグラウンドスレッドとスリープコールが必要です。いくつかのコードを生成しようとすると、私はそれを手伝ってくれるでしょう。 – slambeth
スレッドを作成して60000ミリ秒間スリープ状態にする...詳細については、この[site](http://www.javatpoint.com/sleep()-method)を参照してください。 –