Disclaimer: This dissertation has been written by a student and is not an example of our professional work, which you can see examples of here.

Any opinions, findings, conclusions, or recommendations expressed in this dissertation are those of the authors and do not necessarily reflect the views of UKDiss.com.

Game to Develop Healthy Eating Education for Children

Info: 15035 words (60 pages) Dissertation
Published: 9th Dec 2019

Reference this

Tagged: HealthInformation Technology

Contents

1.0 Introduction:

Analysis

1.1 Gathering data:

1.2 Current system limitation:

1.3 Program proposed flow chart:

1.4 Proposed user:

1.5 Proposed System languages (High level language programming):

1.5 Interviews:

1.6 Specific Objectives:

2.0 Design requirements:

2.1 Main Menu Proposed Screen

2.2 Proposed interface design on Main Screen

2.3 Design of Snake game:

Snake:

Food:

Background:

2.4 Gameplay Screen Vote Aesthetics:

2.5 Final proposed Main Screen:

2.6 Interview of two proposed main screens:

2.7 Interface Design: Design of gameplay screen:

2.8 Algorithms

Game Start Up

Detect click

Load Map

Detect Arrow Keys

Detect collision with snake and objects

2.9 Interface Design: Design of end screen:

3.0 Implementation

3.1 Start screen

3.2 Health Promotion Screen

3.3 Instruction screen

3.4 Gameplay Screen

3.7 Food

3.8 Direction

3.9 Snake

3.10 End Screen

3.11 How to download the game

3.12 How to start the game/program

3.13 How to navigate with the Main Menu Screen

3.14 How to navigate the Healthy Food promotion screen

3.15 How to Navigate the Instruction Screen

3.16 How to navigate the gameplay screen

3.17 How to Navigate the end screen

3.18 Troubleshooting

3.19 How to back up files when the game is downloading

4.0 Testing

4.1 Testing Snake Movement

4.2 Testing Snake eating Food

4.3 Testing Snake eating its own body

4.4 Testing Snake colliding with border of the game

4.5 Beta Testing:

4.6 Gamma Testing

5.0 Evaluation

5.1 Success of Objectives of game

5.1.1 Specific Objectives

5.1.2 Success Criteria

5.1.3 General objectives

5.1.4 Input Requirements

5.1.5 Processing Requirements

5.1.6 Output requirements

5.1.7 Storage requirements

5.2 Personal criticisms of the game

5.3 Effect of the game

5.4 Evaluation of the game

NEA Project

1.0 Introduction:

This investigation project started when I was discussing with the headmaster about creating a game for children from the age of 5 to 11 whom are game enthusiasts and who are in primary school. This project will allow children those to learn what types of foods are healthy and which other foods are unhealthy and if they positively or negatively affect your health. The local primary promotes healthy eating through subjects such as PSHE and Science, however the headmaster wants a game in computing where healthy eating is promoted as there is no current program in place (as shown by the graph below).

The local primary school has asked if I could investigate and implement a game throughout the school to be produced as they have been struggling with the lack of healthy eating in their school and the increase of fatty foods being consumed by the children in the primary school.

At the moment, the local primary school uses numerous subjects to promote healthy eating, in doing so children are constantly reminded what types of foods are healthy and unhealthy. Although, these schemes have been put in place by the school, no considerable effect has been seen. Therefore, the headmaster has enquired for a game in computer science to be made to promote healthy eating. The reason for this is that the majority of students at the local primary school are game enthusiasts. As a result, a game would entice the children while teaching them about what types of foods are healthy and unhealthy.

As a result, when analysing the request from the headmaster I have concluded that a game such as the traditional and easy to play game of snakes should be made and implemented in trying to promote healthy eating in the local primary school.

Analysis

1.1 Gathering data:

By observing, I recognised that they promoted healthy eating through subjects by colourful displays in the classroom with fun facts on them. The overall aims of these is to constantly promote healthy eating and to help the children remember fun facts about healthy foods. However, the reason why these schemes have not been effective is due to the lack of interaction for the children. With the interaction of games from Computer Science, the proposed game would be effective in promoting healthy eating for the primary school students.

Through this questionnaire I am trying to find how the school is trying to promote healthy eating and if these techniques of trying to promote healthy eating through subjects have been successful or not. I have used a questionnaire like this at it allows the headmaster to comment on the questions, as a result I am given more insight into the problems faced in the scheme in place and how these problems can be solved with the system proposed for Computer Science

Questionnaire (With headmaster):

  1. What is currently in place in classrooms to promote healthy eating?

 

 There are only displays in classrooms to promote healthy eating with fun facts on them

  1. Is there any interaction in these measures to promote healthy eating?

 

 There is no interaction with the displays for the children                                                                             

  1. Have you recognised any change in the children eating healthy food?

 

        There has been no minimal change in healthy food and these promotions have been unsuccessful

  1. Does everyone in the school have access to these promotions of healthy eating?

 

Only children in year 3 and above have access to these displays

  1. Are these promotions adjusted to the children’s hobbies and interested?

 

 No, this has not been considered.

  1. How much interest does the children show to these promotions?                                        

 

  The children show minimal interest to these displays and they do not remember the fun facts

  1. How will the children benefit from a new interactive game for children?                             

