\chapter{Work progression}

\section{Zuul bad}





\section{Zuul better v1}

\subsection{printLocationInfo}

This code duplication has been previously avoided with the printRoomInfo()
method.
It has been renamed to printLocationInfo(), as part of the commit e52a34789, to
match the exercise.

\subsection{getExit}

\subsection{getExitString}

\subsection{HashMap, setExit}

\subsection{Vertical direction}

\subsection{keySet}

\subsection{getExitString ?}

\subsection{getLongDescription}

\subsection{Object diagram}

\subsubsection{Changes on execution}


\section{Zuul with features}

\subsection{look}

\subsection{eat}


\section{Zuul better v2}

\subsection{showAll, showCommands}

\subsection{Adding commands}

\subsection{getCommandList}

\subsection{Comparison with reference}

\subsection{StringBuilder}

\subsection{Room objects}


\section{Zuul with images}

\subsection{Game, GameEngine, UserInterface}

\subsection{Parser/Scanner}

\subsection{UserInterface.addActionListener()}

\subsection{UserInterface.actionPerformed()}


\section{Zuul MVC}

\subsection{Structure}


\section{Zuul with items v1}

\subsection{Item}

\subsection{item description}

\subsection{items}

\subsection{Collection choice}


\section{Zuul with history}

\subsection{back}

\subsection{back test}

\subsection{back back}

\subsection{Stack}


\section{Zuul with tests}

\subsection{tests}

\subsubsection{Automatic tests}

\subsection{test command}


\section{Zuul with items v2}

\subsection{Player}

\subsection{take, drop}

\subsection{Carry several items}

\subsection{ItemList}

\subsection{Maximum weight}

\subsection{Inventory}

\subsection{Magic cookie}

\subsection{Tests}


\section{Zuul with enums}

\subsection{switch}

\subsection{look with enum}

\subsection{help with enum}


\section{Zuul extended}

\subsection{Time limit}

\subsubsection{Real time}

\subsection{GUI}

\subsection{Trap door}

\subsection{Beamer}

\subsection{Locked door}

\subsection{Tests}

\subsection{Transporter room}

\subsubsection{alea}

\subsection{Inheritance}

\subsection{Abstract Command}

\subsection{Packages}

\subsection{Character}

\subsubsection{Moving character}


\section{Zuul without BlueJ}

\subsection{main}

\subsection{jar}

\subsection{JApplet}


\section{Zuul awesome}

\subsection{Room sides}

\subsection{Quests}

\subsection{Better GUI}

\subsection{Music}

\subsection{Save/load game}

\subsubsection{save}

\subsubsection{load}

\subsection{More tests}


\section{Not Zuul}

\subsection{maximum}

\subsection{static}

\subsubsection{Properties}

\subsubsection{numberOfInstances}

\subsection{currentTimeMillis}
