2009-01-06 22:07:31 +00:00
|
|
|
\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.
|
2009-01-09 11:44:11 +00:00
|
|
|
\item Es gibt keine \textit{Rochade}.
|
|
|
|
\item Es gibt keine Umwandlung von Bauern auf der gegnerischen Grundlinie.
|
2009-01-06 22:07:31 +00:00
|
|
|
\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.
|
2009-01-09 12:07:05 +00:00
|
|
|
\item Eine dreidimensionale Darstellung des Schachbretts als Torus Obwohl diese Darstellung
|
2009-01-06 22:07:31 +00:00
|
|
|
für Menschen eher ungeeignet sein wird (da sie zuwenig vom Feld sehen),
|
2009-01-09 12:07:05 +00:00
|
|
|
ist diese Darstellung für das Verständnis des Bretts wichtig
|
|
|
|
\item Eine dreidimensionale Darstellung des flachen, unendlich wiederholten Schachbretts mit
|
|
|
|
modifizierbarer Kamera.
|
2009-01-06 22:07:31 +00:00
|
|
|
\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:
|
|
|
|
|
|
|
|
\begin{tabular}{lp{11cm}}
|
2009-01-09 13:58:01 +00:00
|
|
|
2 Punkte & Der Code ist gut dokumentiert und gut strukturiert. \\[1ex]
|
|
|
|
2 Punkte & Spiel logik \\[1ex]
|
2009-01-09 12:07:05 +00:00
|
|
|
2 Punkte & Computergegner \\[1ex]
|
|
|
|
2 Punkte & 2d Feld \\[1ex]
|
2009-01-09 13:58:01 +00:00
|
|
|
1 Punkt & Extra Textur für Schachbrett \\[1ex]
|
2009-01-09 12:07:05 +00:00
|
|
|
2 Punkte & 3d Torus \\[1ex]
|
2009-01-09 13:58:01 +00:00
|
|
|
1 Punkt & Umgebungseffekte für die Torus ansicht \\[1ex]
|
2009-01-09 12:07:05 +00:00
|
|
|
2 Punkte & 3d Feld \\[1ex]
|
|
|
|
1 Punkte & 2d Figuren \\[1ex]
|
2009-01-09 13:58:01 +00:00
|
|
|
1 Punkt & Loader für externe 3d Figuren \\[1ex]
|
2009-01-09 12:07:05 +00:00
|
|
|
2 Punkte & 3d Figuren \\[1ex]
|
2009-01-09 13:58:01 +00:00
|
|
|
2 Punkte & Weitere Effekte in der 3d Ansicht \\[1ex]
|
2009-01-06 22:07:31 +00:00
|
|
|
\end{tabular}
|
|
|
|
|
|
|
|
\end{document}
|