This will be a great alternative to children and this will be an addictive game to children as it interactive and competitive

 

As shown by the questionnaire, the schemes currently in place to promote healthy eating are not working. Although they are trying to promote healthy eating through most subjects, none of these schemes have grabbed the attention of the children.

How subjects promote healthy eating and if it effective?

Subject What the subject does to promote healthy eating Are the promotions interactive with the children? Have the promotions been effective?
PSHE The subject uses display with fun facts on them about food. Only the fun facts have interaction. But there is minimal interaction. Very minimal effect.
DT/ART Cooking healthy foods and draw different types of healthy foods Yes, the children are always drawing healthy foods. Not very effective, only worked on a few children
Maths Makes maths relevant to food, for example calculating calories of food and what number of calories is healthy or unhealthy. No interaction with the promotion Absolutely no change, children find the promotions boring
Geography Shows where different types of healthy food is grown in the World. No interaction with promotion Very minimal effect
Science Shows what types of protein and vitamins are in food and how they are helpful for to health No promotion with promotion Minimal effect

As shown by the table, the school uses multiple subjects to promote healthy eating, however the local primary school has not chosen to promote healthy eating through ICT. There has been no effect of promoting healthy eating through each subject, therefore with a more interactive subject promoting healthy eating such as ICT, the children are more likely to be affected positively by the healthy eating promotions.

1.2 Current system limitation:

The aim of the currents system is to promote healthy eating in the local primary school and outside of school. This scheme has been introduced as the local primary has experienced children eating a lot of unhealthy foods and the school aims to stop this through using subjects to teach children what types of foods are healthy and unhealthy and why they are healthy or unhealthy. However, these schemes have not been effective as there is no interaction with the users, additionally none of the displays have any visuals, as a result child who are visual learners are not able to learn from the healthy promotions. Also, none of the promotions are fun and are not effective for children, therefore the information of the healthy eating is not remembered by the children.

 Proposed flow chart:

Start

Press start button

Press enter

Game starts

Change snake direction

Right

Up

Left

Down

Press up

Press down

Press left

Press right

Snake turn right

Snake turn left

Snake goes down

Snake goes up

Turn left

Turn right

Snake goes up

Snake goes down

Did the snake hit himself?

No

Yes

Did the snake eat the healthy food?

Game over

No

Yes

Start a new game?

No

Yes

End

1.4 Proposed user:

All the students from reception to year 6 will be the proposed user for this program. I want this game to be user friendly, easy to play for all ages and to be fun. With this game to be proposed to children, this game has to be fun and addictive, therefore I will be creating an easy game of snakes that anyone can play but also make it a challenge, so the children want to play it repeatedly.

This project will also be proposed to the teachers of the school to test if the game is user friendly and easy to play for their pupils. If the teachers find the game fun and approve of the game, this would mean the game is fun and appropriate for the children.

This game takes the traditional game of snakes. The reasoning for using snakes is because it is easy to play for all ages and with the item the snake eating representing healthy food, it will promote healthy eating in the local primary school. This game will result in the primary school’s children’s health to drastically improve and to promote healthy eating, not just in primary school but outside school as well.

1.5 Proposed System languages (High level language programming):

Coding language          Positives Negatives
Java
  • Java is object-oriented
  • Java is platform-independent
  • Java has a very large and standard class library
  • Simplified syntax (compared to C++)
  • Does tell you what line the problem is
  • Language too complex to learn with a short period of time.
  • Takes a lot of code to set up the simplest structures ( for example setting up a scanner)
Python
  • Language I am most familiar with
  • Easiest language to read and write
  • Easy to set up coding structures such as arrays
  • Object Oriented Programming-driven
  • Supports multiple systems and platforms
  • A large number of resources are available for Python
  • Python is slow
  • It’s near impossible to build a high-graphic 3D game using Python.
  • Python is not good for multi-processor/multi-core work
  • Python is not a good choice for memory intensive tasks.
C++
  • Speed: Because it is compiled, C++ gains a lot of speed
  • Little memory management
  • Not familiar with the language
  • Small standard library
PHP
  • It works well with databases, file systems and images
  • It has extensive database support
  • It’s a quick and easy server side scripting language for web development and general use.
  • There is an extremely large body of built in functions, and there is an extension repository with even more.
  • Constantly changing. There hasn’t been a release of PHP that didn’t have a number of problems.
  • Inconsistent function names in the standard library
  • No scoping

The program language that I will use will be python. Firstly, Python is the most suitable in terms of access for the project and school. I am also most familiar with which means that I will be able to write the most efficient and best code for the proposed system. Although, Java would be useful to use as java has a large and standard library, python is more useful as a large number of resources of resources available to use.

1.5 Interviews:

Here I am gathering information about the proposed system with the headmaster of the local primary school. I have organised four detailed interviews discussing the problems of the current system initially, but eventually discussing the wants and needs from the proposed system. The proposed system will be finalised by the final interview with the headmaster.

