diff --git a/BlankProjectTemplate/Doc/Design/MG/MG.pdf b/BlankProjectTemplate/Doc/Design/MG/MG.pdf index 20a9a1b28755b029d9d0f5f534818feee4f89ce5..702db988bc83daa8b5cf77dfbdc2a562bf5d3c34 100644 Binary files a/BlankProjectTemplate/Doc/Design/MG/MG.pdf and b/BlankProjectTemplate/Doc/Design/MG/MG.pdf differ diff --git a/BlankProjectTemplate/Doc/Design/MG/MG.tex b/BlankProjectTemplate/Doc/Design/MG/MG.tex index f4da5fb78db3748d1c9c5a9c97b7658bba2e1749..3d4a11d1008c653d2a08d223085d31b2126cf042 100644 --- a/BlankProjectTemplate/Doc/Design/MG/MG.tex +++ b/BlankProjectTemplate/Doc/Design/MG/MG.tex @@ -146,26 +146,24 @@ change. \begin{description} \item[\refstepcounter{acnum} \actheacnum \label{acHardware}:] The specific hardware on which the software is running. -\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The format of the - initial input data. -\item ... +\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The Operating System of which the software interfaces with. +\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The new High Score after any previous record is broken. +\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The speed of the snake when the user changes the difficulty level. +\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] Storing the score to the text file after each game is played. +\item[\refstepcounter{acnum} \actheacnum \label{acInput}:] The theme of the playground is changed whenever the user decides changes the theme mode. +\item[\refstepcounter{acnum} \actheacnum \label{acInput}:]Default settings for inputs. + \end{description} \subsection{Unlikely Changes} \label{SecUchange} -The module design should be as general as possible. However, a general system is -more complex. Sometimes this complexity is not necessary. Fixing some design -decisions at the system architecture stage can simplify the software design. If -these decision should later need to be changed, then many parts of the design -will potentially need to be modified. Hence, it is not intended that these -decisions will be changed. \begin{description} \item[\refstepcounter{ucnum} \uctheucnum \label{ucIO}:] Input/Output devices - (Input: File and/or Keyboard, Output: File, Memory, and/or Screen). -\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] There will always be - a source of input data external to the software. -\item ... + (The system assumes mouse, keyboard and screen are available). +\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] The snake is responsive to the directions button under any circumstances. +\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] The goal of the system: To provide user with entertainment and a fun game to play. +\item[\refstepcounter{ucnum} \uctheucnum \label{ucInput}:] There will always be a source of input data external to the software. \end{description} \section{Module Hierarchy} \label{SecMH} @@ -177,7 +175,11 @@ actually be implemented. \begin{description} \item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Hardware-Hiding Module -\item ... +\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Input Format Module +\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Snake Module +\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Food Module +\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Themes Module +\item [\refstepcounter{mnum} \mthemnum \label{mHH}:] Software Design Module \end{description} @@ -191,19 +193,13 @@ actually be implemented. {Hardware-Hiding Module} & ~ \\ \midrule -\multirow{7}{0.3\textwidth}{Behaviour-Hiding Module} & ?\\ -& ?\\ -& ?\\ -& ?\\ -& ?\\ -& ?\\ -& ?\\ -& ?\\ +\multirow{4}{0.3\textwidth}{Behaviour-Hiding Module} & Input Format Module\\ +& Snake Module\\ +& Food Module\\ +& Themes Module\\ \midrule -\multirow{3}{0.3\textwidth}{Software Decision Module} & {?}\\ -& ?\\ -& ?\\ +\multirow{1}{0.3\textwidth}{Software Decision Module} & HighScore Module\\ \bottomrule \end{tabular} @@ -251,15 +247,14 @@ that the module is not a leaf and will not have to be implemented. Whether or not this module is implemented depends on the programming language selected. -\subsection{Hardware Hiding Modules (\mref{mHH})} +\subsection{Hardware Hiding Modules } \begin{description} -\item[Secrets:]The data structure and algorithm used to implement the virtual - hardware. -\item[Services:]Serves as a virtual hardware used by the rest of the +\item[Secrets:] The implementation of buttons and mouse and displaying game on screen. +\item[Services:] Serves as a virtual hardware used by the rest of the system. This module provides the interface between the hardware and the - software. So, the system can use it to display outputs or to accept inputs. -\item[Implemented By:] OS + software. So, the system can take inputs from the keyboard and mouse, and then further output it on the screen. +\item[Implemented By:] Pygame library and OS \end{description} \subsection{Behaviour-Hiding Module}