Seite 1 von 1

Zusätzliche Methoden für CPU-Spieler

Verfasst: 23. Jun 2012 21:49
von henry
Ist es möglich für die Abgabe oder den Programmierwettbewerb (vor allem) in der Klasse Kartenhand zusätzliche Methoden zu implementieren? Dass man jedes Element mit einem getter-Befehl aufrufen muss ist schon sehr umständlich.

Re: Zusätzliche Methoden für CPU-Spieler

Verfasst: 23. Jun 2012 23:03
von snoo
Für das Programmierprojekt brauchst (oder darfst?) du keine zusätzlichen Methoden implementieren. Die in der Aufgabenstellung angegebenen Methoden reichen doch völlig. Mir ist keine Stelle bekannt, die mir unnötig umständlich erschien.
Wie das beim Wettbewerb aussieht weiß ich nicht, kann mir aber vorstellen, dass es aus Gründen der Fairness nicht erlaubt ist bzw. die Bots dann gar nicht erst "kompatibel" zueinander wären und gegeneinander antreten könnten.

Re: Zusätzliche Methoden für CPU-Spieler

Verfasst: 24. Jun 2012 09:21
von henry
Es ist halt nervig, jedes mal, wenn der Bot dran ist, die Gettermethoden zu bemühen um die Karten der Hand und ihre Position in eine Map zu schreiben, damit man damit direkt arbeiten kann. Da man die Hand immer als ganzes braucht, wäre am besten, wenn man direkt eine entsprechende Datenstruktur (Collection) von der Klasse Kartenhand bekommen würde. Desweiteren würde es das löschen vereinfachen, wenn man statt der Position der Karte einfach die Karte übergibt und diese dann "abgelegt" wird.

Natürlich kann man mit den Methoden auskommen, aber ein paar zusätzliche würden einen die Arbeit deutlich vereinfachen. :mrgreen:

Re: Zusätzliche Methoden für CPU-Spieler

Verfasst: 24. Jun 2012 21:26
von henry
Beim Ideen-Ausarbeiten sind mir noch ein paar Sachen aufgefallen:
Ein menschlicher Spieler weiß sowohl wie viele Spieler in der Runde sind, als auch wer gerade an der Reihe ist und wer anfängt. Ein Bot weiß das leider nicht, man könnte es nur durch Methoden abschätzen, die allerdings durch Sonderkarten, wie die 8, die 7 oder Ass einerseits schwierig zu implementieren sind, andererseits nicht unbedingt zum gewünschten Erfolg führen.
Könnte man nicht für den Wettbewerb die Klasse MauMau um genau jene Methoden erweitern, die einen diese Dinge zurückmelden? Als Variablen in der Klasse MauMau sind diese Sachen ja schon verfügbar und auf der Konsole werden die entsprechenden Dinge (teilweise) auch ausgegeben.

Interessant wären:
List<Spieler> Spieler; Die Liste der Mitspieler (aber bitte mit leeren Kartenstapeln)
int anDerReihe also eigentlich nur der Spieler, der das Spiel beginnt

Zum Ablauf des Wettbewerbs:

Werden die Bots eigentlich nur im "Heads-Up", also im direkten Vergleich getestet oder liefern sich auch mehrere Bots eine Massenschlacht? Oder werden sogar alle Möglichkeiten die Bots in unterschiedlich großen Runden gegen unterschiedlichste Gegner anlaufen zu lassen ausgeschöpft?

Re: Zusätzliche Methoden für CPU-Spieler

Verfasst: 25. Jun 2012 14:56
von Owyn
Hallo,

wir werden leider keine weiteren Methoden für den Contest bereitstellen.

Natürlich wäre das an einigen Stellen hilfreich, aber sooo umständlich sind die Workarounds ja trotzdem nicht.

Die Liste der Mitspieler erübrigt sich für den zu schreibenden Bot: Es wird nur im Zwei-Spieler-Modus (One-on-One, Heads-Up...) gespielt.

Gruß,
Christian Heinig