Date Subject of interview Comments of interview
November 14th 2017 Formal interview with the headmaster discussing the current system and I asked how healthy eating is promoted in the local primary school See interview 1
November 22nd 2017 Formal interview with the headmaster discussing in depth the current problem and potential ideas. I asked if the schemes in place have seen any positive or negative effect on the children and if he has any ideas on what would promote healthy eating in ICT/ Computer Science in the local primary school. See interview 2
November 24th 2017 Formal interview with the headmaster discussing the proposed system that I have thought of. I asked the headmaster on what he thought of the proposed game of snakes to promote healthy. See interview 3
December 1st 2017 Informal interview with the headmaster about the finalised idea of the proposed system. I asked the headmaster for any specific requests for the game. See interview 4

Interview 1 summary:

The headmaster summarised the current systems in place at the school and how they use subjects to promote healthy eating.

Interview 2 summary:

The second interview focused on the current system in place and how it has failed. The headmaster pointed out that there is nothing in place to promote healthy eating for computer orientated subjects such as ICT. Also, the headmaster pointed out that the majority of children are addicted to computer games.

Interview 3 summary:

The project was proposed to the headmaster. The project imposed to the headmaster received positive feedback as it would solve the problem of not having a system in place in ICT/Computer science to promote healthy eating, and it would also satisfy the majority of students who love to play games. The headmaster wanted the project to be made.

 

 

 

 

Interview 4 summary:

The final talks of the project with the headmaster were made. The headmaster had two main needs from this project. This was that the project had to be easy to use for even 5-year olds. Secondly, the headmaster wanted the project to have efficient code as the computers in the school have low storage left. These two wants from the headmaster will be considered and added to the project.

1.6 Specific Objectives:

Acceptable Limitations- these are objectives that I would like to add to the project but may not be possible as the time to build the program is short:

  • Firstly, I would like my project to be as efficient as possible in combination with low storage. As a result, my project will be able to be played on the school computers. Also, with the project being efficient, the reaction from the program because of a user interaction will be quick and this would make the game more enjoyable and enjoyable.
  • Secondly, this project has to be vibrant, so this will entice and grasp the children’s attention, as a result more children will play the game.
  • Thirdly, this game has to be challenging so the game does not become boring and repetitive. I want to add a difficulty measure, so the game becomes hard to play but addictive at the same time.
  • The system should notify user how to play the game before the actual game starts, as a result the game will be able to be played by anyone
  • The game has to be played by anyone (especially by primary school children), as a result I will use WASD or arrow keys to play the game as it the easiest ways to play the game.
  • The game must also be able to be used by teachers/adults, so they can validate the game for children.

Success Criteria:

  • Clear language
  • High level programming
  • Program should be responsive to user interaction
  • Easy access for children and teachers
  • User interface friendly
  • The game must be able to navigate from one interface to another interface

General objectives:

  • The system should be bug-free
  • The system should be functional
  • The system should be as easy to use as possible
  • The colour scheme should be bright and consistent
  • The system should be efficient and take as little storage as possible

2.0 Design requirements:

I will be designing a classic snake game, which the aim is to promote healthy eating in the local primary school. I want to make it a small size map as it would make the game more difficult as the snake increases in size, as a result it would make the game more enjoyable for the children. I will also use contrasting colours to make the snake, food, borders and background distinguishable. Another design requirement is that the menus are easy to use so all ages are able to play the game.

Input:

The inputs of the game will be that the user will have to click on the screen to go to the next screen. Also, to move the snake the user will have to use the arrow keys.

Processing requirements:

The food must be placed in a random place within the borders. Also, with the snake eating the food or colliding with the borders the response of the action must be fast.

 

Output requirements:

The score must increase by 1 as the snake eats the food. Additionally, when the game starts and ends an end/start screen must appear. Finally, once the user choses to start the game, the borders, snake and food must appear instantly.

 

Storage requirement:

The size of the snake should be stored as it increases in size. Also, the score overall must be stored so when the snake dies at the end of the game, the score that the user earned is shown.

 

 

 

Software and hardware requirements

This game will be programmed on python and the user will need python 3.4 to run the program.

Hardware Reason
Keyboard Use the arrow keys to control the snake and eat the healthy/unhealthy food
Monitor To view the game (this game can be used on any monitor quality)
15 MB free space in hard drive Free space is required to store the game on computer
Minimum 64 / 128 MB RAM Run python on computer so the game can be used

Variables:

Variable Data type Size Description
Direction Int 0-3 Contains the direction that the user snake is facing.
Mouse pressed Int 1-3 Contains the values which represent the mouse buttons when pressed and finds the number associated with the mouse button pressed
y Int 0-640 This shows the position of user on y axis, ranges between 0 and 640 because of the screen size
x Int 0-480 Contains the position the user in the x axis , ranges between 0 and 480 because of the screen size
Key Pressed Int 1-145 Contains the values which represent each key when pressed and finds the number associated with the key pressed
Solid Boolean True or false Used to check if the tile you are going to move to is solid so collisions are detected to prevent movement on to it
Food Eaten Int 0-10000 Shows how much healthy food has been eaten by the user

2.1 Main Menu Proposed Screen

Title named ‘Snakes’

