Цикл do while заканчивается после того, как я выполнил один из вариантов, которые я изложил. Например, он говорит: Процесс завершен кодом выхода 0, после того как я купил и развернул некоторые войска.Loop break after action
Что мне не хватает ?! Я хочу, чтобы он продолжал идти, пока человек не пожелает иначе, или игрок побеждает.
do {
refresh();
System.out.println("" +
"Lobby\n\n" +
"==========\n" +
"Balance: "+balance+"\n" +
"Production Per Tick: "+production+"\n"+
"\n----------\n" +
"Options\n" +
"----------\n" +
"1. Show map\n" +
"2. Build troops\n" +
"3. Move troops\n" +
"4. Upgrade Production\n" +
"5. End turn\n");
minimenu = input.nextInt();
if (minimenu==1) {
refresh();
displayMap(map);
System.out.println("" +
"Map Legend:\n" +
"------------\n" +
"0 = not occupied\n" +
"1 = US Territory\n" +
"2 = Terrorist Territory\n");
}
else if (minimenu==2) {
int troop;
refresh();
System.out.println("" +
"Choose the troops you want to build\n" +
"-----------------------------------\n" +
"1. Special Force - 100$\n" +
"2. Tank - 500$ \n" +
"3. F-32 - 1500$ \n" +
"--->");
troop = input.nextInt();
int amount,troopCount;
System.out.print("Number of Special Forces you want: ");
troopCount = input.nextInt();
amount = troopCount*100;
System.out.println("\nTotal: "+amount+"$\n" +
"Type 1 to conform: \n");
if (input.nextInt() ==1)
balance = balance-amount;
int X,Y;
do {
System.out.print("" +
"where do you want to deploy the troops? (Must deploy on own land!)\n" +
"Enter Y coordinate: ");
Y = input.nextInt();
System.out.println("\nEnter X Coordinate");
X = input.nextInt();
System.out.println(map[Y][X]+"This One"); //test code
if (varifyDeployment(map[Y][X])) {
if (troop==1) {
US_SpecialForce[Y][X] += troopCount;
System.out.println("Success!");
}
else if (troop ==2) {
US_Tank[Y][X] += troopCount;
System.out.println("Success!");
}
else if (troop == 3) {
US_Air[Y][X] += troopCount;
System.out.println("Success!");
}
}
else
System.out.println("Incorrect location, Try Again");
}while (!varifyDeployment(map[Y][X]));
displayMap(US_SpecialForce); //test code
}
}while (minimenu==5);
Спасибо
Используйте отладчик и выполните свой код. –
'do {...} while (b)' делает цикл один раз, а затем продолжает делать это, а 'b' -' true'. Если 'b' является' false', он прекращает выполнение цикла. Не могли бы вы понять, как это сработало? – ajb