Upload
hccit
View
699
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
IPT Major Project Documentation
By Mark Johnman
Contents
1.0 Problem Definition.............................................................................................................2
1.1 Aim................................................................................................................................. 2
1.2 General Problem Description.........................................................................................2
2.0 Design.................................................................................................................................3
2.1 Specification...................................................................................................................3
2.2 Top Down Design............................................................................................................9
2.3 Algorithm Design..........................................................................................................10
3.0 Implementation................................................................................................................16
3.1 Source Code................................................................................................................. 16
3.2 User Manual/Documentation of Implementation........................................................16
4.0 Testing..............................................................................................................................17
5.0 Evaluation.........................................................................................................................21
5.1 Product Evaluation.......................................................................................................21
5.2 Process Evaluation........................................................................................................22
5.3 Potential Improvements...............................................................................................22
1
1.0 Problem Definition
1.1 Aim
The aim of the project is to manufacture an entertaining educational resource that can be utilised by teachers throughout Queensland to both encourage and facilitate classroom learning. This teaching tool shall take the form of an online adaption of the popular game show, “Who Wants to be a Millionaire?”, complete with an added ‘Questions’ text file that will allow educators to craft problems relevant to their subject area. “Who Wants to be a Millionaire?” will be developed for use in an Upper Primary (4-7) and/or Middle Years (6-9) environment, as the students in these areas will generally be young enough to appreciate the game, whilst old enough to gain an academic benefit from it. Overall, the flexibility inherent within the proposal will provide staff with the ability to easily personalise in-game content, as well as offer students a fresh and entertaining way of assisting and consolidating cognitive learning.
1.2 General Problem Description
The task is to develop a fully functional, single page web application utilising a selection of the W3C languages, with a particular emphasis upon Javascript, HTML and CSS. The application will be constructed using the principles of the Software Development Cycle, combined with the unrivalled professionalism that ‘Team Red’ brings to the software engineering frontier. Below are listed the assumptions, limitations and expected results of the project upon completion:
Assumptions:
The application will be developed and optimised in and for Mozilla Firefox 6.0.2. The game will be designed for a computer screen with a resolution of 1280 x 800
pixels The players are expected to know how to interact and work within a web browser. It is assumed that the creators of the questions (teachers, educators, etc) know how
to utilise a text file editing program such as Notepad. Users will be expected to follow the rules of the game, as well as those within the
Questions text file, and not cheat (i.e. no hacking of the application is assumed or accounted for).
Limitations:
Due to the format of the chosen application ("Who Wants to be a Millionaire?”), some of the features that are traditionally part of the game will have to be modified to fit the web-based genre. These are:
2
o Lifelines will be altered as appropriate (e.g. the ‘Phone a Friend’ lifeline will be replaced with the ‘Get a Hint’ lifeline instead - see 2.1 for more information)
o A timer option will be added to the game (the length of which - from 10 - 3600 seconds - can be selected by the teacher and stored in the Questions text file) to assist students in developing speed, as well as accuracy, in their consolidation of classroom learning. This will add an extra dimension to the application and increase students' preparedness for exams and other activities involving the skill of time management. It should be noted that the parameters of 10 - 3600 seconds were chosen to give educators a wide time range in which they could ask questions. However, it would be impractical to go below 10 seconds as players would not have enough time to use lifelines in answering their questions (should they so desire). Above 3600 seconds is also highly unlikely as there would be very few multiple choice questions that would take this length of time to answer.
o A player will not be able to leave "Who Wants to be a Millionaire?” after reaching a certain level (e.g. $32 000) and will instead have to complete the entire series of questions before they can finish the game.
o In-Game questions do not have to follow the easy - hard format as they will be regulated and edited by a variety of educators who may not adhere to this tradition.
Expected Results:
Creation of an online adaption of “Who Wants to be a Millionaire?”, with an accompanying ‘Questions’ text file so that teachers can add and edit problems relevant to their subject areas (refer to 1.1 for more information).
The use of the developed web-app in Upper Primary and/or Middle Years classrooms to encourage and consolidate teachings in an interactive and entertaining way.
2.0 Design
2.1 Specification
Choices that a User Can Make:
Start Up Screen: New Game - takes player to the five second countdown How to Play - goes to the User Manual (Instructions PDF file)
In-Game: Selecting one of the four possible answers (clicking on the answer highlights
it)
3
Selecting the Lock It In link to check if the chosen answer is right or wrong
Answer correct - clicks OK - taken to the next question/level is moved up to the next dollar value (e.g. $2000)
Answer incorrect - notification of losing the game (see third major dot point)
All 15 questions answered correctly - notification of winning the game (see fourth major dot point)
Picking a different possible answer Back to the In-Game state
Choosing a lifeline Deciding to use the lifeline - clicks OK of confirm box
Lifeline is used and player clicks the OK button if applicable (i.e. if then chosen lifeline is Ask the Computer, which has its results displayed in an alert box)
Deciding to not use the lifeline - clicks Cancel of confirm box Back to the In-Game state
Clicking the Lock It In link without having selected an answer Notification (alert box) that the player needs to select an answer
before clicking the Lock It In link - player clicks OK Back to the In-Game state
Losing the Game: Player notified that they have lost the game when the timer runs out or they
answer a question incorrectly - clicks OK of alert box Back to the Start Up Screen
Winning the Game: Player asked for their name and types it in a prompt box (Note: even if the
player clicks cancel, the prompt box will keep appearing until the player types some text into the text field)
Inputted name displayed on a $1,000,000 cheque - clicks Return to Start Menu link
Back to the Start Up Screen
Program Outputs:
Start Up Screen (with New Game and How to Play as the options) Five second countdown to the start of the game (i.e. Question 1) User Manual A potential timer for each question (if activated by the teacher, it will be displayed at
the top of the screen). If the timer runs out, the user loses the game. If a lifeline is clicked, the timer is paused while the lifeline is being used. After the lifeline has been used, the timer restarts where it left off (except for the Switch the Question lifeline,
4
where the timer starts over as the player has replaced the current question for a new one). The exact value of the timer will be selected by the teacher/creator of the questions and will be stored in the Questions text file.
Questions and the four possible answers to each one (displayed in the middle of the screen)
Lock It In link (under the questions and their four possible solutions) Lifelines (each can only be used once and are displayed at the left of the screen) and
their results (displayed on screen or in a message box)o Fifty-Fifty – randomly removes two of the incorrect solutions, leaving the user
with a correct and incorrect answer to choose from.o Get a Hint – gives the user a hint regarding the question that they are
answering (pre-written in the Questions text file with each question and its four possible solutions). This hint is displayed between the answers and the Lock It In link.
o Ask the Computer – randomly allocates a percentage (0-100%) chance of being correct to each possible answer, with enough weighting being given to the correct answer so that it is generally, but not necessarily always, the solution with the highest percentage.
o Switch the Question – swaps the question on which the lifeline is used with another one (the 16th question read in from the Questions text file and stored in the questions array).
Lifelines after they have been used - essentially the same as when they hadn't been utilised, but with their icon having a cross through it and their link doing nothing when clicked.
Level currently on (displayed on the right side of the screen)o $100o $200o $300o $500o $1000o $2000o $4000o $8000o $16000o $32000o $64000o $125,000o $250,000o $500,000o $1,000,000
5
Confirm box asking if the player wishes to use the lifeline that they have clicked on (timer is paused while this is happening)
Notification of clicking on the Lock It In link without selecting an answer Notification if the In Game Timer Value is incorrect (occurs after the countdown to
the start of the game - not described in the Choices that a User Can Make section as the player has no control over whether this will appear - it is the person who writes the questions in the Questions.txt file that causes this notification to appear)
Notification if the Number of Questions in the Question Pool is incorrect (occurs after the countdown to the start of the game - not described in the Choices that a User Can Make section as the player has no control over whether this will appear - it is the person who writes the questions in the Questions.txt file that causes this notification to appear)
Notification of getting a question correct Notification of losing the game (i.e. getting a question wrong/timer running out) Notification of winning the game (i.e. getting all 15 questions right)
o Prompt box asking for the player's name o Winner's $1,000,000 cheque, with the player's name on ito Return to Start Menu link
Data to Be Read From Disk:
Questions text file, which is to be edited by educators to make the web application content relevant to their subject area. It is to contain:
o Timer length (i.e. how long the timer for each question is to run)o Total Number of Questions in the Question Pool (i.e. the total number of
created questions within the text file, from which the application will randomly select 16).
o Questions (from which 16 will be randomly selected - 15 for the actual game and a spare one in case the Switch the Question lifeline is utilised).
o Hints (one hint for each of the questions in case the Get a Hint lifeline is used).
o Answers (the correct answer and three incorrect answers for each question).
Calculations the Program Must Perform:
Randomly selecting 16 questions, along with their hints and answers, from the questions within the Questions text file.
Randomly deciding which positions the four answers will occupy (first, second, third or fourth).
Randomly removing two of the incorrect answers to a question in the Fifty-Fifty lifeline.
6
Assigning and displaying a random percentage allocation to each of the possible answers to a question in the Ask the Computer lifeline.
Setting up and then decreasing the timer as time progresses Decreasing the 5 Second Countdown to the start of the game Calculating the number of questions that a player has right (i.e. adding one to the
variable storing this value every time they get a question correct).
Ways to Improve the Appearance, Presentation, User Friendliness or User Proofing of the Application:
Create a User Manual (available within the online game) that teaches the user how to play “Who Wants to be a Millionaire?” through the use of easy to understand text and screen shots.
Utilise CSS to improve the aesthetic appearance of the application, as well as to make it easier for users to quickly navigate to their areas of interest.
Include the traditionally used “Who Wants to be a Millionaire?” music within the web application to assist users in immersing themselves in the game.
Validate the In Game Timer Value and the Number of Questions in the Question Pool values that are passed to the program from the Question.txt file (see this file for more information on the role these values perform within the game, as well as what they will need to be validated for).
Screen Designs:
1. Go to My Computer.
7
Opening My Computer
2. Double click the USB icon.
3. Follow the file path Major Project MJ/Who Wants to be a Millionaire/index.html and then double click on index.html in order to start the web application:
8
Double Clicking the USB Icon
Double Clicking index.html
2.2 Top Down Design
Inspiration Diagram:
Note: The picture below is only a snapshot of the actual diagram. A fully readable version of the Top Down Design can be viewed by running the Top Down Design file (located in the same folder as this documentation) within Inspiration.
Notes About the Diagram:
Blue ovals represent the events of the program. Dark pink/gray rectangles are the functions within the application. Orange/yellow clouds are the 'states' that the game can be in (e.g. In-Game, Start Up
Screen, etc).
9
Arrows showcase the sequence in which the web application will execute/display the events, functions and states that comprise it.
White rectangles represent 'linking boxes', which are included for presentation's sake, namely to ensure that arrows flow to the function/event/state that they are supposed to go to in an easily understandable and presentable way. Text is included in the rectangle in between the In-Game and Losing the Game states to assist the reader in understanding how the program can progress from one state to another without a function or event seperating them.
The larger orange box, with blue boxes inside it, is an example depiction of what the Start Up Screen may look like upon loading. It should be noted that this is only a draft design and that the colours and layout may not be utilised in the final product.
2.3 Algorithm Design
countdown(timerValue)Make start up screen content disappearIF timerValue does not equal 0 THEN
Make timerValue appear on screencountdown(timerValue-1) after 1 second delay
ELSEDisplay get ready messagesetUpQuestionsAndInGameTimerValue() after 1.5 second delay
ENDIFEND
setUpQuestionsAndInGameTimerValue()Make countdown screen content disappear
Assign HttpRequest object to variable (to use in reading in Questions text file)Read in Questions.txt fileSet text to Questions.txt file contents
Set inGameTimerValue to In Game Timer Value in Questions text fileSet totalNumberOfQuestions to Number of Questions in Question Pool value in
Questions file
IF inGameTimerValue is not valid THENOutput message box telling user to fix the value
ELSE IF totalNumberOFQuestions is not valid THENOutput message box telling user to fix the value
ELSE
10
DO i = 1 to totalNumberOfQuestionsIF question number i doesn't exist within Questions text file THEN
Output message box telling user that a question is missingRedirect to start menu
ELSEadd i to possibleQuestionsFromPool array
ENDIFENDDO
Do i = 1 to 16Set randomQuestionFromPool to random int between 1 and length of possibleQuestionsFromPoolStore question from Questions.txt with number randomQuestionFromPool in questions arrayStore hint for question with number randomQuestionFromPool in hints arrayStore correct answer for question with number randomQuestionFromPool in answers arrayStore incorrect answers for question with number randomQuestionFromPool in answers array Remove randomQuestionFromPool from possibleQuestionsFromPool array
ENDDOgetNextQuestion(questionNum)
ENDIFEND
getNextQuestion(questionNumber)Display question in questions content spaceFormat answers content space for input
Find correct answer position for questionAssign possible answers to for question to otherAnswers array
DOWHILE length of otherAnswers does not equal 0Set randomAnswerPos to random answer position in otherAnswersDisplay answer at randomAnswerPos in otherAnswersremove answer just displayed from otherAnswers
ENDDOEND
11
loadLevels()Make levels content space appearFormat levels content space appropriately
DO i = 14 to 0IF i is less than questionNum THEN
ELSE
ENDIFENDDO
IF game hasn't been won THENloadLifelines()
ENDIFEND
loadLifelines()Make lifelines content space appear with headingDO i = 0 to 3
IF lifeline hasn't been used THENDisplay unused lifeline picture link
ELSEDisplay used lifeline picture link
ENDIFENDDO
END
setUpTimer(startValue)IF startValue is empty string THEN
format levels, lifelines and mainContent content spacescalculate timer minute valuecalculate timer second valueSet newQuestion to TruerunTimer(timer minute value, timer second value)
ENDIFEND
runTimer(mins, sec)IF game hasn't been won THEN
IF newQuestion is true THEN
12
stop timerSet newQuestion to False
ENDIF
IF mins less than 10 THENSet displayMins to mins with a 0 in front of it
ELSESet displayMins to mins
ENDIF
IF sec less than 10 THENSet displaySec to sec with a 0 in front of it
ELSESet displaySec to Sec
ENDIF
IF less than 5 sec remaining on timer THENDisplay displayMins, displaySec as blinking text
ELSE Display displayMins, displaySec as normal text
ENDIF
IF timer has run out THENOutput message box telling user that they've lostRedirect to start menu
ELSE IF sec greater than or equal to 1 THEN
Decrement secELSE
Set sec to 59Decrement mins
ENDIFENDIF
runTimer(mins, sec) after 1 sec delayENDIF
END
checkLifeline(lifeline)Confirm that player wants to use lifelineIF player wants to use lifeline THEN
13
useLifeline(lifeline)ENDIF
END
useLifeline(lifeline)Add lifeline chosen to lifelinesUsed arrayReformat lifelineChosen picture link with its used picture link
IF switch question lifeline is being used THENSet questionNumber to 15
ELSE Set questionNumber to questionNum
ENDIF
CASE lifelineChosenFifty Fifty:
Store incorrect answers for question in incorrectAnswers arrayDOWHILE length of incorrectAnswers does not equal 1
Select random position within incorrectAnswersDisplay answer in that position on screen with a strike through itChange answer's background to what it originally wasRemove answer from incorrectAnswers
ENDDOGet a Hint:
Display hint for question in content spaceSwitch the Question:
Set switchQuestionActive to TrueMake sure that hint for question being switched out of is not displayinggetNextQuestion(15)
default (Ask the Computer):Store answers to question in questionAnswers arrayCreate array to store percentages calculated (lifelineResults)Create arrays to display results of lifeline
Set remainingTotalPercentage to 100
Do i = 0 to 3IF i less than 3 THEN
14
Set percentageChance to random percentage between 0 and remainingTotalPercentageremainingTotalPercentage = remainingTotalPercentage - percentageChance
ELSESet percentageChance to remainingTotalPercentage
ENDIFAdd percentageChance to lifelineResults array
ENDDO
DOWHILE length of lifelineResults is not 1Select random position in lifelineResultsAdd value of random position in lifelineResults to display
arraysRemove value of random position from lifelineResults
ENDDODisplay message box detailing results of lifeline
ENDCASEEND
selectAnswer(answerChosen)IF selectedAnswer isn't an empty string THEN
Change selectAnswer background back to original colourENDIF
Change answerChosen's background to highlighted colourSet selectedAnswer = answerChosen
END
checkAnswer()IF selectedAnswer is an empty string THEN
Ouput message box telling user to select answer before submitting itELSE
IF switch question lifeline is being used THENSet questionNumber to 15
ELSE Set questionNumber to questionNum
ENDIF
Set correctAnswer to correct answer for question
15
IF selectedAnswer does not equal correctAnswer THENOuput message box telling user that they've lostRedirect back to start menu
ELSE IF questionNum greater then or equal to 14Set won to TrueIncrement questionNumloadLevels()
Prompt user for their nameDOWHILE user does not enter their name
Prompt user for their nameENDDO
displayWinnersCheque(playerName)ELSE
Increment and reset appropriate variablesOutput message box telling user that they got question rightgetNextQuestion(questionNum)
ENDIFENDIF
END
displayWinnersCheque(playerName)Make in game content disappearReformat main content spaceDisplay winning the game state content
END
3.0 Implementation
3.1 Source Code
The source code for the application can be viewed by opening index.html, style.css and functions.js within Microsoft Visual Web Developer 2010 Express, Notepad++, Notepad and a variety of other similar editing programs. The files stated above can be found within the Who Wants to be a Millionaire folder (style.css and functions.js are in the includes folder of this location), which is in the same folder as this documentation (Major Project MJ).
3.2 User Manual/Documentation of Implementation
The User Manual for "Who Wants to be a Millionaire?" is stored in the Instructions file. It should be noted that it is targeted for students in Upper Primary and/or Middle Years, and
16
as such, some of the language is not as sophisticated as it otherwise would be. However, the account below should still be sufficient to describe exactly how to play the web-based game and how the various aspects of its interface work.
4.0 Testing
Date Test Description
Expected Result
Actual Result
Cause of Problems
Fix Date Fixed
5/9 Testing New Game &
countdown to make
sure they work
Goes to Question 1
Doesn’t get past end of countdown
Didn’t read in
Questions text file
Stopped script from executing asynchronously to allow it to assign contents
of Questions text file to
variable before operating on it
7/9
7/9 Questions and
answers
They display as written in
the Questions
text file
Displays, but isn’t
formatted correctly
Margins and font
size is not correct
Adjusted margins and font size as appropriate
7/9
8/9 Selecting an answer
Answer’s colour is changed
after being clicked
Only part of its colour is
changed
Background colour was changed, however
the border colour wasn’t
changed
Border colour was changed
8/9
12/9 Selecting another answer
after having already selected
one
Answer is selected and its
colour is changed. Previous answer is
As expected n/a n/a n/a
17
set back to its original
colour
12/9 Testing if notification
appears when user
clicks Lock It In link
without selecting an
answer
Alert box appears
telling user to select an
answer before clicking
Lock It In
As expected n/a n/a n/a
14/9 Locking answer in
and checking if it is correct
Answer is checked
against the correct
answer to make sure it is correct
Program fails to run
If statement is not
checked against the
correct array
(answers array was
misspelled)
Array was spelled
correctly in if statement
15/9
15/9 Testing if notification
appears when
question is answered incorrectly
Alert box appears
telling user that they have lost the game
As expected n/a n/a n/a
15/9 Testing if notification
appears when
question is answered correctly
Alert box appears
telling user that they have got
the question
right
As expected n/a n/a n/a
15/9 Testing prompt box
Prompt box that keeps
Prompt box only
While loop not set up
Fixed while loop
15/9
18
for player’s name when
they win the game
displaying until user enters in
their name
displays once, not until use enters in
their name
correctly appropriately
15/9 Testing display of Winner’s Cheque
Winner’s cheque
with blinking
text telling user that they’ve
won
Everything is
displaying, just not
formatted and lined
up correctly
The margins haven’t been set correctly
Fixed the margins
15/9
16/9 Timer displaying
and running
Timer displays and goes from In Game
Timer Value to 0
Timer displays,
but doesn’t translate between minutes correctly
(e.g. 01:00 to 00:59)
Translation between minutes
isn’t controlled correctly
Fixed translation by
using if statement
16/9
16/9 Timer resetting for every new question
Timer restarts from In Game
Timer Value for every question
As expected n/a n/a n/a
16/9 Testing if notification
appears when timer
runs out
Alert box telling the player that they’ve lost
As expected n/a n/a n/a
16/9 Testing if confirm box
appears when user
Confirm box asking if
user wants to use
As expected n/a n/a n/a
19
clicks on a lifeline
lifeline
16/9 50/50 lifeline
Randomly removes
two incorrect answers
As expected n/a n/a n/a
18/9 Ask the Computer
lifeline
Percentages for each possible answers
displayed in alert box
Alert box displays, however
percentages are large decimals
Percentages have not
been rounded
Percentages were rounded
18/9
18/9 Switch the Question
lifeline
Question is swapped
with another question
As expected n/a n/a n/a
18/9 Get a Hint lifeline
Hint displayed between bottom
answer and Lock It In
link
As expected n/a n/a n/a
19/9 Levels display and progression as different questions are asked
Levels displayed to
right of screen,
highlight as questions progress
Highlights and
questions progress,
but displays on bottom of screen
Div wasn’t floated left
Div floated left 19/9
5.0 Evaluation
20
The evaluation is divided into three sections; Product Evaluation, Process Evaluation and Potential Improvements. The first aspect discusses whether the final product meets the specifications established in Phases 1 of the report, as well as the performance, reliability and ease of use of the application. The second and third sections of the evaluation respectively explain which parts of the design process were implemented successfully and possible alterations or improvements that can be made to the application.
5.1 Product Evaluation
The finalised browser-based version of “Who Wants to be a Millionaire?” meets the stipulations and task aims established within the Aim (1.1) and Problem Description (1.2) sections of this documentation. It provides a clear cut and user-friendly interface that integrates seamlessly with the Questions text file to read in and display questions, answers and hints to the player. The easily accessible and editable nature of the Questions text file will allow teachers to craft a variety of questions (from which 16 are randomly selected to be used within the game, thus ensuring that every game is a unique experience for the player) relevant to their own subjects, thereby offering them a pragmatic option for transferring and consolidating classroom learning within their subjects. The added timer option supplies teachers with yet another tool that has the potential to increase students’ speed in answering questions accurately, assisting them in preparation for exams and other activities requiring the use of time management.
“Who Wants to be a Millionaire?” also allows users to see their progress throughout the game on the Levels section of the page (displayed to the right of the in-game screen), as well as utilise lifelines like they would on the television programme of “Who Wants to be a Millionaire?”. These aspects, coupled with the novel “Winner’s Cheque” screen that displays upon the player winning the game, append interactivity and entertainment to the academic facet of the program. Such cohesion increases the likelihood that students will have an enjoyable, yet academically-enriching, experience with “Who Wants to be a Millionaire?”.
Overall, “Who Wants to be a Millionaire?” is a fully functioning single page web application that utilises a blend of Javascript, CSS and HTML to provide a reliable game that allows students to consolidate learning in a dynamic and stimulating fashion. Furthermore, it grants educators the opportunity to facilitate and transmit cognitive knowledge to their students easily, allowing them to focus their energies upon organising and improving other areas of their courses.
5.2 Process Evaluation
During the creation of “Who Wants to be a Millionaire?”, the Software Development Cycle (SDC) was followed in order to ensure the implementation of an efficient application that met the specified aims and objectives for the project. The design phase of this cycle was particularly effective in its conceptualisation of the requirements of the browser-based
21
game, as well as the major functions required to achieve these aims (see Top Down Design – 2.2). This detailed planning ensured that the development phase of the project was completed quickly and smoothly due to the established hierarchy of tasks to be performed. The evaluation at the completion of the project has allowed for reflection upon the results of the finished product and process, as well as the identification of several possible improvements to the application.
In reflecting upon the implementation of the Software Development Cycle within the Major Project, there are a couple of specific areas for improvement that need to be discussed further. These are as follows:
Pseudocode – This section was arguably the most poorly completed of all of the phases as the developer wished to focus more attention upon the actual implementation and coding of the assignment. However, in retrospection, it would have been more prudent and pragmatic to pay more attention to this phase before coding, as it would have broken down the functions specified in the Top Down Design into more detail. This would probably have reduced the time taken in coding the actual application, thereby making it a more efficient process as a whole.
Testing – This phase of the SDC was conducted after the development of “Who Wants to be a Millionaire?”. In hindsight, this should have been completed as the application was being created. This would have allowed the developer to document errors and testing as they occurred within the coding of the browser-based game, instead of attempting to re-test and recollect this information at the end of the Development process.
The above phases of the Software Development Cycle, and the lessons learned from them through this venture, will be applied in future assignments and software development projects to ensure that the task is completed in the most efficient way possible.
5.3 Potential Improvements
In evaluating “Who Wants to be a Millionaire?”, several potential modifications that could improve the functionality, aesthetic appearance and usability of the application have been identified. These are listed and elaborated on below:
Questions.txt – In order to prevent students from cheating by viewing the contents of the Questions text file whilst playing the game, the file should be password protected so that only the teacher can access its contents.
Validate Questions.txt – Currently, the contents of Questions.txt is only validated for a small number of cases, primarily that of the In Game Timer Value and the Number of Questions in the Question Pool variables (see here for more information). This is due to the fact that extra validation constraints appear to restrict the information that could be used in the creation of questions for the game, thereby defeating one
22
of the aims of this project (see 1.1). Nonetheless, extra research should still be conducted into ways to validate more of the information placed within the Questions text file (e.g. making sure questions’ content doesn’t include squiggly brackets, etc – see link above for more of an explanation). The findings of such investigations could potentially be utilised to further user proof the application in such a way that it still fulfils the aims of the project, namely (in this case) allowing teachers to enter in a broad variety of problems to be solved by students whilst playing the game.
Beta Testing – Whilst developer testing has been completed (see 4.0), the time constraints of the Major Project have prevented the developer of the application from seeking out students to beta test the game. Beta testing would assist in improving “Who Wants to be a Millionaire?” by providing the developer with invaluable user feedback that would potentially allow the game to be modified to better fit the target audience (Upper Primary and/or Middle Years students).
User Manual – The Instructions.pdf, whilst containing an easy to understand explanation of the game, could be better formatted (with a title and contents page that has hyperlinks to the different areas of discussion within the document) to increase the professional appearance and outline of the article. A separate user manual could also be crafted for teachers to provide them with more information about the purpose of the game, the ways in which it can be utilised and how to use the Questions.txt file to its full capacity (Note: this is already explained in the text file, but a user manual would be an easier place to read and understand such information as it can use highlighting, underlining, etc to more effectively communicate the message).
Hover Captions For Lifelines – To assist players (who have not read the User Manual) in identifying which lifeline is which without clicking on it, hover captions could be added to each lifeline so that when a player hovers over it, a caption stating the name and role of the lifeline appears.
Addition of Sound to the Game – Adding sounds to the game (e.g. when user gets a question right or wrong) will assist players in immersing themselves in the “Who Wants to be a Millionaire?” experience, thereby increasing the enjoyment and learning gained out of their use of the application.
Answers Selection/De-selection – When an answer is selected, and then another answer is selected, the answer that was originally chosen reverts back to its original colour. However, when hovering over this now de-selected answer, its colour does not change to the hover colour. Fixing this issue would slightly enhance the visual appearance of “Who Wants to be a Millionaire?”.
Customized Message Boxes – Rather than using alert boxes, customized message boxes could be utilised to pass information to players. This would increase the aesthetic appeal of the application and allow the Ask the Computer lifeline results to
23
be displayed as a graph, a much more visual appealing form of communication, rather than as straight numerical percentages.
Other Formatting/Aesthetics – Additional formatting (e.g. adjusting of margins, etc) could be completed to ensure a smoother transition between game states (e.g. Winning the Game and the Start Up Screen states).
24