Option “Quit” will close the window/program

Option help will give the user instructions how to play the game

The play option will start the program/ game for the user

2.2 Proposed interface design on Main Screen

Design on main screen Property of design Details
Title 1.Alignment

2.Colour

3.Font

4.Text

1.Middle

2. Yellow

3.Calibri (size font 22)

4.Snakes

Option 1 1.Allignment

2.Colour

3.Font

4.Text

1.Middle

2.Yellow

3.Calibri (size font 14)

4.Play

Option 2 1.Allignment

2.Colour

3.Font

4.Text

1.Middle

2.Yellow

3.Calibri (size font 14)

4.Help

Option 3 1.Allignment

2.Colour

3.Font

4.Text

1.Middle

2.Yellow

3.Calibri (size font 14)

4.Quit

Background 1.Colour

2.Size

1.Green

2.1920×1080

 

Interview of the Main Menu Screen

As shown from above, I have proposed what the start screen may look like. I want feedback by asking if they like the design of the main screen to both students and the headmaster of the primary school .

Headmaster

Are there any aesthetic changes you would make to the main menu?

I want a simplistic and non-vibrant title with a simple way to start the game. If you can add a simple click system to start the game it would be easy to start the game for the student. But most importantly keep it simple.

Student

Do you like the design of this game?

This looks boring. I would not want to play this game if this was the main screen. The colours are ugly, especially the colour of the background colour.

2.3 Design of Snake game:
Due to the limitation of python and the objective of trying to make the program as efficient as possible while using as little storage as possible, the graphics of the game will not be realistic. Therefore, I have proposed simple designs that are realistic to the capabilities of python turtle

Snake:

A simple yellow box has been chosen as it contrasts well with the black background and with the red food. It is especially suitable once the snake gets longer, as it looks very much like a snake.

Food:

A normal red circle has been chosen to resemble an apple. This fits the theme of trying to promote healthy in the local primary school. It also very suitable aesthetically, as it also contrasts well from the background colour and snake colour.
Background:

I have chosen a black background as it is recognisable in previous classic snake’s games.

2.4 Gameplay Screen Vote Aesthetics:

I have set a poll for 30 random students in the school to rate the aesthetics of the snake, food and background/borders. The poll will enable student to rate t from 0-5. Here were the results: Brackets show how many votes the option received.

From the scale from 0-5 how much do you like the look of the snake:

Option 1:0(0)

Option 2:1(0)

Option 3:2(1)

Option 4:3(18)

Option 5:4 (10)

Option 6:5(1)

From the scale from 0-5 how much do you like the look of the food:

Option 1:0(0)

Option 2:1(1)

Option 3:2(5)

Option 4:3(18)

Option 5:4 (5)

Option 6:5(1)

From the scale from 0-5 how much do you like the look of the background/borders:

Option 1:0(0)

Option 2:1(0)

Option 3:2(0)

Option 4:3(8)

Option 5:4 (15)

Option 6:5(7)

As shown in these votes by the students, the student are happy with all. If it was possible to improve the food and snake aesthetically, the changes would be made, however python and storage size restricts it.

2.5 Final proposed Main Screen:

Snakes the Game

Click screen to play the game

Click anywhere on the screen start the program

Title of the game

Design Properties Details
Title 1.Alignment

2.Colour

3.Font

1.Central

2.Red

3.Calibri

Option 1.Allignment

2.Colour

3.Font

1.Central

2.Purple

3.Calibri

After reviewing the menu, I have chosen propose to an instruction screen after the user clicks on the screen on the start screen. As the screen is simple and easy only the arrow keys are needed to play the game.

The instruction screen also reminds the user that the snake eats healthy food which is an attempt to promote healthy eating.

How to play

Up arrow to go up

Right arrow to go right

Down arrow to go down

Left arrow to go left

Menu

Instructs the user to move the direction of the snake by using the arrow keys

Click the screen

Load game

Game Starts

2.6 Interview of two proposed main screens:

Headmaster:

Do you like the first proposed screen or the second proposed screen?

What are your opinions on this final main screen?

This is exactly what I wanted. It is simplistic, non-vibrant but still enticing. I especially like the way that the user can click on the screen to start the game. This is perfect.

Student no.1:

Do you like the first proposed screen or the second proposed screen?

The second design screen

Do you like the look of the main menu?

It looks very good. I like the background colour and how it contrasts the colours of the title.

Do you want to play the game based on how the main menu looks?

Yes, the main menu looks very good which makes me want to play the game.

Is it easy to start the game?

Yes, very easy to play as all you have to do is click to screen

Student no.2:

Do you like the first proposed screen or the second proposed screen?

The second design screen

Do you like the look of the main menu?

It like it, I like how the colour of the background, title and ‘click to play’ message are all different but they to mix well.

Do you want to play the game based on how the main menu looks?

Yes, it looks exciting

Is it easy to start the game?

It is very simple to start the game

Teacher:

Do you like the first proposed screen or the second proposed screen?

The second design screen

Do you think the students will like the main menu aesthetically?

They will like it, especially the simple click system to start the game. The click to play system is suitable for students.

Would you make any aesthetic changes to the title?

