\documentclass[]{schuleab}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}

% Dieses Dokument ist in der Zusammenarbeit von Informatikreferendaren und
% ehemaligen Informatikreferendaren der Studienseminare (heute ZfsL) Arnsberg,
% Hamm und Solingen entstanden.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
%
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben
% und auf die ursprünglichen Urheber verwiesen wird.
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen.
%
% Die Namensnennung durch einen Verweis und die Lizenzangabe der ursprünglichen
% Urheber auf den Materialien für Schülerinnen und Schüler ist erforderlich.
%
% Die Sammlung der Dokumente steht unter
% http://ddi.uni-wuppertal.de/material/materialsammlung/
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter  http://www.ctan.org/pkg/schule
% zur Verfügung.

\usepackage[pdfauthor={Referendare der Informatikfachseminare Arnsberg, Hamm und Solingen}]{hyperref}
\includexmp{lizenz}
\cclizenz{byncsaeu}
\footerQRLink{materialsammlung_qr_url.pdf}

\svnid{$Id: ab_06_methoden_spiel.tex 1466 2016-03-24 23:20:17Z pieper $}

\dokName{Methoden von Klassen}
\jahrgang{EF}

\def\bodydir{./}

\begin{document}

\section*{Methoden der Klasse Spiel}

Neben den bisher entwickelten Methoden, die Attributwerte verändern 
(\texttt{setze\ldots}) oder zurückgeben (\texttt{gib\ldots}), sollen noch 
weitere Methoden definiert werden.
(Um den Sieger des Turniers ermitteln zu können, könnte es 
beispielsweise hilfreich sein, zunächst festzustellen, welche 
Mannschaft ein einzelnes Spiel gewonnen hat.)

Ein Objekt der Klasse \texttt{Spiel} soll wie folgt erstellt werden können:
\begin{center}
 \texttt{spielAB = Spiel(\diastring{09:45}, \diastring{10:15}, halleA, dieKaengurus, dieNowitzkis)}
\end{center}

\texttt{halleA}, \texttt{dieKaengurus} und \texttt{dieNowitzkis} sind die 
Objekte, mit denen das Spiel \texttt{spielAB} in Beziehung steht.

Die Klasse \texttt{Spiel} soll folgende Vorgaben erfüllen:
\begin{itemize}
 \item Der Konstruktor soll (wie oben angegeben) bereits die Werte für 
   \texttt{beginn}, \texttt{ende}, \texttt{ort}, \texttt{mannschaftA} und 
   \texttt{mannschaftB} als Attributwerte eintragen.
 \item Eine Methode \texttt{ergebnisEintragen(\ldots)} soll das Spielergebnis 
  eintragen, sobald das Spiel stattgefunden hat. 
  Argumente sind \texttt{punkteA} und \texttt{punkteB}, also etwa \\ 
  \texttt{spielAB.ergebnisEintragen(32, 20)}.
 \item Die Methoden \texttt{gibSieger()}, \texttt{gibVerlierer()}, 
  \texttt{gibPunkteSieger()} und \texttt{gibPunkteVer\-lierer()} sollen die 
  siegreiche bzw. unterlegene Mannschaft und die erzielte Punktzahlen 
  zurückgeben.
\end{itemize}

\subsection*{Arbeitsaufträge}

\begin{enumerate}	
	\item \label{A1}  Überarbeiten Sie den Konstruktor (also die Methode: \texttt{def \_\_init\_\_}) Ihrer Klasse \texttt{Spiel} so, dass er die oben angegebenen Vorgaben erfüllt. 

	\textbf{Tipp:} Da die Punkte erst nachträglich über einen Methodenaufruf eingetragen werden,  sollte im Konstruktor die Punktzahl jeder Mannschaft auf -1 gesetzt werden. So kann im Programm erkannt werden, ob schon ein Ergebnis eingetragen wurde oder nicht (0:0 wäre ja je nach Sportart ein mögliches Ergebnis). 

\item \label{A2}  Überarbeiten Sie die bereits erzeugten Objekte der Klasse \texttt{Spiel} in ihrem Programm so, dass diese dem neuen Konstruktor aus Aufgabe~\ref{A1}  angepasst sind und damit die jeweiligen Mannschaften und Hallen mit den Spielen verknüpft sind.  
	
\item \label{A3}  Erstellen Sie innerhalb der Klasse \texttt{Spiel} die Methode \texttt{ergebnisEintragen()}. Achten Sie auf die korrekten Einrückungen und die korrekte Verwendung der Attributbezeichner für die jeweiligen Punkte aus dem Konstruktor. 

\item \label{A4}  Aktivieren Sie für alle Spiel-Objekte die Methode \texttt{ergebnisEintragen(\ldots)}  und tragen Sie die von Ihnen gewählten Ergebnisse für alle Spiele ein. 

\item \label{A5}  Diskutieren Sie in Ihrer Gruppe, wie die Methode \texttt{gibSieger()} eines Spiels umgesetzt werden könnte, nachdem die Punkte eingetragen wurden. Notieren Sie in einer Folge von umgangssprachlichen Anweisungen, welche Schritte das Programm umsetzen müsste. 
\end{enumerate}


\end{document}

