diff --git a/aufgabe/.gitignore b/aufgabe/.gitignore new file mode 100644 index 0000000..6a7636c --- /dev/null +++ b/aufgabe/.gitignore @@ -0,0 +1,7 @@ +*.aux +*.dvi +*.log +*.out +*.ps +*.tex.* +*.tex~* diff --git a/aufgabe/aufgabe.pdf b/aufgabe/aufgabe.pdf new file mode 100644 index 0000000..00ba9e4 Binary files /dev/null and b/aufgabe/aufgabe.pdf differ diff --git a/aufgabe/aufgabe.tex b/aufgabe/aufgabe.tex new file mode 100644 index 0000000..d6b5add --- /dev/null +++ b/aufgabe/aufgabe.tex @@ -0,0 +1,155 @@ +\documentclass[12pt,a4paper]{article} + +\usepackage[T1]{fontenc} +\usepackage[utf8x]{inputenc} +\usepackage{ngerman} + +% Package for typesetting chess games. +% http://tug.ctan.org/pkg/skak +% http://tug.ctan.org/tex-archive/fonts/chess/skak/doc/skakdoc.pdf +% http://tug.ctan.org/tex-archive/fonts/chess/skak/doc/refman.pdf +\usepackage[ps,small]{skak} + +\setlength{\parindent}{0mm} +\setlength{\textwidth}{150mm} +\setlength{\textheight}{260mm} +\setlength{\topmargin}{-20mm} +\setlength{\oddsidemargin}{0mm} + +\usepackage[pdfborder={0 0 0}]{hyperref} + +\pagestyle{empty} + +\begin{document} + +\begin{flushright} + \begin{large} + \textbf{\textsc{Fachpraktikum Visualisierung und interaktive Systeme}}\\ + \bigskip + \textbf{WS 2008/09} \\ + \bigskip + \textbf{Aufgabe 5: ``Torus Chess''} \\ + \end{large} + \bigskip + + Stefan Bühler +\end{flushright} +\hrule + +%%%%%%%%%%%%%%%%%%%%% Themen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section*{Thema} + +Torus Chess ist eine Variante des normalen Schachspiels, bei der das +Schachfeld oben und unten sowie links und rechts wiederholt wird. Es +kann also mit den Figuren unten aus dem Schachfeld heraus gelaufen werden, +in dem sie oben wieder eingesetzt werden. + +Der Name "`Torus Chess"' kommt daher, dass man dieses Feld auf einen Torus abbilden +kann, auf dem die Übergänge intuitiv klar werden. + +Zusätzlich gibt es ein paar kleine Änderungen: +\begin{itemize} + \item Die Bauern können nur waagrecht und senkrecht laufen und nur diagonal schlagen. + \item Es gibt kein \textit{en passant} schlagen. + \item Es wird folgende Startaufstellung verwendet: +\end{itemize} +\fenboard{npr5/bkq5/rpn5/8/4RPN1/4QKB1/4NPR1/8 w - - 0 0} +\centerline{\showboard} + +In dieser Stellung könnte der weiße Läufer auf {\tt g2} folgende Felder erreichen:\\ +\centerline{\showboard} +\highlight[o]{a1,a5,b6,b8,h2,h4} + +%%%%%%%%%%%%%%%%%%%%%% Aufgabenstellung %%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage + +\section*{Aufgabenstellung} + +Es soll "`Torus Chess"' grundlegend implementiert werden; diese Implementation +sollte unabhängig von einer grafischen Darstellung sein. + +Zusätzlich ist die Implementation einer KI gewünscht, die nicht besonders kompex +sein muss, da das Spiel für Menschen unübersichtlich genug ist... + + +%%%%%%%%%%%%%%%%%%%% Ziele %%%%%%%%%%%%%%%%%%%%%%%% + +\section*{Ziele} + +\begin{itemize} + \item Funktionierende Spiellogik + \item Künstliche Intelligenz +\end{itemize} + +Für die Darstellung sind mehrere Varianten zu implementieren: +\begin{itemize} + \item Eine zweidimensionale Darstellung des Schachbretts; das Schachbrett soll dabei + in alle Richtungen wiederholt werden, damit der menschliche Spieler mehr Übersicht hat. + + Dazu soll der Zoom-faktor mit dem Mausrad einstellbar sein. + \item Eine dreidimensionale Darstellung des Schachbretts (Torus). Obwohl diese Darstellung + für Menschen eher ungeeignet sein wird (da sie zuwenig vom Feld sehen), + ist diese Darstellung für das Verständnis des Bretts wichtig. + \item Zweidimensionale Figuren + \item Dreidimensionale Figuren +\end{itemize} + +%%%%%%%%%%%%%%%%%%%% Lituraturliste %%%%%%%%%%%%%%%%%%%%%%%% + +\section*{Referenzen} + +Existierende Implementationen: +\begin{itemize} + \item \url{http://corpsman.de.vu/} \\ + \url{http://apache.vm-cluster.net/corpsman/index.php?doc=projekte/torus_chess} + \item \url{http://www-user.tu-chemnitz.de/~wend/Skripte/games/Chess.html} +\end{itemize} + +Vorlagen für die Schachfiguren: +\begin{itemize} + \item \url{http://en.wikipedia.org/wiki/Template:Table_chess_pieces} +\end{itemize} + + +%%%%%%%%%%%%%%%%%%%% Bewertungsliste %%%%%%%%%%%%%%%%%%%%%%%% + +\newpage + +\section*{Bewertungsliste} + +Die insgesamt 20 Punkte für diese Aufgabe werden nach folgenden +Kriterien verteilt: + +{\bf Vorgegebene Kriterien} + +%% +%% es lohnt sich nicht, hier etwas zu aendern... +%% + +\begin{tabular}{lp{11cm}} +1 Punkt & Das eingereichte Konzept ist originell. Die Originalit"at + wird anhand zweier hochaufgel"oster Screenshots des fertigen + Produkts veranschaulicht.\\[1ex] +1 Punkt & Der Code ist gut dokumentiert und gut strukturiert. \\[1ex] +1 Punkt & Das {\tt proposal.tex} entspricht die Anforderungen. \\[1ex] +1 Punkt & Die {\tt README}-Datei enth"alt einen Abschnitt {\em + MANUAL} der die genaue Benutzung des Programms beschreibt. \\[1ex] +1 Punkt & Die {\tt README}-Datei enthält einen Abschnitt {\em + IMPLEMENTIERUNG} der die wichtigen Implementierungsaspekte beschreibt. \\[1ex] +\end{tabular} + +{\bf Selbstdefinierte Kriterien} + +%% +%% hier dagegen schon... +%% + +\begin{tabular}{lp{11cm}} +x Punkte & 1ste \\[1ex] +x Punkte & 2te \\[1ex] +x Punkte & \ldots \\[1ex] +\end{tabular} + +\end{document}