No, nothing

2.7 Interface Design: Design of gameplay screen:

This represents healthy food (apple) and as one is eaten another one spawns in another part of the map

 

This is the border of the game

Background colour is black all throughout the game

This represents the snake, as red blocks are consumed the snake increases in length by 1.

The score increases by 1 as a red block is consumed by the snake

 

 

 

 

 

 

 

2.8 Algorithms

The game that has been created will contain algorithms within the functions.

The algorithms in the game will be in the order of:
1) Game Start Up:

  • Start title screen (main menu)
  • Load main menu instructions

 

2) Detect click:

  • When clicked on screen the game will load up the game

3) Load map:

  • Create colours of map, background, snake and food

4) Detect arrow key presses:

  • Change the direction of the snake when arrow key has been used

5) Detect collisions with snake and objects:

  • Detect collisions with walls
  • Detect collision with food
  • Detect collision with the snake’s own body

Now I am going to use pseudo code to show and explain certain algorithms:

Game Start Up

  • Create game loop so the game can be started and restarted from the start screen and end screen
  • Create a frame for the menu
  • Write the title of the program
  • Write the instruction to ‘click to play’
  • Create the background colour for the rest of the program (constant variable)

Detect click

  • If the user clicks on the screen the game will transition from the Game Start Up algorithm to the Load Map algorithm

Pseudocode:

  1. Load Main Menu/Game Start Up
  2. print (“Click To Play”)
  3.          If user clicks on screen:
  4.                    Load Map
  5.           else:
  6.         Stay in Main Menu
  7. endif

Load Map

  • This will load the whole game:
  • Borders
  • Food
  • Snake
  • Score variable on screen

 

 

 

 

 

 

 

 

 

 

 

 

 

Pseudocode:

  1. Load Image of Map
  2. Background = Black
  3. Map = 250×250
  4. Print (score)
  5. Food = random of x -axis length
  6. Food = random of y – axis length
  7. Snake = random of x -axis length
  8. Snake = random of y – axis length
  9.        If Snake position = Food position
  10.        random of x – axis length
  11.        Food = random of y – axis length
  12. Else:
  13. Start Game

 

Detect Arrow Keys

  • When the user clicks the arrow key the snake must change in direction that has been clicked.

Pseudocode:

  1. Load Map
  2. Start Game
  3. If user inputs right arrow key:
  4.          Snake = turn 90 degrees
  5. If user inputs left arrow key:
  6.          Snake = turn 270 degrees
  7. If user inputs down arrow key:
  8.          Snake = turn 180 degrees
  9. If user input up arrow key:
  10.          Snake = turn 0 degrees
  11. Endif

Detect collision with snake and objects

  • When the snake collides with objects such as walls, food and the snake itself

Pseudocode:

  1. Load Map
  2. Start Game
  3. Load Arrow Keys algorithm
  4. If snake coordinates = walls coordinates:
  5.           ENDGAME
  6. If snake coordinates = food coordinates:
  7.           Snake = Snake + 1
  8. If snake coordinates = snakebody coordinate
  9.            ENDGAME
  10. endif

2.9 Interface Design: Design of end screen:

How to quit the program

Shows the snake and where the snake died

Message displaying that the game is over

Message telling the user to click on screen to restart the game

Shows how many apples the user ate

The reason for not adding a quit option in the program as it is saves memory. Adding an option to quit would take up memory and this would go against one of the main objectives of this project which is to make the program as efficient as possible. Therefore, I have chosen not to add a quit option in the program. The way to quit the program for the user is to close it by the close button on the top right of the program.

3.0 Implementation

The code for this game will be here. I will annotate the code to show why I chose certain code and why I chose to leave other code out.

3.1 Start screen

I have created a function to make the format the code easily, it make it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

Background colour for the whole program is black. I have chosen this as it contrasts the colours of the snake, food and borders perfectly

Title of the game. I have chosen size 30 as it is the title of the game, therefore it has to be large

Click on screen to transition to the health promotion screen. I have chosen to add this means the menu is easy to be accessed. Therefore, all ages in the local primary school can play the game easily with this function

This is the menu screen. All variables have not been changed as nothing happens to the variables in the program. From the menu, the user has to click the screen to go to the next screen (instructions). Also, the black background will stay throughout the program.

Heading of the game

Title of the game

Click the screen to go to the next screen

3.2 Health Promotion Screen

This screen is used to promote healthy eating. In this screen, there are facts about heathy eating and this is used to promote healthy eating in the local primary school. With all the messages on the screen, I have chosen Ariel in size 10 as it is large and easy enough for children to read.

I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

The screen will rest from the last screen

A function that the user clicks the screen to transition to the next screen (instructions)

These print the lines of healthy promotion foods. I have chosen to put the lines of text under each other so it is easy to read for the children and the text is big and colourful enough so the children can read and understand the text easily

Facts about different types of food to promote healthy eating in the local primary school

Black background throughout the program

Reminder for children to eat healthy food in the local primary school

3.3 Instruction screen

I have created a function to make the format the code easily, it make it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

These are instruction to show the user how to play the game. I have chosen to show the instructions in size 20 as it easy for the children to see the instructions

