kramann.info
© Guido Kramann

Login: Passwort:










Informatik3
1 Vom_struct_zur_Klasse
..1.1 Vom_struct_zur_Klasse
..1.2 struct_Programm
..1.3 Klassen_Programm
..1.4 Offene_Fragen
..1.5 Historie
..1.6 Objektabstraktion
..1.7 OO_Kundenverwaltung
..1.8 Objektfaehigkeiten
..1.9 Formatierung
..1.10 Motivation
..1.11 Uebung1
..1.12 Uebung2
2 UML
..2.1 Volumenberechnung
..2.2 UML_Klassendiagramm
..2.3 Konstruktor
..2.4 Statische_Variable
3 Strings
..3.1 Klassenbibliotheken
..3.2 stringUML
..3.3 Uebung3
4 Initialisierungen
4 bluej
5 Zeiger_und_Arrays
..5.1 Zeiger
..5.2 Zeiger_und_Funktion
..5.3 Uebung4
6 Vererbung
..6.1 MesswerteUML
..6.2 MesswerteProgramm
..6.3 VererbungsProgramm
..6.4 Vector
..6.5 Uebung
7 Modifikatoren
..7.1 public_Vererbung
..7.2 protected_Vererbung
8 Listen_und_Templates
..8.1 Containertypen
....8.1.1 ListeUML
....8.1.2 ListeProgramm
..8.2 Templates
....8.2.1 Listentemplate
....8.2.2 STLvectorTemplate
..8.3 Uebung5
..8.4 Uebung6
..8.5 Uebung7
9 Java
..9.1 Uebung
..9.2 GettingStarted
..9.3 Animation
..9.4 Hybrid
..9.5 Threads
10 Delegation
11 LayoutProjekt
12 Fenster
13 Uebung
14 Zwischenprojekt
..14.1 Befehle
..14.2 Planung
..14.3 JNI
..14.4 JNIumsetzen
..14.5 Anwendungsklasse
..14.6 GUI01
..14.7 GUI02
15 Rasterlayout
..15.1 Bilder_Packages
..15.2 interfaces
..15.3 ArrayList
..15.4 clone
..15.5 Uebung
16 Nuetzliches
..16.1 Threads
..16.2 Animation
..16.3 RungeKutta
..16.4 Loesungsansatz
..16.5 Internetprogrammierung
....16.5.1 Codegenerierung
....16.5.2 PHP_Programmierung
....16.5.3 PHP_OOP
....16.5.4 Java
17 Algorithmen
..17.1 RungeKutta
..17.2 Loesungsansatz
..17.3 Evoopt
..17.4 Uebung12
..17.5 Uebung8_2014
..17.6 Ausdruecke
18 Uebung10
19 UML_ALT
..19.1 Flaechenberechnung
..19.2 UML_Flaechenberechnung
..19.3 Implementierung
..19.4 ListeUML
..19.5 ListenImplementierung
..19.6 Anwendung

8.5 Übung 7

Übung zum 13.11.2014
Exercise on 13.11.2014
Ćwiczenie 13.11.2014

vorl_oop_2014_11_12.zip - Material aus der Vorlesung

musterloesungen_tictactoe.zip - Musterlösung zu Tic-Tac-Toe.

Aufgabe

task

zadanie

  • Analysieren Sie Strategie2.java (zip-File oben) - insbesondere die main-Methode zeigt, was das Programm kann.
  • Vervollständigen Sie die Methode int[] empfehleSpielzug(int[] feld, int dran) in Strategie2. Berücksichtigen Sie dabei die Kommentare im Quelltext.
  • Arbeiten Sie weiter an dem Tic-Tac-Toe-Spiel aus der vorangehenden Übung, aber trennen Sie nun Ihr Projekt auf in gui.GUI (Klasse GUI in Package gui), engine.Engine und strategie.Strategie.
  • Sollten jeweils Hilfsklassen für GUI, Engine, oder Strategie benötigt werden, so macht es Sinn, diese in das zugehörige Package einzufügen.

Was sollte die Klasse Engine können?

What should the Engine class do?

Co powinna zrobić klasa Engine?

  • Sie sollte den aktuellen Spielstand repräsentieren.
  • Sie sollte get-Methoden anbieten, um abzurufen, wer gerade dran ist, welche Plätze aktuell setzbar sind, ob das Spielfeld voll ist, ob einer der Parteien gewonnen hat.
  • Sie sollte Methoden anbieten, um einen Spielzug auszuführen.
  • Ein Konstruktor sollte Engine neu initialisieren, so, dass das Engine-Objekt in einem spielbaren Zustand ist.
  • Unter Verwendung eines Strategie-Objekts sollte Engine den nächsten Computer-seitigen Zug ausführen können.

Empfehlenswert wäre, sich UML-Klassendiagramme der zu entwickelnden Klassen aufzuzeichnen, um einen besseren Überblick zu gewinnen.

It would be advisable to record UML class diagrams of the classes to be developed in order to gain a better overview.

Byłoby wskazane, aby rejestrować diagramy klas UML dla klas, które mają zostać opracowane, aby uzyskać lepszy przegląd.