Mam projekt dla mojej klasy informatyki i robimy pancernik. Częścią programu jest to, że upewniamy się, że utwór, który gracz kładzie, nie wychodzi z planszy.Tworzenie programu powtórzyć w sobie, ale nie można wykonać metody (?): Java
Zrobiłem sposób sprawdzić, czy zgaśnie Zarządu:
private static boolean test(String s, int row, int column,int spaces)
{
if(s.equals("right")&&column+5<=10)
{
return true;
}
if(s.equals("up")&&row-spaces>=0)
{
return true;
}
if(s.equals("left")&&column-spaces>=0)
{
return true;
}
if(s.equals("Down")&&row+spaces<=10)
{
return true;
}
return false;
}
Ale gdy stałam się go wydrukować komunikat o błędzie, nie jestem pewien, jak zrobić tak, aby program mógł ponownie otrzymać nową pozycję dla utworu, bez umieszczania wyrażenia if w i jeśli instrukcja w instrukcji if (i tak dalej), ponieważ musisz sprawdzić nową pozycję, aby upewnić się, że tak nie jest " t zejść z planszy.
Oto część, w której pojawia się położenie kawałka gry (chociaż nie sądzę, jest to potrzebne)
Scanner sonic= new Scanner(System.in);
System.out.println("Please input the row where you want the aircraft carrier (5 spaces) to begin: ");
int beginrow = sonic.nextInt();
System.out.println("Please input the column where you want the aircraft carrier (5 spaces) to begin: ");
int begincolumn = sonic.nextInt();
System.out.print("Please input what direction (up, down, left, right) \nyou want your battle ship to face, making sure it doesn't go off of the board.");
String direction = sonic.next();
A oto jeden z if że używam do sprawdzenia/umieść sztuk
if(direction.equals("left")&&test("left",beginrow,begincolumn,5))
{
for(int i = beginrow; i>beginrow-5; i--)
{
battleship[begincolumn-1][i-1] = ('a');
}
}
else if(!test("left",beginrow,begincolumn,5))
{
System.out.println(" ");
System.out.println("*****ERROR: your piece goes off the board, please re-enter your position and direction*****");
}
Może to być duplikat, ale nie wiedziałem, jak zmienić moje wyszukiwanie, aby znaleźć to, co chciałem. (Więc jeśli ktoś może skierować mnie do właściwego artykułu, że byłoby miło, jak również)
Korzystanie z pętli? 'for',' do' lub 'do' /' while'? –
Co naprawdę chcesz zrobić, to: Kontynuuj prosić o dane wejściowe użytkownika, dopóki nie będzie ono ważne. Pętla 'do' /' while' to naturalne dopasowanie do takiego zadania. – Hulk