A function that the user clicks the screen to transition to the next screen (start)

In the instruction screen, the user will get the instructions how to play the game. Again, the user will have to click the screen to move to the next screen (gameplay screen).

Instructions of the game. I have chosen red colour for the text as it contrasts the black background which makes it easy to read for the primary school children

Promotes healthy eating in the local primary school

3.4 Gameplay Screen

I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

Size 10 thickness of the borders of the game

Coordinates of the map corners. This will create a square border that will be blue.

This is the gameplay screen. The borders of the game is created and if the snake touches the border, it dies. The score will also be implemented on the screen and as the snake grows, the score will also increase.

Blue borders so it contrasts the black background. Therefore, it makes the game easier to play for the local primary school students

3.5 Food

Creating the look for the snake. In creating a red circular block I have attempted create a red apple as turtle does not import pictures

I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

The random library function is used and this creates the range of coordinates the food can spawn

This sets parameters for where the snake can appear in the map

This is where the food is created and the look of the food is created. Also, the code tells the snake to spawn in the border co-ordinates.

A while statement is used so all of the below is available when the snake is within the borders of the game

The direction of the snake is available and the ‘move’ function is called

Creating variable name

This is where the snake increases in size by 1 as it eats food

With this if statement, the food will only appear if it is going to appear within the borders of the map/borders

Variable for the length of the snake. This shows the score of the snake

If statement used for the position of the snake

Apple appears within the map after being eaten

3.8 Direction

I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

When pressed, the action will not happen as the snake is already looking at that direction

This is where the controls of the snake is created.

The snake successfully goes left, up, right and down using the arrow keys

3.9 Snake

I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

Creating the snake

If else statement is used so the snake increases in size as it eats heathy food

This increases the size of the snake by 1 as 1 piece of food is eaten.

This is where the snake is created and how it looks. The snake will increase in size as the snake eats food.

As the snake eats the food, the size of the snake increases

The look of the snake is yellow and is contrasts well with the colours of the food, border and background.

3.10 End Screen

I have created a function to make the format the code easily, it makes it easy to read, understand and de-bug the code. It is also makes it easier to add code to the program

Variable for the size of the snake. In the end screen the user will be told what their score was

When the screen is clicked the game will loop to the beginning of the game

This is where the end screen is created and when the snake dies the end screen will appear

This tells the user that the snake died and it tells the user how many apples the snake ate

The gameplay screen is still shown in the screen. I could have chosen to taken this away however I believe it looks better aesthetically

Click the screen to loop to the beginning of the game

3.11 How to download the game

I will give a USB containing the game code in it to transfer the game to all computers in the local primary school.

When the USB is connected to the computer to the user will go to the computer files and click on the USB

This is the USB that contains the game.

When the user opens the USB files. There will be a folder containing the game

Open this folder to find the code.

The program of the game will be there:

Then to make the program/game accessible on the desktop of the computer:

Click to create a desktop shortcut for the game

Or the user can drag the file to the desktop.

The file will be on the desktop:

The game is now on the desktop of the computer

3.12 How to start the game/program

Double click on this icon to start the game

3.13 How to navigate with the Main Menu Screen

How to quit the game

The user has to click the screen to go to the next screen

3.14 How to navigate the Healthy Food promotion screen

Click on screen to go to next screen

3.15 How to Navigate the Instruction Screen

The instruction in how to navigate the snake is shown here

3.16 How to navigate the gameplay screen

Border of the game

The food that the snakes has to eat to grow

The score will increase as the snake at more

This is the snake, as it eats more food the snake will increase in size by 1 each time. Control the snake with arrow keys

3.17 How to Navigate the end screen

When the snake dies, this message will appear

Will display how many apples the user ate

Click on the screen to restart the game

3.18 Troubleshooting

When downloading and playing this game, errors and problems may occur, however I have not implemented any error messages. Therefore, here are some problems that could occur, why they could occur and how these errors could be stopped.

Downloading the game issues:

Issue Probable cause Possible solution
USB not being recognised by computer
  • USB port faulty
  • USB faulty
  • Replace USB port
  • Try again at a later time
  • Ask for a new USB to transfer game
Computer is not allowing game to be downloaded
  • Not enough memory available
  • Delete unnecessary programs until enough space if available

General potential issues:

Issue Probable cause Possible solution
Game not opening despite being downloaded
  • Python not downloaded on computer
  • Download python: https://www.python.org/downloads/
Gameplay is very slow
  • The computer does not contain enough RAM
  • Add more RAM or delete items in the RAM

3.19 How to back up files when the game is downloading

This section is a precaution for the when downloading the game onto the local primary school computers. While downloading the game, there is a chance that the computer may crash and this will result in files being lost or corrupt. To stop this from happening the local primary school should:

  • Store all important files on a hard drive or USB before downloading the game. Preferably, the hard drive should be at least double in size of storage than what you want to save.
  • Plug the device into the computer and save all files that the local primary school needs to save onto the hard drive.
  • When all files have been saved onto the hard drive, take out the hard drive before downloading the game as there is a chance the hard drive could be corrupted as well.
  • When the hard drive has been out of the computer, then start downloading the game onto the computer
  • Then, if all files were lost in the computers when downloading the game, plug in the external storage (hard drive) back into the computer and copy all the files back into the computer. These files will overwrite the current files on the computer and will replace any file that was lost during the download.

