• Keine Ergebnisse gefunden

Dr. Johannes Mayer Abteilung Angewandte Informationsverarbeitung 4. Mai 2005

N/A
N/A
Protected

Academic year: 2021

Aktie "Dr. Johannes Mayer Abteilung Angewandte Informationsverarbeitung 4. Mai 2005"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Dr. Johannes Mayer Abteilung Angewandte Informationsverarbeitung 4. Mai 2005

Hans Braxmeier Blatt 1

Ralph Guderlei

UNI VE RS I T Ä T UL

M

·S

CIE

D N O DO · CE O ND C · R U

DNA

O

·

Design und Architektur von Softwaresystemen (SS 2005)

Abgabetermin: 13. Mai 2005

1 Vier gewinnt (10 Punkte + 5 Zusatzpunkte)

Spielregeln

Das reale Spielbrett steht aufrecht und besteht aus sieben Sch¨achten, die jeweils sechs Steine aufnehmen k¨onnen. Wird ein Stein eingeworfen, f¨allt er bis auf die tiefste noch freie Position.

Ziel des Spiels 4-Gewinnt ist es, als erster von zwei Spielern vier Steine in einer Reihe, einer Spalte oder in einer Diagonalen zu bekommen. Dazu werfen die Spieler jeweils abwechselnd einen Stein ihrer Farbe in einen der sieben Sch¨achte. Der gew¨ahlte Schacht darf nat¨urlich noch nicht voll sein. Ist kein Schacht mehr frei und hat kein Spieler einen Vierer gebaut, geht das Spiel unentschieden aus.

Teilaufgabe a) (10 Punkte)

Schreiben Sie f¨ur 4-Gewinnt ein objektorientiertes Programm und implementieren Sie hierzu

eine geeignete grafische Oberfl¨ache. Das Spielfeld soll dabei aus einzelnen Zellen bestehen, wo-

bei alle ¨ubereinanderliegenden Zellen zu einer Spalte geh¨oren. Erstellen Sie eine Klasse f¨ur die

(2)

Zellen und f¨ur das Spielfeld. In der Klasse Spielfeld sollen fehlerhafte Spielz¨uge (z.B. Spalte ist bereits voll) abgefangen werden und es soll ¨uberpr¨uft werden, ob ein Spieler bereits gewonnen hat. Eine weitere Klasse soll die Spiellogik (welcher Spieler ist am Zug) implementieren, d.h. die Kontrolle ¨uber den Spielfluß ¨ubernehmen. Es gen¨ugt wenn beide Spieler abwechselnd Steine set- zen k¨onnen bzw. ein Computergegner aus den noch freien Spalten zuf¨allig eine ausw¨ahlt und ein Steinchen setzt, ohne auf die Konsequenzen zu achten. Verwenden Sie f¨ur die Implementierung der grafischen Oberfl¨ache das Swing-Interface.

Teilaufgabe b) (5 Zusatzpunkte)

Erweitern Sie Ihr Programm so, daß Sie gegen einen intelligenten Computerspieler spielen k¨onnen, der seine Z¨uge anhand eines Spielbaums ausw¨ahlt.

Hierbei soll bei jedem Spielzug des Computers ein Spielbaum der Zugm¨oglichkeiten bis zu einer Tiefe k aufgebaut werden, wobei k die Schwierigkeitsstufe darstellt. In den Bl¨attern wird die jeweilige Spielsituation mittels einer Bewertungsfunktion analysiert. Der Wert, den diese Funktion ermittelt gibt an, wie gut oder schlecht die Lage f¨ur den Computer ist. Durch Minima- und Maximaberechnungen kann anschließend entschieden werden, welcher Zug f¨ur den Computer am Besten ist. Testen Sie Ihre Strategie, indem Sie ihre Programme gegeneinander antreten lassen.

Viel Erfolg!

Referenzen

ÄHNLICHE DOKUMENTE

Zweck einer solchen Map ist, eine Menge von Schlüssel-Werte-Paaren so zu verwalten, dass jederzeit ein neuer Wert mit einem Schlüssel assoziiert werden sowie der zu einem

(b) Erweitern Sie Ihr Programm so, dass die Größe (in Bytes) aller darin enthaltenen regu- lären Dateien ausgelesen werden und eine Häufigkeitsverteilung über die Anfangszif-

Unser find soll als Programmoptionen eine beliebige Zahl von Bedingungen (auch: Prä- dikaten), gefolgt von einer beliebigen Zahl von Verzeichnissen entgegennehmen und alle Dateien

derzeitiges Hoechstgebot (Frank Reich um 10:25:55): 3.12 Euro Gebot (in Cent) eingeben oder <ENTER> fuer Aktualisierung: 517 Gebot liegt nicht ueber aktuellem

Gesamtkosten = Fixkosten der Abteilung + Verdienst der Angestellten + Zus¨atzlich er- brachte Leistungen ( ¨ Uberstunden der Angestellten * halber Stundenlohn). • Abteilung

M¨ochte ein Spieler gegen einen anderen Spieler antreten und es gibt bereits wartende Spieler, so werden diese angezeigt und der Spieler kann sich einen Gegenspieler aussuchen –

• Wird die Frage falsch beantwortet, ist das Spiel vorbei und der Kandidat erh¨alt 0, 500 oder 16000 Euro (je nachdem ob er gerade eine der ersten, der mittleren oder der

Implementieren Sie nun noch einen etwas sinnvolleren eigenen Layout-Manager names Table- Layout, bei dem man die Aufteilung des freien Platzes f¨ur die Spalten und Zeilen ¨uber