// Metoden updateLabels - Uppdaterar labels med vems tur det är samt poängställningen public void updateLabels(boolean in) { for (int i = 0; i < players.size(); i++) { // Om spelaren vars tur det är väljer rätt kort ges en poäng, och spelaren får försöka en gång // till if (players.get(i).myTurn && in) { players.get(i).score++; scorelabels.get(i).setText(players.get(i).score + ""); // Om det finns kort kvar, starta AIHandlern för att eventuellt AI ska göra sitt drag if (isCards()) { AIh.interrupt(); } else { this.dispose(); new Scorelist(players); } break; } // Om spelaren vars tur det är väljer fel kort blir det nästa spelares tur else if (players.get(i).myTurn && !in) { players.get(i).myTurn = false; players.get((i + 1) % players.size()).myTurn = true; playerlabels.get(i).setForeground(Color.BLACK); playerlabels.get((i + 1) % players.size()).setForeground(Color.GREEN); // Starta AIHandlern AIh.interrupt(); break; } } }
public Memory(LinkedList<Player> players) { super("Memory -"); this.players = players; makeBoard(); this.add(panel); this.setVisible(true); this.setSize(640, 720); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Ger den första spelaren turen players.get(0).myTurn = true; playerlabels.get(0).setForeground(Color.GREEN); // Startar endast tråden för AI-hantering om det finns något AI med i spelet for (int i = 0; i < players.size(); i++) { if (players.get(i).getClass() == ai.getClass()) { AIh.start(); break; } } }