/*********************************************************************** * Projekt: Javakurs-Scheinaufgabe "Kartenspiel" * Filename: ComputerSpieler.java * Autor: Hartmut Keller * Datum: Freitag, 17. Oktober 1997, 17:39:39 **********************************************************************/ /** * @author Hartmut Keller * Verwaltung des automatischen Computerspielers im Kartenspiel. Die * Spielkarten werden entgegengenommen und gemerkt. Bei Aufforderung wird * eine zufaellige Karte ausgewaehlt. */ public class ComputerSpieler { Spielkarte handkarten[] = new Spielkarte[9]; int aufDerHand=0; Tisch tisch; /** * Erzeugen des Computerspielers. * @param t Tisch-Objekt, auf das die Karten gelegt werden */ public ComputerSpieler(Tisch t) { tisch = t; } /** * Aufnehmen einer Karte auf die Computerhand. Diese Karte wird einfach * nur gemerkt. */ public void nehmeAuf(Spielkarte k) { handkarten[aufDerHand++] = k; } /** * Ein Zug soll ausgefuehrt werden. Aus den Handkarten des Computers * wird zufaellig eine Karte ausgewaehlt und auf den Tisch gelegt. * @return true, wenn das Spielende erreicht ist. */ public boolean ziehen() { Spielkarte zugKarte; int i = (int)(Math.random()*aufDerHand); zugKarte = handkarten[i]; handkarten[i] = handkarten[--aufDerHand]; return tisch.legeComputerkarte(zugKarte); } /** * Abbrechen des Spiels. Die Handkarten werden vergessen. */ public void abbrechen() { aufDerHand=0; } }