Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • namy2/se3xa3
  • bokhari/se3xa3
  • kanwalg/se3xa3
  • sunx20/se3xa3
  • hameea1/se3xa3
  • aij/se3xa3
  • hanzy3/se3xa3
  • linl20/se3xa3
  • zhous20/se3xa3
9 results
Show changes
Showing
with 1150 additions and 0 deletions
\hypertarget{classhighscore_1_1HighScore}{}\section{highscore.\+High\+Score Class Reference}
\label{classhighscore_1_1HighScore}\index{highscore.\+High\+Score@{highscore.\+High\+Score}}
A Class that will contain useful functions in order for the creation of highscore page.
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
def \hyperlink{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}{runfile} (runfilename)
\begin{DoxyCompactList}\small\item\em A function for running other files. \end{DoxyCompactList}\item
def \hyperlink{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}{text} (text, font\+Style, font\+Size, color, coord, surface)
\begin{DoxyCompactList}\small\item\em A method to display text. \end{DoxyCompactList}\item
def \hyperlink{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}{button} (Surface, color, Rect, width)
\begin{DoxyCompactList}\small\item\em A method to create a button. \end{DoxyCompactList}\item
def \hyperlink{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}{find\+Highscore} ()
\begin{DoxyCompactList}\small\item\em Finds the highest score from the file. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Detailed Description}
A Class that will contain useful functions in order for the creation of highscore page.
\subsection{Member Function Documentation}
\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!button@{button}}
\index{button@{button}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
\subsubsection[{\texorpdfstring{button(\+Surface, color, Rect, width)}{button(Surface, color, Rect, width)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+button (
\begin{DoxyParamCaption}
\item[{}]{Surface, }
\item[{}]{color, }
\item[{}]{Rect, }
\item[{}]{width}
\end{DoxyParamCaption}
)}\hypertarget{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}{}\label{classhighscore_1_1HighScore_a857b76e0be22a3d5476690a253fdd604}
A method to create a button.
This method will make a box on the interface
\begin{DoxyParams}{Parameters}
{\em surface} & The background (surface) the box should be made on \\
\hline
{\em color} & The color of the button to be made \\
\hline
{\em Rect} & The coordinate of the button with the length and width \\
\hline
{\em width} & The width of the sides of button \\
\hline
\end{DoxyParams}
\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!find\+Highscore@{find\+Highscore}}
\index{find\+Highscore@{find\+Highscore}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
\subsubsection[{\texorpdfstring{find\+Highscore()}{findHighscore()}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+find\+Highscore (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\hypertarget{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}{}\label{classhighscore_1_1HighScore_a9db9bf4036615d55829c96cd1d78ba88}
Finds the highest score from the file.
This writes the input from the file in an array and find the max number from it \index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!runfile@{runfile}}
\index{runfile@{runfile}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
\subsubsection[{\texorpdfstring{runfile(runfilename)}{runfile(runfilename)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+runfile (
\begin{DoxyParamCaption}
\item[{}]{runfilename}
\end{DoxyParamCaption}
)}\hypertarget{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}{}\label{classhighscore_1_1HighScore_a790e2026c698c7a97f3302a17d324a72}
A function for running other files.
Executes another python file when this is selected, Given that the file is in same folder.
\begin{DoxyParams}{Parameters}
{\em runfilename} & The name of the file to be executed \\
\hline
\end{DoxyParams}
\index{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!text@{text}}
\index{text@{text}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}}
\subsubsection[{\texorpdfstring{text(text, font\+Style, font\+Size, color, coord, surface)}{text(text, fontStyle, fontSize, color, coord, surface)}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+High\+Score.\+text (
\begin{DoxyParamCaption}
\item[{}]{text, }
\item[{}]{font\+Style, }
\item[{}]{font\+Size, }
\item[{}]{color, }
\item[{}]{coord, }
\item[{}]{surface}
\end{DoxyParamCaption}
)}\hypertarget{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}{}\label{classhighscore_1_1HighScore_a5fad87aae40bcfc2f5a1b2c5726bf650}
A method to display text.
This function will print the text on the interface
\begin{DoxyParams}{Parameters}
{\em text} & The text to be printed \\
\hline
{\em font\+Style} & The font Style of the text to be displayed \\
\hline
{\em font\+Size} & The size of the text written \\
\hline
{\em color} & The color of the text \\
\hline
{\em coord} & The coordinate at which the text should start displaying \\
\hline
{\em surface} & The background (surface) the text should be printed on \\
\hline
\end{DoxyParams}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
\hyperlink{highscore_8py}{highscore.\+py}\end{DoxyCompactItemize}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
% Packages used by this style file
\RequirePackage{alltt}
\RequirePackage{array}
\RequirePackage{calc}
\RequirePackage{float}
\RequirePackage{ifthen}
\RequirePackage{verbatim}
\RequirePackage[table]{xcolor}
\RequirePackage{longtable}
\RequirePackage{tabu}
\RequirePackage{tabularx}
\RequirePackage{multirow}
%---------- Internal commands used in this style file ----------------
\newcommand{\ensurespace}[1]{%
\begingroup%
\setlength{\dimen@}{#1}%
\vskip\z@\@plus\dimen@%
\penalty -100\vskip\z@\@plus -\dimen@%
\vskip\dimen@%
\penalty 9999%
\vskip -\dimen@%
\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
\endgroup%
}
\newcommand{\DoxyLabelFont}{}
\newcommand{\entrylabel}[1]{%
{%
\parbox[b]{\labelwidth-4pt}{%
\makebox[0pt][l]{\DoxyLabelFont#1}%
\vspace{1.5\baselineskip}%
}%
}%
}
\newenvironment{DoxyDesc}[1]{%
\ensurespace{4\baselineskip}%
\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
\newsavebox{\xrefbox}
\newlength{\xreflength}
\newcommand{\xreflabel}[1]{%
\sbox{\xrefbox}{#1}%
\setlength{\xreflength}{\wd\xrefbox}%
\ifthenelse{\xreflength>\labelwidth}{%
\begin{minipage}{\textwidth}%
\setlength{\parindent}{0pt}%
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
\end{minipage}%
}{%
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
}%
}
%---------- Commands used by doxygen LaTeX output generator ----------
% Used by <pre> ... </pre>
\newenvironment{DoxyPre}{%
\small%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Used by @code ... @endcode
\newenvironment{DoxyCode}{%
\par%
\scriptsize%
\begin{alltt}%
}{%
\end{alltt}%
\normalsize%
}
% Used by @example, @include, @includelineno and @dontinclude
\newenvironment{DoxyCodeInclude}{%
\DoxyCode%
}{%
\endDoxyCode%
}
% Used by @verbatim ... @endverbatim
\newenvironment{DoxyVerb}{%
\footnotesize%
\verbatim%
}{%
\endverbatim%
\normalsize%
}
% Used by @verbinclude
\newenvironment{DoxyVerbInclude}{%
\DoxyVerb%
}{%
\endDoxyVerb%
}
% Used by numbered lists (using '-#' or <ol> ... </ol>)
\newenvironment{DoxyEnumerate}{%
\enumerate%
}{%
\endenumerate%
}
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
\newenvironment{DoxyItemize}{%
\itemize%
}{%
\enditemize%
}
% Used by description lists (using <dl> ... </dl>)
\newenvironment{DoxyDescription}{%
\description%
}{%
\enddescription%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if caption is specified)
\newenvironment{DoxyImage}{%
\begin{figure}[H]%
\begin{center}%
}{%
\end{center}%
\end{figure}%
}
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
% (only if no caption is specified)
\newenvironment{DoxyImageNoCaption}{%
\begin{center}%
}{%
\end{center}%
}
% Used by @attention
\newenvironment{DoxyAttention}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @author and @authors
\newenvironment{DoxyAuthor}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @date
\newenvironment{DoxyDate}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @invariant
\newenvironment{DoxyInvariant}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @note
\newenvironment{DoxyNote}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @post
\newenvironment{DoxyPostcond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @pre
\newenvironment{DoxyPrecond}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @copyright
\newenvironment{DoxyCopyright}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @remark
\newenvironment{DoxyRemark}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @return and @returns
\newenvironment{DoxyReturn}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @since
\newenvironment{DoxySince}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @see
\newenvironment{DoxySeeAlso}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @version
\newenvironment{DoxyVersion}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @warning
\newenvironment{DoxyWarning}[1]{%
\begin{DoxyDesc}{#1}%
}{%
\end{DoxyDesc}%
}
% Used by @internal
\newenvironment{DoxyInternal}[1]{%
\paragraph*{#1}%
}{%
}
% Used by @par and @paragraph
\newenvironment{DoxyParagraph}[1]{%
\begin{list}{}{%
\settowidth{\labelwidth}{40pt}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{-4pt}%
\renewcommand{\makelabel}{\entrylabel}%
}%
\item[#1]%
}{%
\end{list}%
}
% Used by parameter lists
\newenvironment{DoxyParams}[2][]{%
\tabulinesep=1mm%
\par%
\ifthenelse{\equal{#1}{}}%
{\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
{\ifthenelse{\equal{#1}{1}}%
{\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
{\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
}
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu}%
\vspace{6pt}%
}
% Used for fields of simple structs
\newenvironment{DoxyFields}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu}%
\vspace{6pt}%
}
% Used for parameters within a detailed function description
\newenvironment{DoxyParamCaption}{%
\renewcommand{\item}[2][]{##1 {\em ##2}}%
}{%
}
% Used by return value lists
\newenvironment{DoxyRetVals}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu}%
\vspace{6pt}%
}
% Used by exception lists
\newenvironment{DoxyExceptions}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu}%
\vspace{6pt}%
}
% Used by template parameter lists
\newenvironment{DoxyTemplParams}[1]{%
\tabulinesep=1mm%
\par%
\begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu}%
\vspace{6pt}%
}
% Used for member lists
\newenvironment{DoxyCompactItemize}{%
\begin{itemize}%
\setlength{\itemsep}{-3pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
}{%
\end{itemize}%
}
% Used for member descriptions
\newenvironment{DoxyCompactList}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
\setlength{\itemsep}{0pt}%
\setlength{\parsep}{0pt}%
\setlength{\topsep}{0pt}%
\renewcommand{\makelabel}{\hfill}%
}%
}{%
\end{list}%
}
% Used for reference lists (@bug, @deprecated, @todo, etc.)
\newenvironment{DoxyRefList}{%
\begin{list}{}{%
\setlength{\labelwidth}{10pt}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\renewcommand{\makelabel}{\xreflabel}%
}%
}{%
\end{list}%
}
% Used by @bug, @deprecated, @todo, etc.
\newenvironment{DoxyRefDesc}[1]{%
\begin{list}{}{%
\renewcommand\makelabel[1]{\textbf{##1}}%
\settowidth\labelwidth{\makelabel{#1}}%
\setlength\leftmargin{\labelwidth+\labelsep}%
}%
}{%
\end{list}%
}
% Used by parameter lists and simple sections
\newenvironment{Desc}
{\begin{list}{}{%
\settowidth{\labelwidth}{20pt}%
\setlength{\parsep}{0pt}%
\setlength{\itemsep}{0pt}%
\setlength{\leftmargin}{\labelwidth+\labelsep}%
\renewcommand{\makelabel}{\entrylabel}%
}
}{%
\end{list}%
}
% Used by tables
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
\newenvironment{TabularC}[1]%
{\tabulinesep=1mm
\begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}%
{\end{longtabu}\par}%
\newenvironment{TabularNC}[1]%
{\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}%
{\end{tabu}\par}%
% Used for member group headers
\newenvironment{Indent}{%
\begin{list}{}{%
\setlength{\leftmargin}{0.5cm}%
}%
\item[]\ignorespaces%
}{%
\unskip%
\end{list}%
}
% Used when hyperlinks are turned off
\newcommand{\doxyref}[3]{%
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
}
% Used to link to a table when hyperlinks are turned on
\newcommand{\doxytablelink}[2]{%
\ref{#1}%
}
% Used to link to a table when hyperlinks are turned off
\newcommand{\doxytableref}[3]{%
\ref{#3}%
}
% Used by @addindex
\newcommand{\lcurly}{\{}
\newcommand{\rcurly}{\}}
% Colors used for syntax highlighting
\definecolor{comment}{rgb}{0.5,0.0,0.0}
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
% Color used for table heading
\newcommand{\tableheadbgcolor}{lightgray}%
\section{File List}
Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{Food_8py}{Food.\+py} \\*Implements an abstract data type for a snake\textquotesingle{}s food }{\pageref{Food_8py}}{}
\item\contentsline{section}{\hyperlink{highscore_8py}{highscore.\+py} \\*Implements the highscore interface }{\pageref{highscore_8py}}{}
\item\contentsline{section}{\hyperlink{Snake_8py}{Snake.\+py} \\*Implements an abstract data type for a snake }{\pageref{Snake_8py}}{}
\end{DoxyCompactList}
\hypertarget{highscore_8py}{}\section{highscore.\+py File Reference}
\label{highscore_8py}\index{highscore.\+py@{highscore.\+py}}
implements the highscore interface
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \hyperlink{classhighscore_1_1HighScore}{highscore.\+High\+Score}
\begin{DoxyCompactList}\small\item\em A Class that will contain useful functions in order for the creation of highscore page. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item
def \hyperlink{highscore_8py_a24956ded9e2477e6e67122f930ba18f2}{highscore.\+main} ()
\begin{DoxyCompactList}\small\item\em Makes the highscore interface. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Detailed Description}
implements the highscore interface
\begin{DoxyAuthor}{Author}
Vaibhav Chadha
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
11/09/2018
\end{DoxyDate}
\subsection{Function Documentation}
\index{highscore.\+py@{highscore.\+py}!main@{main}}
\index{main@{main}!highscore.\+py@{highscore.\+py}}
\subsubsection[{\texorpdfstring{main()}{main()}}]{\setlength{\rightskip}{0pt plus 5cm}def highscore.\+main (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\hypertarget{highscore_8py_file_a24956ded9e2477e6e67122f930ba18f2}{}\label{highscore_8py_file_a24956ded9e2477e6e67122f930ba18f2}
Makes the highscore interface.
This will output the final interface using the class above which can be seen by executing this function.
\ No newline at end of file
Use doxygen (or equivalent) to document the interface for your modules.
\ No newline at end of file
\indexentry{Food.\+Food@{Food.\+Food}|hyperpage}{7}
\indexentry{Food\+::\+Food@{Food\+::\+Food}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}|hyperpage}{7}
\indexentry{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{7}
\indexentry{Food\+::\+Food@{Food\+::\+Food}!draw\+\_\+food@{draw\+\_\+food}|hyperpage}{8}
\indexentry{draw\+\_\+food@{draw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{8}
\indexentry{Food\+::\+Food@{Food\+::\+Food}!redraw\+\_\+food@{redraw\+\_\+food}|hyperpage}{8}
\indexentry{redraw\+\_\+food@{redraw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}|hyperpage}{8}
\indexentry{Interface.\+G\+UI@{Interface.\+G\+UI}|hyperpage}{8}
\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!button@{button}|hyperpage}{9}
\indexentry{button@{button}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9}
\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!runfile@{runfile}|hyperpage}{9}
\indexentry{runfile@{runfile}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9}
\indexentry{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!text@{text}|hyperpage}{9}
\indexentry{text@{text}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}|hyperpage}{9}
\indexentry{highscore.\+High\+Score@{highscore.\+High\+Score}|hyperpage}{10}
\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!button@{button}|hyperpage}{10}
\indexentry{button@{button}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10}
\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!find\+Highscore@{find\+Highscore}|hyperpage}{10}
\indexentry{find\+Highscore@{find\+Highscore}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10}
\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!runfile@{runfile}|hyperpage}{10}
\indexentry{runfile@{runfile}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{10}
\indexentry{highscore\+::\+High\+Score@{highscore\+::\+High\+Score}!text@{text}|hyperpage}{11}
\indexentry{text@{text}!highscore\+::\+High\+Score@{highscore\+::\+High\+Score}|hyperpage}{11}
\indexentry{Snake.\+Snake@{Snake.\+Snake}|hyperpage}{11}
\indexentry{Snake\+::\+Snake@{Snake\+::\+Snake}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}|hyperpage}{12}
\indexentry{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Snake\+::\+Snake@{Snake\+::\+Snake}|hyperpage}{12}
\indexentry{Snake\+::\+Snake@{Snake\+::\+Snake}!draw@{draw}|hyperpage}{12}
\indexentry{draw@{draw}!Snake\+::\+Snake@{Snake\+::\+Snake}|hyperpage}{12}
\indexentry{Food.\+py@{Food.\+py}|hyperpage}{13}
\indexentry{highscore.\+py@{highscore.\+py}|hyperpage}{13}
\indexentry{highscore.\+py@{highscore.\+py}!main@{main}|hyperpage}{14}
\indexentry{main@{main}!highscore.\+py@{highscore.\+py}|hyperpage}{14}
\indexentry{Snake.\+py@{Snake.\+py}|hyperpage}{14}
This is makeindex, version 2.15 [TeX Live 2015] (kpathsea + Thai support).
Scanning input file refman.idx....done (33 entries accepted, 0 rejected).
Sorting entries....done (176 comparisons).
Generating output file refman.ind....done (77 lines written, 0 warnings).
Output written in refman.ind.
Transcript written in refman.ilg.
\begin{theindex}
\item {\+\_\+\+\_\+init\+\_\+\+\_\+}
\subitem {Food\+::\+Food}, \hyperpage{7}
\subitem {Snake\+::\+Snake}, \hyperpage{12}
\indexspace
\item {button}
\subitem {highscore\+::\+High\+Score}, \hyperpage{10}
\subitem {Interface\+::\+G\+UI}, \hyperpage{9}
\indexspace
\item {draw}
\subitem {Snake\+::\+Snake}, \hyperpage{12}
\item {draw\+\_\+food}
\subitem {Food\+::\+Food}, \hyperpage{8}
\indexspace
\item {find\+Highscore}
\subitem {highscore\+::\+High\+Score}, \hyperpage{10}
\item {Food.\+Food}, \hyperpage{7}
\item {Food.\+py}, \hyperpage{13}
\item {Food\+::\+Food}
\subitem {\+\_\+\+\_\+init\+\_\+\+\_\+}, \hyperpage{7}
\subitem {draw\+\_\+food}, \hyperpage{8}
\subitem {redraw\+\_\+food}, \hyperpage{8}
\indexspace
\item {highscore.\+High\+Score}, \hyperpage{10}
\item {highscore.\+py}, \hyperpage{13}
\subitem {main}, \hyperpage{14}
\item {highscore\+::\+High\+Score}
\subitem {button}, \hyperpage{10}
\subitem {find\+Highscore}, \hyperpage{10}
\subitem {runfile}, \hyperpage{10}
\subitem {text}, \hyperpage{11}
\indexspace
\item {Interface.\+G\+UI}, \hyperpage{8}
\item {Interface\+::\+G\+UI}
\subitem {button}, \hyperpage{9}
\subitem {runfile}, \hyperpage{9}
\subitem {text}, \hyperpage{9}
\indexspace
\item {main}
\subitem {highscore.\+py}, \hyperpage{14}
\indexspace
\item {redraw\+\_\+food}
\subitem {Food\+::\+Food}, \hyperpage{8}
\item {runfile}
\subitem {highscore\+::\+High\+Score}, \hyperpage{10}
\subitem {Interface\+::\+G\+UI}, \hyperpage{9}
\indexspace
\item {Snake.\+py}, \hyperpage{14}
\item {Snake.\+Snake}, \hyperpage{11}
\item {Snake\+::\+Snake}
\subitem {\+\_\+\+\_\+init\+\_\+\+\_\+}, \hyperpage{12}
\subitem {draw}, \hyperpage{12}
\indexspace
\item {text}
\subitem {highscore\+::\+High\+Score}, \hyperpage{11}
\subitem {Interface\+::\+G\+UI}, \hyperpage{9}
\end{theindex}
File added
\documentclass[twoside]{book}
% Packages required by doxygen
\usepackage{fixltx2e}
\usepackage{calc}
\usepackage{doxygen}
\usepackage[export]{adjustbox} % also loads graphicx
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\PassOptionsToPackage{warn}{textcomp}
\usepackage{textcomp}
\usepackage[nointegrals]{wasysym}
\usepackage[table]{xcolor}
% Font selection
\usepackage[T1]{fontenc}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
\usepackage{amssymb}
\usepackage{sectsty}
\renewcommand{\familydefault}{\sfdefault}
\allsectionsfont{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
\renewcommand{\DoxyLabelFont}{%
\fontseries{bc}\selectfont%
\color{darkgray}%
}
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
% Page & text layout
\usepackage{geometry}
\geometry{%
a4paper,%
top=2.5cm,%
bottom=2.5cm,%
left=2.5cm,%
right=2.5cm%
}
\tolerance=750
\hfuzz=15pt
\hbadness=750
\setlength{\emergencystretch}{15pt}
\setlength{\parindent}{0cm}
\setlength{\parskip}{3ex plus 2ex minus 2ex}
\makeatletter
\renewcommand{\paragraph}{%
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@parafont%
}%
}
\renewcommand{\subparagraph}{%
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
\normalfont\normalsize\bfseries\SS@subparafont%
}%
}
\makeatother
% Headers & footers
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
\fancyhead[CE]{\fancyplain{}{}}
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
\fancyhead[CO]{\fancyplain{}{}}
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
\fancyfoot[LE]{\fancyplain{}{}}
\fancyfoot[CE]{\fancyplain{}{}}
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
\fancyfoot[CO]{\fancyplain{}{}}
\fancyfoot[RO]{\fancyplain{}{}}
\renewcommand{\footrulewidth}{0.4pt}
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}%
}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}%
}
% Indices & bibliography
\usepackage{natbib}
\usepackage[titles]{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{5}
\makeindex
% Hyperlinks (required, but should be loaded last)
\usepackage{ifpdf}
\ifpdf
\usepackage[pdftex,pagebackref=true]{hyperref}
\else
\usepackage[ps2pdf,pagebackref=true]{hyperref}
\fi
\hypersetup{%
colorlinks=true,%
linkcolor=blue,%
citecolor=blue,%
unicode%
}
% Custom commands
\newcommand{\clearemptydoublepage}{%
\newpage{\pagestyle{empty}\cleardoublepage}%
}
\usepackage{caption}
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
%===== C O N T E N T S =====
\begin{document}
% Titlepage & ToC
\hypersetup{pageanchor=false,
bookmarksnumbered=true,
pdfencoding=unicode
}
\pagenumbering{roman}
\begin{titlepage}
\vspace*{7cm}
\begin{center}%
{\Large Snake }\\
\vspace*{1cm}
{\large Generated by Doxygen 1.8.11}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}
\hypersetup{pageanchor=true}
%--- Begin generated contents ---
\chapter{Module Interface Specification}
\label{md_README}
\hypertarget{md_README}{}
\input{md_README}
\chapter{Class Index}
\input{annotated}
\chapter{File Index}
\input{files}
\chapter{Class Documentation}
\input{classFood_1_1Food}
\input{classInterface_1_1GUI}
\input{classhighscore_1_1HighScore}
\input{classSnake_1_1Snake}
\chapter{File Documentation}
\input{Food_8py}
\input{highscore_8py}
\input{Snake_8py}
%--- End generated contents ---
% Index
\backmatter
\newpage
\phantomsection
\clearemptydoublepage
\addcontentsline{toc}{chapter}{Index}
\printindex
\end{document}
# Design Documentation
The folders and files for this folder are as follows:
Describe ...
File added
File added
\documentclass{article}
\usepackage{pdfpages}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{xcolor}
\title{SE 3XA3: Development Plan\\\textcolor{red}{Snake 2.o}}
\author{Team \# 30, VUA30
\\ Vaibhav Chadha , chadhav
\\ Usman Irfan , irfanm7
\\ Andy Hameed , hameea1
}
\date{}
\begin{document}
\begin{table}[hp]
\caption{Revision History} \label{TblRevisionHistory}
\begin{tabularx}{\textwidth}{llX}
\toprule
\textbf{Date} & \textbf{Developer(s)} & \textbf{Change}\\
\midrule
Sept 25, 2018 & Vaibhav, Usman, Andy & Worked on part 1 to 4\\
Sept 27, 2018 & Vaibhav, Usman, Andy & Worked on part 4 to 8\\
Sept 27, 2018 & Vaibhav & Added the information from the meeting documents to the LaTeX file\\
Sept 28, 2018 & Andy & Proof of concept, Git workflow, Final editing and formatting\\
Sept 28, 2018 & Usman & Updated proof of concept\\
\textcolor{blue}{Oct 12, 2018} & Andy & Made changes according to feedback on development plan and added section on POC demo\\
\textcolor{red}{Dec 2, 2018} & Vaibhav Chadha & Revision one changes to improve the documents quality.\\
\textcolor{red}{Dec 2, 2018} & Usman Irfan & Revision one changes to improve the documents quality.\\
Dec 3, 2018 & Andy & Project Review section completed\\
\bottomrule
\end{tabularx}
\end{table}
\newpage
\maketitle
\section{Team Meeting Plan}
Meetings will be held \textbf{twice a week} at the following times:
\begin{itemize}
\item Mondays 5:30 - 6:30 pm at KTH Computer Labs
\item Wednesdays 12:30 to 2:00pm at Health science library
\end{itemize}
\subsection{Roles and Agenda}
\textbf{Chair}: Andy Hameed
\begin{itemize}
\item Responsible for creating the agenda and selecting topics that pertain to all team members
\item Agenda items will be listed as questions\\
\end{itemize}
\textbf{Notettaker}: Usman Irfan
\begin{itemize}
\item Responsible for taking meeting minutes
\item Meeting decisions will be summarized in a statement at the end of the meeting
\end{itemize}
\textbf{Timekeeper}: Vaibhav Chadha
\begin{itemize}
\item Keeps track of time in case we are spending too much time on one topic
\end{itemize}
\section{Team Communication Plan}
\textcolor{blue}{Main source of communication is Facebook Messenger, it will be used for general inquiries, updates, reminders of team meetings, any links to useful resources and so on. Phone and texting will be used as a backup in case of urgent matters, for example not being able to get in contact with a team member through Messenger.
Aside from these, the team will be using Workflowy to assign small tasks that are promptly due or ones that may not necessarily fit on the \textcolor{red}{Gantt} chart because they are minor - this tool will be used to delegate a small to-do list for each team member.
}
\section{Team Member Roles}
Vaibhav Chadha:
\begin{itemize}
\item Latex Documentation
\item Analyst - makes sure the requirements of the clients are met through the software
\item \textcolor{red}{Gantt} chart management\\
\end{itemize}
Usman Irfan:
\begin{itemize}
\item Scribe
\item Technology Research
\item operation manager -ensures project development is running smoothly and software is being developed according to milestones \\
\end{itemize}
Andy Hameed:
\begin{itemize}
\item Final editing
\item latex documentation
\item team leader\\
\end{itemize}
All:
\begin{itemize}
\item GIT project management
\end{itemize}
\section{Git Workflow Plan}
We will be using the Git Feature Branch Workflow to manage the software development. Using branches, each team member is capable of
working on different modules or sections of the software at the same time in localized branches, before pushing their changes to the master branch.
The following procedures will be followed:
\begin{itemize}
\item \textcolor{blue}{Vaibhav will be tagging any major milestones for final submission. This makes the submission process consistent. Otherwise, Andy or Usman will agree on one person to tag and submit for final submission.}
\item \textcolor{blue}{Any major changes and submissions, especially those involving a milestone, can be placed in a branch to avoid merging conflicts and overwriting existing work. They can be merged later on upon team agreement.}
\end{itemize}
\section{Proof of Concept Demonstration Plan}
The original project is built using \textcolor{red}{JavaScript}, HTML and CSS in contrast to our development plan using \textcolor{red}{Python} and the Pygame library. Since we are using an OOP language, we will be able to create classes for different components of the snake game such as \textcolor{red}{the snake's body drawn in blocks, and snake's food.} The hardest part of the implementation will be the movement of the snake according to the user's keyboard inputs, and second to that would be the process of expanding the snake once a food item is captured. Besides that, the interface may be difficult to implement in \textcolor{red}{Python using the Pygame library to make it engaging.}\\
Once our game application has been developed the next part would be to test the project and for that we will be using Pytest, since our backend language is \textcolor{red}{Python} this will help us test all possible functions and \textcolor{red}{functional requirements}. The functions that will be difficult to test would be to see if the snake eats the food, does the food appear at random locations after eaten by the snake and if the snake tries to leave the borders, will the game end. Portability will have to be taken into consideration since the application is being built for \textcolor{red}{different Operating System}. However, it can be compiled and run on any system as long as the necessary files and libraries are download.
\textcolor{blue}{\subsection{POC Demo}
The team will be demonstrating the movement of a snake around the screen using unit blocks for the body of the snake. Lengthening the snake body, scoring and eating the bate will not be demonstrated in the demo. This POC should demonstrate that with the movement of the snake, which is the main component of the game, the team will be able to develop classes to represent other components of the game such as the score, food bate, and lengthening of the snake body.}
\section{Technology}
Coding Language: Python, \textcolor{red}{Pygame} for GUI\\
IDE: IDLE scripting\\
Testing: PyUnit testing\\
Documentation: Doxygen\\
\section{Coding Style}
We will be using the \href{https://github.com/google/styleguide/blob/gh-pages/pyguide.md}{Google Python Style Guide}
for our coding style. It encompasses all the necessary naming conventions and standards required for the project development.
\section{Project Schedule}
Please see the following pages for the project schedule in the form of a \textcolor{red}{Gantt Chart}.
\includepdf[page=-]{DevPlan_ExpandedGantt}
\section{Project Review}
The Snake 2.o project ultimately produced three quantifiable assets to the original Snake Game project. The change in game environment from an online playable version to a desktop version allowed for portability and non restrictive playing conditions after the initial download. Rearranging the game buttons and features in a new layout along with a complementary color scheme improved the overall aesthetics of the game, creating a positive and pleasant gameplay experience. In addition, the themes and difficulty modes added to the game added a twist to the orignal game, giving the reimplementation a unique characteristics that is typically missing from remakes of the game.
The project objectives that were set out in the beginning have been acheived. Future plans for the project include the following changes and additions:
\begin{itemize}
\item Additional theme options besides the existing dark, regular and random themes
\item Smoother snake movements and snake visual representation
\item harder modes and additional levels with unique elements drawn from peer feedback
\item game window resizing ability
\end{itemize}
Note that this is a brief list of some of the ideas and plans for future implementation objectives and tasks. However, it is not an exhaustive list and will continue to change as the project progresses.
\end{document}
\ No newline at end of file
File added
# Final Presentation
The folders and files for this folder are as follows:
Describe ...
File added
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{xcolor}
\title{SE 3XA3: Problem Statement\\ \textbf{\textcolor{red}{Snake 2.o}}}
\author{Team \#30, VUA30
\\ Usman Irfan - irfanm7
\\ Andy Hameed - hameea1
\\ Vaibhav Chadha - chadhav
}
\date{2018-09-21}
\usepackage[left=2cm, right=5cm, top=2cm]{geometry}
\begin{document}
\begin{table}[hp]
\caption{Revision History} \label{TblRevisionHistory}
\begin{tabularx}{\textwidth}{llX}
\toprule
\textbf{Date} & \textbf{Developer(s)} & \textbf{Change}\\
\midrule
2018-09-20 & Vaibhav & Made the LaTeX file and wrote the section with what the Problem is\\
2018-09-20 & Usman & Added the Importance of Problem section while formatting the LaTeX\\
2018-09-21 & Andy Hameed & Formatted LaTeX file and added Context section, giving the final editing to the document\\
\textcolor{red}{2018-10-09} & Andy Hameed & Edited doc to reflect web app to desktop app decision change\\
\textcolor{red}{2018-12-04} & Andy Hameed & Small edit to problem statement to rephrase the context of the project\\
\textcolor{red}{2018-12-02} & Vaibhav Chadha & Revision one changes to make the document better.\\
\textcolor{red}{2018-12-03} & Usman Irfan & Edited Importance of the Problem\\
\bottomrule
\end{tabularx}
\end{table}
\newpage
\maketitle
\subsection*{The Problem}
Almost everyone nowadays relies on a computer as a multipurpose tool for research, video streaming, gaming and many other tasks. With the emergence of fast computing, gaming has become a popular pastime activity and a source of entertainment. \textcolor{red}{Many gamers enjoy playing classical PC games such as the the Solitaire suite of games and the Snake game.} A simple, memory efficient desktop application of the Snake game allows it to be accessible for gamers \textcolor{red}{anywhere and at any time without the requirement of internet access. Our team, VUA30, will be creating a desktop application for the well-known Snake game with new enhancements and features. This competitive and addictive game can allow the user to play at \textcolor{red}{different levels and challenge their own highscore} }
\subsection*{Importance of the Problem}
Buying a computing device with high storage and faster performance can be out of budget. Complicated software covers up all the storage and the user is bound to use these applications \textcolor{red}{without} downloading other software. The importance of the redevelopment of The Snake is to save computing \textcolor{red}{device's} personal storage and allow the user to play a game 24/7 with strong performance, \textcolor{red}{even offline}. \textcolor{red}{ Creating a desktop application of the snake game can fit into the category of classic games such as the solitaire suite. The recreation of this game will allow the user to enjoy the traditional game anytime and anywhere as long as they have installed the application. Improving aspects such as graphics and custom speed will also make the game more interesting. We would add more features to the game to make it more customizable and let people enjoy the classic game impressively.}
\subsection*{Context}
The stakeholders are mainly the gaming audience, the older generation of game enthusiasts, youth and teens. Although the game can be played by anyone, it is targeted towards the audience mentioned above who are most invested in the game. The environment is native app development using Python and the Pygame library. This provides less flexibility than web API's but there still exists many useful Python libraries which can be used such as Pygame.
\end{document}
# Problem Statement
The folders and files for this folder are as follows:
Describe ...
# Software Requirements Specification
The folders and files for this folder are as follows:
Describe ...