瀏覽代碼

further writing on portfolio.tex

Noah Vogt 3 年之前
父節點
當前提交
f4b110d13e
共有 1 個文件被更改,包括 34 次插入0 次删除
  1. 34 0
      doc/portfolio.tex

+ 34 - 0
doc/portfolio.tex

@@ -283,6 +283,30 @@ JComponents
 \subsubsection{Datenklasse \texttt{Karte}}
 Um eine Sache in ein Datenobjekt zu übersetzen, muss man sich erst einmal überlegen, was für Eigenschaften eine Spielkarte so besitzt. Da wären zuerst die \textit{Kartenwerte} von 2 bis Ass und die sogenannten \textit{Kartenfarben} Pik, Karo, Herz und Kreuz. Mit diesen beiden Eigenschaften kann eine Karte \textit{eindeutig} definiert werden. Diese beiden Karteneigenschaften sollen dann dementsprechend Attribute der Klasse \texttt{Karte} sein.\\
 
+\begin{figure}[H]
+\lstset{language=java}
+\begin{lstlisting}
+    public class Karte {
+        public enum Farbe {
+            KREUZ, PIK, KARO, HERZ;
+        }
+
+        private static final int MIN_WERT = 2;
+        private static final int MAX_WERT = 14;
+
+        private int wert;
+        private Farbe farbe;
+\end{lstlisting}
+    \caption{Deklaration der Klasse \texttt{Karte} und deren Attributen}
+\end{figure}
+
+
+% \begin{figure}[H]
+%     \centering
+%     \includegraphics[width=.9\textwidth]{media/top-panel.jpg}
+%     \caption{Screenshot: Bottom Panel}
+% \end{figure}
+
 Da die Kartenfarbe nur vier feste, gleichwertige Werte annehmen kann, welche sich am besten durch ihren Namen referenzieren lassen, scheint hier die Nutzung eines \texttt{enum}s angebracht. Im Code sieht dass dann so aus:\\ % TODO: insert enum / Karte.java attributes lstlisting
 
 \lstset{language=java}
@@ -343,6 +367,12 @@ Die Kartenwerte bestehen ja aus \say{2}, \say{3}, \say{4}, \say{5}, \say{6}, \sa
     \caption{Screenshot: Bottom Panel}
 \end{figure}
 
+Das Panel besteht aus einem \texttt{JComponent} des Typs \texttt{JPanel}. Beginnend von links nach rechts sieht man zuerst ein \texttt{JLabel} mit dem Titel der App, \say{Mischmaschine}. Zum JLabel wurde auch noch ein Shuffle-Logo angefügt, passend zur Funktion des Programmes - dem zufälligen mischen.\\
+
+Als nächstes kommt der Misch-Button. Dieser sorgt dafür dass alle Karten - auch die welche sich auf einer anderen Seite befinden und somit nicht zu sehen sind - gemischt werden in dem die Funktion \texttt{KartenDeck.mischen()} aufgerufen wird. Dann wird der das Karten-Panel geupdated damit die Änderungen der Kartenreihenfolge sichtbar werden für den Nutzer.\\
+
+Der Reset-Button stellt die versetzt die App wieder in ihren Anfangszustand: Ein vollständiges, sortiertes Kartendeck wird angezeigt. Dazu wird das Kartendeck neu generiert mit der \texttt{KartenDeck.generateFullDeck}-Methode, und schliesslich das Kartenpanel geupdated.
+
 \subsubsection{Bottom Panel}
 \begin{figure}[H]
     \centering
@@ -350,6 +380,10 @@ Die Kartenwerte bestehen ja aus \say{2}, \say{3}, \say{4}, \say{5}, \say{6}, \sa
     \caption{Screenshot: Bottom Panel}
 \end{figure}
 
+Das Bottom-Panel hat links und rechts zwei Arrow-Buttons - des Typs \texttt{JButton} - mit der man zwischen den verschiedenen Seiten des Kartenpanels wechseln kann. Doch bevor diese gewechselt werden, wird geprüft ob es überhaupt nötig ist: Denn wenn man schon auf Seite 3 von 3 ist und auch den Pfeil nach rechts klickt, macht es ja keinen Sinn zu berechnen was auf Seite 4 ist und auf diese nichtexistente Seite zu wechseln.\\
+
+Zwischen diesen beiden Knöpfen sind noch zwei \texttt{JLabel} welche die ingesamte Anzahl der Karten anzeigt und die aktuelle resp. letztmögliche Seitenanzahl der Kartenanzeige.
+
 \subsubsection{Card Panel}
 \begin{figure}[H]
     \centering