Tôi đang cố gắng xây dựng một trò chơi dựa trên văn bản cơ bản khi tôi đang học Java. Tôi muốn có thể đếm các vòng trong trò chơi như một phương tiện quản lý nhịp độ của các sự kiện nhất định. Ví dụ, thay đổi phòng có thể được giới hạn một lần mỗi vòng (một giây, trong mã thử nghiệm.) Một sinh vật nhỏ có thể tấn công hoặc thay đổi phòng ở một tỷ lệ cao hơn, trong khi một lớn hơn có thể là cồng kềnh hơn. Tốt cho đến nay? Tuyệt quá.Thời gian xử lý trong trò chơi dựa trên văn bản (Java)
Vì vậy, tôi đã nấu món này và ngay lập tức nhận ra rằng tôi sẽ đánh một khối mỗi lần vòng lặp trong khi chờ người chơi nhập lệnh. Mã số:
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()
Vì vậy, đây là câu hỏi của tôi:
Có cách nào tôi có thể sử dụng một phương pháp riêng để đăng nhập lần/viên đạn đồng thời để các vòng lặp trong khi trình bày các cầu thủ với một dấu nhắc lệnh?
Nếu không, có cách nào khác để làm cho vấn đề này không phải là vấn đề mà tôi chưa thấy/thực hành chưa?
Tôi cho rằng hướng dẫn của Oracle sẽ là một nơi hợp lý hơn để bắt đầu.Bỏ phiếu khi tôi có danh tiếng. – eenblam