Cześć,
piszę na zaliczenie karcianą grę w wojnę w Javie. Moja klasa main wygląda jak poniżej i pytanie jest dosyć banalne, ponieważ przy wykonywaniu wyświetlają się komunikaty z obu "if-ów". Dlaczego tak się dzieje i jak mogę to rozwiązać?
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
int[] punkty = { 0, 0 };
Talia player1 = new Talia();
Talia player2 = new Talia();
System.out.println(player1.getList1());
System.out.println(player2.getList());
ArrayList<Karta> myArray = player1.toArray();
ArrayList<Karta> myArray2 = player2.toArray2();
int i=0;
while(!myArray.isEmpty() || !myArray2.isEmpty())
{
System.out.println(myArray.get(i) + " - " + myArray2.get(i));
if (myArray.get(i).getKartaWartosc().getWartosc() > myArray2.get(i).getKartaWartosc().getWartosc())
{
System.out.println("Gracz 1 wygrał");
punkty[0]++;
myArray.add(myArray.get(i));
myArray.add(myArray2.get(i));
myArray.remove(myArray.get(i));
myArray2.remove(myArray2.get(i));
}
if (myArray.get(i).getKartaWartosc().getWartosc() < myArray2.get(i).getKartaWartosc().getWartosc())
{
System.out.println("Gracz 2 wygrał");
punkty[1]++;
myArray2.add(myArray.get(i));
myArray2.add(myArray2.get(i));
myArray.remove(myArray.get(i));
myArray2.remove(myArray2.get(i));
}
if (myArray.get(i).getKartaWartosc().getWartosc() == myArray2.get(i).getKartaWartosc().getWartosc())
{
System.out.println("Remis");
myArray.add(myArray.get(i));
myArray2.add(myArray2.get(i));
myArray.remove(myArray.get(i));
myArray2.remove(myArray2.get(i));
}
}
System.out.println("Mamy to!");
}
}
Z góry dziękuję za odpowiedź :)