The same method can be used with the game. If the game on a computer becomes corrupt or stops working, the local primary school can plug in the external storage (hard drive) and copy the files of the game on the computer.

4.0 Testing

Now I will start testing Snakes. I will only propose the final game until I have tested all the features to the game and if they are all successful in what the functions/algorithms are meant to do. I also want to fit all the objectives of the game, I will do so by testing the program and interviewing students about the game and see if these objectives can be successful and fulfilled in the game.

I will test in three stages:

  • Alpha Stage Testing – Simple testing of the game by self-testing if the basic functions of the game work
  • Beta Stage Testing – Testing the whole program with a random a small group of students and getting feedback on the game
  • Gamma Stage Testing – I will give the final game to the headmaster and give feedback.

During these tests I will be fixing any problems that arise and I will test all the functions in the program.

When I have fully tested the game, I will release the game to the primary school and will then assess the effect of the game.

I will take screenshots as evidence that the function tested is working.

4.1 Testing Snake Movement

Test number Method of testing Input Expected result Result
Test no.1 Checking movement snake of movement using arrow keys Up Arrow Key Snake turns up Snake turns up

Test no.2 Checking movement snake of movement using arrow keys Right arrow key Snake turns right Snake turns right
Test no.3 Checking movement snake of movement using arrow keys Down arrow key Snake turns down Snake turns down

Test no.4 Checking movement snake of movement using arrow keys Left arrow key Snake turns left Snake turns left

After testing the movement of the Snake, all seems to be working and no change is needed. The movement is responsive and quick to the user input.

4.2 Testing Snake eating Food

I will test this function 5 times as it is a crucial function to the game and I want to ensure it works consistently

Test number Method of testing Input Expected result Result
Test no.1 Eating food with the snake Using the arrow keys to move the snake to where the food is in the map The snake will increase in size by one The snake increased in size by 1

Test no.2 Eating food with the snake Using the arrow keys to move the snake to where the food is in the map The snake will increase in size by one The snake increased in size by 1

Test no.3 Eating food with the snake Using the arrow keys to move the snake to where the food is in the map The snake will increase in size by one The snake increased in size by 1

Test no.4 Eating food with the snake Using the arrow keys to move the snake to where the food is in the map The snake will increase in size by one The snake increased in size by 1
Test no.5 Eating food with the snake Using the arrow keys to move the snake to where the food is in the map The snake will increase in size by one The snake increased in size by 1

4.3 Testing Snake eating its own body

Test number Method of testing Input Expected Result Result
Test no.1 Will make the snake eat/collide with its own body Will use arrow keys to make the snake eat/collide with its own body The snake will die The snake died

This function of the game worked and does not need to be changed

4.4 Testing Snake colliding with border of the game

Test number Method of testing Input Expected Result Result
Test no.1 Will make the snake collide with the border Will use arrow keys to make the snake collide with the game borders The snake will die The snake will die

4.5 Beta Testing:

After testing the game by myself I have chosen to start testing the game with a small group of children in the students. I will give them the game to play with all the functions of the game and then will implement the game to the request of the students.

I have given 4 random students the game to test the game and have the honest opinions of the game and how it can be improved.

I have asked these questions about the game:

  • Does the movement of the snake work?
  • Does the snake increase in size by 1 when the food is eaten?
  • Does the snake die when it eats/collides with its own body?
  • Does the snake die when it collides with the border of the game?
  • Also, to add an overall list of positive and negatives of the game?

Student 1:

Q1) Yes, however it is a bit slow

Q2) Yes, the snake grows in size

Q3) Yes, the snake dies

Q4) Yes, the snake dies

Student 2:

Q1) The snake movement does work but I think it should be faster

Q2) Yes, it works

Q3) Yes

Q4) Yes

Student 3:

Q1) Yes, the movement works

Q2) Yes

Q3) Yes. After testing it repeatedly it works

Q4) Yes

Student 4:

Q1) Yes, but I think increasing the speed would make it more challenging

Q2) The snake increases in size by 1

Q3) The snake dies

Q4) The snake dies

After reviewing the comments of the game and seeing that game has no game breaking faults, I have recognised that the speed of the snake should increase as the users did the find it challenging. This change will be implemented.

After looking at all the results and answers to the advantages and disadvantages give about the game, I have chosen to summarise the answers given:

Positives Negatives
  • Easy to use menu
  • Easy to play
  • Great background colour
  • Easy to use end screen
  • Easy to restart game
  • Good map size
  • Snake is too slow
  • Snake graphics should be approved
  • Instruction should be more detailed

4.6 Gamma Testing

I have given the game to the headmaster and said that he is happy with the game.

Positive feedback Negative feedback
The menu aesthetics look great and easy to use Snake is too slow. It makes the game too easy
The score system is useful and adds quality to the game Healthy eating should be promoted more often in the menus
The background colour of the game is good aesthetically
The aesthetic of the gameplay looks suitable

