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.4 Übung 5

Übung zum 06.11.2014
Exercise on 06.11.2014
Ćwiczenie w dniu 06.11.2014
vorl_oop_2014_11_05.zip - Material aus der Vorlesung

In der Vorlesung wurde ein umfangreicheres Programmierprojekt in Java begonnen: Die Programmierung eines Tic-Tac-Toe-Spiels, das letzten Endes gegen den Computer gespielt werden können soll.

The lecture started a more extensive programming project in Java: Programming a tic-tac-toe game that ended up against the Computer should be able to play.

Wykład rozpoczął bardziej rozbudowany projekt programowania w Javie: Programowanie gry Tic-Tac-Toe, która zakończyła się przeciwko Komputer powinien być w stanie grać.

Teilweise wurden Elemente im Vorgriff verkürzt behandelt, die dann erst im weiteren Verlauf der Vorlesung noch einmal in ausführlicher Version aufgegriffen werden. - Dies soll insbesondere zur besseren Motivation von deren Einführung dienen.

Some of the elements were shortened in anticipation, which then only in the further course of the lecture will be revisited in detail. - This is to serve in particular for the better motivation of their introduction.

Niektóre elementy zostały skrócone w oczekiwaniu, które następnie tylko w dalszy przebieg wykładu zostanie szczegółowo omówiony. - Ma to służyć w szczególności lepszej motywacji do ich wprowadzenia.

Aufgabe

task

zadanie

Erstellen Sie eine Basisversion von Tic-Tac-Toe auf der Grundlage der zur Verfügung gestellten Mittel.

Build a basic version of Tic-Tac-Toe based on the available provided funds.

Zbuduj podstawową wersję Kółko i krzyżyk na podstawie dostępnego dostarczone fundusze.

Um passende Methoden zu finden, sollte reger Gebrauch der Referenzen gemacht werden (API-Dokumentation).

In order to find suitable methods, brisk use of the references should be made (API documentation).

W celu znalezienia odpowiednich metod należy dokonać szybkiego wykorzystania referencji (dokumentacja API).

Der Weg zur Basisversion sollte so beschaffen sein, dass aus jedem Schritt ein funktionierendes Programm resultiert (agiler Ansatz). Dies ist im folgenden in Form nacheinander zu erreichender Teilziele formuliert, wobei die Angabe ticxxx einfach den Ordner bezeichnet, in dem das BlueJ-Projekt steht. Jedes Nachfolgeprojekt beginnt in einer Kopie des Vorgängerprojektes:

The path to the basic version should be such that every step a functioning program results (agile approach). This is formulated below in the form of successive to be achieved sub-goals, wherein the statement ticxxx simply designates the folder in which the BlueJ project is located. Each follow-up project begins in a copy of the previous project:

Ścieżka do wersji podstawowej powinna być taka, że ​​każdy krok funkcjonujące wyniki programu (podejście zwinne). Zostało to sformułowane poniżej w postaci następujących po sobie następujących celów cząstkowych, w których specyfikacja ticxxx po prostu określa folder, w którym znajduje się projekt BlueJ. Każdy kolejny projekt rozpoczyna się w kopii poprzedniego projektu:

  1. tic001 Fenster mit animiertem Ball und Mausklickreaktion (Ausgangspunkt, s. Vorlesungsmaterial)
  2. tic002 Raster für Tic-Tac-Toe wird angezeigt.
  3. tic003 Beim Hineinklicken in das Raster werden abwechselnd Kreuze und Kreise eingezeichnet und bleiben dort auch sichtbar.
  4. tic004 Programm reagiert nicht, wenn in ein bereits belegtes Feld geklickt wird.
  5. tic005 Programm erkennt nach einem Klick, ob der der gerade dran war gewonnen hat und ob alle Felder voll sind (unentschieden) und zeigt beides auf geeignete Weise an.
  6. tic006 Verbesserung der Programmarchitektur durch Trennen in GUI-Teil / Package und Logikteil / Package.
  7. tic007 Variante, bei der gegen den Computer gespielt wird. Dieser macht regelgerechte Zufallszüge (s. Klasse java.util.Random).
  8. tic008 Computer spielt optimal, d.h. er führt immer den in der jeweiligen Situation besten Zug aus.
  9. tic009 Es gibt Menüpunkte für Spielstart / Neustart / Zu zweit spielen, oder gegen den Computer.
Arbeiten Sie am besten gemeinsam in Gruppen, um das grundsätzliche Vorgehen zu diskutieren und dann alleine aber im informativen Austausch, um das Konzept umzusetzen.
Work best together in groups to discuss the basic approach and then alone in informative exchange to implement the concept.
Pracuj najlepiej razem w grupach, aby omówić podstawowe podejście, a następnie samodzielnie w wymianie informacji, aby wdrożyć tę koncepcję.