Я участвую в проекте моделирования ресурсных игр. Что мне нужно сделать, это ...Java Resource-Game Simulation
«Если ресурсов достаточно, запрос будет выполнен, и запрашиваемые количества будут вычтены из доступных количеств. Если ресурсов недостаточно, аниматор потребляет доступных количеств и ждать, когда будет доступно больше ресурсов ».
Вопрос заключается в том, как я могу сделать это возможным ... Для того, чтобы уменьшить ресурс, а затем провести где-то, что еще нужно, и уменьшить его, когда имеются необходимые ресурсы (например, кредит) ...
Пример :
... 100 зОЛОТО НУЖНО .... но ... 50 зОЛОТО ДОСТУПНО ...
... УМЕНЬШИТЬ золото 50 ... и ждать недо золото> = 50, а затем
... REDUCE GOLD BY 50 ...
и т.д ...
Пример кода ...
public void feedArmy(){
if(food>=100){
food=food-100;
System.out.println("*Feed Soldiers (-100 Food)");
System.out.println(toString());
}
else{
System.out.println("*Feed Soldiers (-100 Food)");
System.out.println("-Not Enough Food!"); //get loan instead
}
}
(после редактирования) ЛУЧШЕЕ РЕШЕНИЕ ДЛЯ ТЕПЕРЬ:
На самом деле ... Я думал, просто уменьшая требуемое значение из дерево, а затем, если число отрицательно, я сохраняю отрицательное значение, повернув его на положительное значение с
Math.abs();
поэтому, если древесина 30 и я хочу 100 ... Я делаю 30-100 = -70; затем кредит = -70; ...
then I Math.abs (loan); так что кредит = 70;
, а затем я сделать if(wood>loan){ wood=wood-loan}
// я, возможно, придется положить спать недо древесина обновляется снова ... и вот это ... я до сих пор понятия не имею, что это такое Producer/Consumer материал ...
Заявление «подождите, пока не будут доступны ресурсы» означает, что у вас есть потоки производителей и потоки потребителей. Подробное объяснение синхронизации производителя и потребителя далеко выходит за рамки SO, что касается конкретных вопросов программирования. Поиск в Интернете для учебных пособий по многопоточному программированию и, в частности, «производитель-потребитель». Кроме того, прочитайте [FAQ] и [Ask], чтобы лучше понять, как писать хорошие вопросы. –
@JimGarrison Я не согласен с тем, что это выходит за рамки SO, но такая игра может быть достигнута без многопоточности с помощью простого игрового цикла –
Beyond SO scope? Что это? – user2375278