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 1234 additions and 0 deletions
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, inFrame, label)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.insideFrame = inFrame;
this.searchLabel = label;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
if (this.insideFrame)
{
var left = getXPos(searchField);
var top = getYPos(searchField);
left += searchField.offsetWidth + 6;
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
left -= searchSelectWindow.offsetWidth;
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
else
{
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else if (window.frames.MSearchResults.searchResults)
{
var elem = window.frames.MSearchResults.searchResults.NavNext(0);
if (elem) elem.focus();
}
}
else if (e.keyCode==27) // Escape out of the search field
{
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.name + '.Search()',
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var idxChar = searchValue.substr(0, 1).toLowerCase();
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
{
idxChar = searchValue.substr(0, 2);
}
var resultsPage;
var resultsPageWithSearch;
var hasResultsPage;
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
if (idx!=-1)
{
var hexCode=idx.toString(16);
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
hasResultsPage = true;
}
else // nothing available for this search term
{
resultsPage = this.resultsPath + '/nomatches.html';
resultsPageWithSearch = resultsPage;
hasResultsPage = false;
}
window.frames.MSearchResults.location = resultsPageWithSearch;
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
if (domPopupSearchResultsWindow.style.display!='block')
{
var domSearchBox = this.DOMSearchBox();
this.DOMSearchClose().style.display = 'inline';
if (this.insideFrame)
{
var domPopupSearchResults = this.DOMPopupSearchResults();
domPopupSearchResultsWindow.style.position = 'relative';
domPopupSearchResultsWindow.style.display = 'block';
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResults.style.width = width + 'px';
}
else
{
var domPopupSearchResults = this.DOMPopupSearchResults();
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
}
}
this.lastSearchValue = searchValue;
this.lastResultsPage = resultsPage;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
var searchField = this.DOMSearchField();
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
{
searchField.value = '';
this.searchActive = true;
}
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.DOMSearchField().value = this.searchLabel;
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName == 'DIV' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName == 'DIV' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
parent.document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults()
{
var results = document.getElementById("SRResults");
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',searchData[e][1][1][0]);
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',searchData[e][1][c+1][0]);
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
link.setAttribute('class','SelectItem');
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
link.href='javascript:void(0)';
link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
}
var indexSectionsWithContent =
{
0: "_bdfghmrst",
1: "fghs",
2: "fhs",
3: "_bdfmrt",
4: "m"
};
var indexSectionNames =
{
0: "all",
1: "classes",
2: "files",
3: "functions",
4: "pages"
};
var indexSectionLabels =
{
0: "All",
1: "Classes",
2: "Files",
3: "Functions",
4: "Pages"
};
BlankProjectTemplate/Doc_Revision1/Design/MIS/html/splitbar.png

314 B

BlankProjectTemplate/Doc_Revision1/Design/MIS/html/sync_off.png

853 B

BlankProjectTemplate/Doc_Revision1/Design/MIS/html/sync_on.png

845 B

BlankProjectTemplate/Doc_Revision1/Design/MIS/html/tab_a.png

142 B

BlankProjectTemplate/Doc_Revision1/Design/MIS/html/tab_b.png

169 B

BlankProjectTemplate/Doc_Revision1/Design/MIS/html/tab_h.png

177 B

BlankProjectTemplate/Doc_Revision1/Design/MIS/html/tab_s.png

184 B

.tabs, .tabs2, .tabs3 {
background-image: url('tab_b.png');
width: 100%;
z-index: 101;
font-size: 13px;
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
}
.tabs2 {
font-size: 10px;
}
.tabs3 {
font-size: 9px;
}
.tablist {
margin: 0;
padding: 0;
display: table;
}
.tablist li {
float: left;
display: table-cell;
background-image: url('tab_b.png');
line-height: 36px;
list-style: none;
}
.tablist a {
display: block;
padding: 0 20px;
font-weight: bold;
background-image:url('tab_s.png');
background-repeat:no-repeat;
background-position:right;
color: #283A5D;
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
text-decoration: none;
outline: none;
}
.tabs3 .tablist a {
padding: 0 10px;
}
.tablist a:hover {
background-image: url('tab_h.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
text-decoration: none;
}
.tablist li.current a {
background-image: url('tab_a.png');
background-repeat:repeat-x;
color: #fff;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
}
\hypertarget{Food_8py}{}\section{Food.\+py File Reference}
\label{Food_8py}\index{Food.\+py@{Food.\+py}}
implements an abstract data type for a snake\textquotesingle{}s food
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \hyperlink{classFood_1_1Food}{Food.\+Food}
\begin{DoxyCompactList}\small\item\em An Abstract Data type which represents a one-\/unit of food. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Detailed Description}
implements an abstract data type for a snake\textquotesingle{}s food
\begin{DoxyAuthor}{Author}
Usman Irfan
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
11/09/2018
\end{DoxyDate}
all: refman.pdf
pdf: refman.pdf
refman.pdf: clean refman.tex
pdflatex refman
makeindex refman.idx
pdflatex refman
latex_count=8 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
pdflatex refman ;\
latex_count=`expr $$latex_count - 1` ;\
done
makeindex refman.idx
pdflatex refman
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
\hypertarget{Snake_8py}{}\section{Snake.\+py File Reference}
\label{Snake_8py}\index{Snake.\+py@{Snake.\+py}}
implements an abstract data type for a snake
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item
class \hyperlink{classSnake_1_1Snake}{Snake.\+Snake}
\begin{DoxyCompactList}\small\item\em An Abstract Data type representing a snake character object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Detailed Description}
implements an abstract data type for a snake
\begin{DoxyAuthor}{Author}
Andy Hameed
\end{DoxyAuthor}
\begin{DoxyDate}{Date}
11/09/2018
\end{DoxyDate}
\section{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{classFood_1_1Food}{Food.\+Food} \\*An Abstract Data type which represents a one-\/unit of food }{\pageref{classFood_1_1Food}}{}
\item\contentsline{section}{\hyperlink{classInterface_1_1GUI}{Interface.\+G\+UI} \\*A Class that will contain useful functions in order for the creation of main interface }{\pageref{classInterface_1_1GUI}}{}
\item\contentsline{section}{\hyperlink{classhighscore_1_1HighScore}{highscore.\+High\+Score} \\*A Class that will contain useful functions in order for the creation of highscore page }{\pageref{classhighscore_1_1HighScore}}{}
\item\contentsline{section}{\hyperlink{classSnake_1_1Snake}{Snake.\+Snake} \\*An Abstract Data type representing a snake character object }{\pageref{classSnake_1_1Snake}}{}
\end{DoxyCompactList}
\hypertarget{classFood_1_1Food}{}\section{Food.\+Food Class Reference}
\label{classFood_1_1Food}\index{Food.\+Food@{Food.\+Food}}
An Abstract Data type which represents a one-\/unit of food.
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
def \hyperlink{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}{\+\_\+\+\_\+init\+\_\+\+\_\+} (self, block\+Size)
\begin{DoxyCompactList}\small\item\em \hyperlink{classFood_1_1Food}{Food} constructor. \end{DoxyCompactList}\item
def \hyperlink{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}{draw\+\_\+food} (self, location)
\begin{DoxyCompactList}\small\item\em Draw method uses pygame to draw the food object on the window. \end{DoxyCompactList}\item
def \hyperlink{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}{redraw\+\_\+food} (self, x, y, location, screen\+Size)
\begin{DoxyCompactList}\small\item\em redraw\+\_\+food method redraws the food on the screen randomly \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
{\bfseries size}\hypertarget{classFood_1_1Food_a811a8754b4796d69534a0649520a5993}{}\label{classFood_1_1Food_a811a8754b4796d69534a0649520a5993}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
An Abstract Data type which represents a one-\/unit of food.
\subsection{Constructor \& Destructor Documentation}
\index{Food\+::\+Food@{Food\+::\+Food}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}}
\index{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Food\+::\+Food@{Food\+::\+Food}}
\subsubsection[{\texorpdfstring{\+\_\+\+\_\+init\+\_\+\+\_\+(self, block\+Size)}{__init__(self, blockSize)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+\_\+\+\_\+init\+\_\+\+\_\+ (
\begin{DoxyParamCaption}
\item[{}]{self, }
\item[{}]{block\+Size}
\end{DoxyParamCaption}
)}\hypertarget{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}{}\label{classFood_1_1Food_ae4c3146df2eab1cffad7a10bab5b721f}
\hyperlink{classFood_1_1Food}{Food} constructor.
Initializes the size of the food, this needs to be the same as snake\textquotesingle{}s block size
\begin{DoxyParams}{Parameters}
{\em block\+Size} & the width and height of the square block representing the food \\
\hline
\end{DoxyParams}
\subsection{Member Function Documentation}
\index{Food\+::\+Food@{Food\+::\+Food}!draw\+\_\+food@{draw\+\_\+food}}
\index{draw\+\_\+food@{draw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}}
\subsubsection[{\texorpdfstring{draw\+\_\+food(self, location)}{draw_food(self, location)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+draw\+\_\+food (
\begin{DoxyParamCaption}
\item[{}]{self, }
\item[{}]{location}
\end{DoxyParamCaption}
)}\hypertarget{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}{}\label{classFood_1_1Food_aad94875bc7f2f6c990b826c9dc40092f}
Draw method uses pygame to draw the food object on the window.
\begin{DoxyParams}{Parameters}
{\em location} & A list which consists the x and y location of the food \\
\hline
\end{DoxyParams}
\index{Food\+::\+Food@{Food\+::\+Food}!redraw\+\_\+food@{redraw\+\_\+food}}
\index{redraw\+\_\+food@{redraw\+\_\+food}!Food\+::\+Food@{Food\+::\+Food}}
\subsubsection[{\texorpdfstring{redraw\+\_\+food(self, x, y, location, screen\+Size)}{redraw_food(self, x, y, location, screenSize)}}]{\setlength{\rightskip}{0pt plus 5cm}def Food.\+Food.\+redraw\+\_\+food (
\begin{DoxyParamCaption}
\item[{}]{self, }
\item[{}]{x, }
\item[{}]{y, }
\item[{}]{location, }
\item[{}]{screen\+Size}
\end{DoxyParamCaption}
)}\hypertarget{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}{}\label{classFood_1_1Food_a4a84b471eb86eaab7414ce1f28915fd6}
redraw\+\_\+food method redraws the food on the screen randomly
\begin{DoxyParams}{Parameters}
{\em x} & is the location of snake\textquotesingle{}s x-\/axis head location \\
\hline
{\em y} & is the location of snake\textquotesingle{}s y-\/axis head location \\
\hline
{\em location} & is a list that gives the location of present food \\
\hline
{\em screen\+Size} & is the size of the screen \\
\hline
\end{DoxyParams}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
\hyperlink{Food_8py}{Food.\+py}\end{DoxyCompactItemize}
\hypertarget{classInterface_1_1GUI}{}\section{Interface.\+G\+UI Class Reference}
\label{classInterface_1_1GUI}\index{Interface.\+G\+UI@{Interface.\+G\+UI}}
A Class that will contain useful functions in order for the creation of main interface.
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
def \hyperlink{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}{runfile} (runfilename)
\begin{DoxyCompactList}\small\item\em A function for running other files. \end{DoxyCompactList}\item
def \hyperlink{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}{button} (Surface, color, Rect, width)
\begin{DoxyCompactList}\small\item\em A method to create a button. \end{DoxyCompactList}\item
def \hyperlink{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}{text} (text, font\+Style, font\+Size, color, coord, surface)
\begin{DoxyCompactList}\small\item\em A method to display text. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Detailed Description}
A Class that will contain useful functions in order for the creation of main interface.
\subsection{Member Function Documentation}
\index{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!button@{button}}
\index{button@{button}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}}
\subsubsection[{\texorpdfstring{button(\+Surface, color, Rect, width)}{button(Surface, color, Rect, width)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+button (
\begin{DoxyParamCaption}
\item[{}]{Surface, }
\item[{}]{color, }
\item[{}]{Rect, }
\item[{}]{width}
\end{DoxyParamCaption}
)}\hypertarget{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}{}\label{classInterface_1_1GUI_a6e96c109143b0d74c039338673435280}
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{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!runfile@{runfile}}
\index{runfile@{runfile}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}}
\subsubsection[{\texorpdfstring{runfile(runfilename)}{runfile(runfilename)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+runfile (
\begin{DoxyParamCaption}
\item[{}]{runfilename}
\end{DoxyParamCaption}
)}\hypertarget{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}{}\label{classInterface_1_1GUI_aea50c45b0173d626777b9aee47a23591}
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{Interface\+::\+G\+UI@{Interface\+::\+G\+UI}!text@{text}}
\index{text@{text}!Interface\+::\+G\+UI@{Interface\+::\+G\+UI}}
\subsubsection[{\texorpdfstring{text(text, font\+Style, font\+Size, color, coord, surface)}{text(text, fontStyle, fontSize, color, coord, surface)}}]{\setlength{\rightskip}{0pt plus 5cm}def Interface.\+G\+U\+I.\+text (
\begin{DoxyParamCaption}
\item[{}]{text, }
\item[{}]{font\+Style, }
\item[{}]{font\+Size, }
\item[{}]{color, }
\item[{}]{coord, }
\item[{}]{surface}
\end{DoxyParamCaption}
)}\hypertarget{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}{}\label{classInterface_1_1GUI_a1017c12e07fbe580fa27aa4c0c634b93}
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
Interface.\+py\end{DoxyCompactItemize}
\hypertarget{classSnake_1_1Snake}{}\section{Snake.\+Snake Class Reference}
\label{classSnake_1_1Snake}\index{Snake.\+Snake@{Snake.\+Snake}}
An Abstract Data type representing a snake character object.
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
def \hyperlink{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}{\+\_\+\+\_\+init\+\_\+\+\_\+} (self, block\+Size, direct, speed, axis)
\begin{DoxyCompactList}\small\item\em \hyperlink{classSnake_1_1Snake}{Snake} constructor. \end{DoxyCompactList}\item
def \hyperlink{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}{draw} (self, x, y)
\begin{DoxyCompactList}\small\item\em Draw method uses pygame to draw the snake object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
{\bfseries speed}\hypertarget{classSnake_1_1Snake_a0b25a63b667813d471a04e3091304ad6}{}\label{classSnake_1_1Snake_a0b25a63b667813d471a04e3091304ad6}
\item
{\bfseries direct}\hypertarget{classSnake_1_1Snake_afb56639cdb67222e4e31ca4cfffebd2d}{}\label{classSnake_1_1Snake_afb56639cdb67222e4e31ca4cfffebd2d}
\item
{\bfseries size}\hypertarget{classSnake_1_1Snake_a886db89c556bb8e85c462c821b56089a}{}\label{classSnake_1_1Snake_a886db89c556bb8e85c462c821b56089a}
\item
{\bfseries axis}\hypertarget{classSnake_1_1Snake_a3ed7ae05b60f642abc4184f349ef279a}{}\label{classSnake_1_1Snake_a3ed7ae05b60f642abc4184f349ef279a}
\end{DoxyCompactItemize}
\subsection{Detailed Description}
An Abstract Data type representing a snake character object.
\subsection{Constructor \& Destructor Documentation}
\index{Snake\+::\+Snake@{Snake\+::\+Snake}!\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}}
\index{\+\_\+\+\_\+init\+\_\+\+\_\+@{\+\_\+\+\_\+init\+\_\+\+\_\+}!Snake\+::\+Snake@{Snake\+::\+Snake}}
\subsubsection[{\texorpdfstring{\+\_\+\+\_\+init\+\_\+\+\_\+(self, block\+Size, direct, speed, axis)}{__init__(self, blockSize, direct, speed, axis)}}]{\setlength{\rightskip}{0pt plus 5cm}def Snake.\+Snake.\+\_\+\+\_\+init\+\_\+\+\_\+ (
\begin{DoxyParamCaption}
\item[{}]{self, }
\item[{}]{block\+Size, }
\item[{}]{direct, }
\item[{}]{speed, }
\item[{}]{axis}
\end{DoxyParamCaption}
)}\hypertarget{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}{}\label{classSnake_1_1Snake_aeb38fdae78144abf6a84c7ba35af536a}
\hyperlink{classSnake_1_1Snake}{Snake} constructor.
Initializes a \hyperlink{classSnake_1_1Snake}{Snake} object with its initial attributes
\begin{DoxyParams}{Parameters}
{\em block\+Size} & the width and height of the square block representing the snake \\
\hline
{\em direct} & The direction of the snake\textquotesingle{}s movement \\
\hline
{\em speed} & The initial speed of the snake\textquotesingle{}s movement \\
\hline
\end{DoxyParams}
\subsection{Member Function Documentation}
\index{Snake\+::\+Snake@{Snake\+::\+Snake}!draw@{draw}}
\index{draw@{draw}!Snake\+::\+Snake@{Snake\+::\+Snake}}
\subsubsection[{\texorpdfstring{draw(self, x, y)}{draw(self, x, y)}}]{\setlength{\rightskip}{0pt plus 5cm}def Snake.\+Snake.\+draw (
\begin{DoxyParamCaption}
\item[{}]{self, }
\item[{}]{x, }
\item[{}]{y}
\end{DoxyParamCaption}
)}\hypertarget{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}{}\label{classSnake_1_1Snake_ad0507605e291c7ea3423021d4e718df3}
Draw method uses pygame to draw the snake object.
\begin{DoxyParams}{Parameters}
{\em x} & The x-\/coordinate where the block should be drawn \\
\hline
{\em y} & The y-\/coordinate where the block should be drawn \\
\hline
\end{DoxyParams}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item
\hyperlink{Snake_8py}{Snake.\+py}\end{DoxyCompactItemize}