私はJavaを学んでいるので、基本的なテキストベースのゲームを作り上げようとしています。特定のイベントのペースを管理する手段として、ゲーム内のラウンドをカウントできるようにしたいと思います。たとえば、部屋の変更はラウンドごとに1回に制限できます(テストコードでは1秒)。小さなクリーチャーはより高い割合で部屋を攻撃または変更する可能性がありますが、大きなクリーチャーはより厄介になる可能性があります。これまでのところ良いですか?素晴らしい。
それで、私はこれを作り上げて、whileループがプレーヤーがコマンドを入力するのを待つたびにブロックにぶつかることにすぐに気づきました。コード:
private void startPlaying() {
//declare clock/round variables.
int lastRound = 0;
int currentRound = 0;
long lastTime = System.currentTimeMillis();
long currentTime;
while (player.getIsPlaying()){
//Clocking
currentTime = System.currentTimeMillis();
if ((lastTime + 1000) < currentTime) {
lastTime = currentTime;
lastRound = currentRound;
currentRound++;
System.out.println("Current round:\t" + currentRound + "\tCurrent time:\t" + currentTime); //EDIT:NOTE: This is just a test line to observe the loop.
}//end if (Clocking)
Command command = new Command();
String[] commandString = command.setAll(); //Array gets parsed elsewhere.
player.doCommand(commandString);
//Class Player extends Pawn extends Actor; Pawn has most command methods.
}
finishPlaying();
}//END STARTPLAYING()
だから、ここに私の質問があります:
別の方法を使用して、whileループと同時にプレーヤーにコマンドプロンプトを表示する時間/ラウンドをログに記録する方法はありますか?
そうでない場合、これを私がまだ見ていない/実践していない問題ではないようにする別の方法はありますか?