5.0 Evaluation

After giving the final game to the headmaster and the local headmaster, I have received only positive reactions. This is the review of the game:

5.1 Success of Objectives of game

5.1.1 Specific Objectives

Specific Objective Achieved or not achieved Details
To be as efficient as possible and lowest storage amount as possible Achieved The game was able to be downloaded and played on each computer without any problem
Vibrant colours Achieved The gameplay screen has multiple colours
Game has to be challenging Achieved The game has a small map so the larger the snake grows, the difficulty increases.
An instruction screen Achieved Before the game starts, there is a screen telling the user how to move the snake and with what keys.
Easy to play Achieved Only arrow keys are needed to play the game

5.1.2 Success Criteria

Success criteria Achieved or not achieved Details
Clear language Achieved Used functions to spilt code
High level programming Achieved Use of python
Program should be responsive to user interaction Achieved There has been no negative feedback on responsiveness of user interaction
Easy to access Achieved The game is on the desktop
User interface friendly Achieved Easy to use by all ages
Easy to download Achieved Done by USB with no problems reported

5.1.3 General objectives

General objectives Achieved or not achieved Details
Bug-free Achieved No reports of bugs have been experienced yet
Functional Achieved Everything seems to be working so far
Easy to play Achieved Being played by all ages in primary school with no complains of children being unable to play the game
Bright colour scheme Not achieved I chose a black background colour to emphasise the borders, food and snake voluntarily.
Low storage Achieved The game successfully installed on all computer with no memory problems.

5.1.4 Input Requirements

Input requirements Achieved or not achieved Details
Click on screen to transition from one screen to another screen Achieved No problem has been announced about click on screen function
Use arrow keys to navigate the snake Achieved No problem has been announced about arrow keys navigating the snake

5.1.5 Processing Requirements

Processing requirements Achieved or not achieved Details
Food must spawn in random place within the borders Achieved No problems announced
Snake should die as snake eats itself or collides with a border Achieved No problems announced

5.1.6 Output requirements

Output requirements Achieved or not achieved Details
Map, snake and food should appear straight away Achieved No problems announced
The score Achieved As the snake eats food, so does the score
End/start screen must appear straight away Achieved No problems announced

5.1.7 Storage requirements

Storage requirements Achieved or not achieved Details
The size of the snake should increase as the snake eats food Achieved No problems announced
Overall score must be stored and displayed at the end of the game Achieved No problems announced

As shown by the objectives of the game before being the created and how I achieved most of these objectives, overall, I am happy with how the game as it has everything that is essential for it to be a successful game in promoting healthy eating in the local primary school.

5.2 Personal criticisms of the game

Criticisms of the game:

Criticism Possible solution
Graphics Use a different coding language that is able to import pictures so the snake and food looks more realistic

If I was given more time to create this, I would add the following extensions to the game:

  • Make it compatible on phones for android and iPhone so the children can play the game at home
  • Add enemy’s in the game to add to the difficulty in the game.
  • Make it compatible on phones for browser so the user does not need to download the game to play the game.

5.3 Effect of the game

After the game has been released, I wanted to see the effect of the game on the children and see if the game created has achieved its overall objective of promoting healthy eating. I have asked 5 random teachers in the school on the effect of the game on the primary school children.

Teacher 1:

The effect of the game on the children has been noticeable. It seems that the knowledge of the healthy food has drastically increased within the classrooms and this is clearly evident by the fact that children are now eating more healthy food since the game has come out.

Teacher 2:

Children seem to be more addicted to the game and as a result of the game constantly being played, the children seem to know more about healthy foods and what they do

Teacher 3:

The game for the children is very fun is always being played. There has been such an improvement with healthy eating in the primary school since the game has been released.

 

Teacher 4:

Everyone has noticed that the children have played the game a lot since it has come out, and it has a much better impact than the other subject promotions in promoting healthy food.

 

Teacher 5:

Since the game has come out, there has 100% been an improvement in the healthy eating in the school. It has definitely promoted healthy eating positively.

 

 

As shown by the interview, the game has achieved its main effective of promoting healthy eating in the local primary school. I believe the constant reminders of healthy eating enabled this objective to be achieved

5.4 Evaluation of the game

Overall, I am very happy with how the game has ended. It seems to be bug free while completing all of the objectives set before starting the game. It also seems to be very effective in promoting healthy eating to the children as shown by the questions with the teachers. Therefore, it is undisputable that this project has been impactful in the local primary school. When looking at the code of the game, it is efficient and does not take up much storage in combination with it being a high quality and difficult game. In conclusion I am overly satisfied with how this project has concluded.

 

 

 

Cite This Work

To export a reference to this article please select a referencing stye below:

Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.

Related Services

View all

Related Content

All Tags

Content relating to: "Information Technology"

Information Technology refers to the use or study of computers to receive, store, and send data. Information Technology is a term that is usually used in a business context, with members of the IT team providing effective solutions that contribute to the success of the business.

Related Articles

DMCA / Removal Request

If you are the original writer of this dissertation and no longer wish to have your work published on the UKDiss.com website then please: