Skip to content

OscarWright/HSCSDD-T2-4P1W

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

4 Pics 1 Word

HSC Software Design & Development - Task 2

Download Build (.exe) | Download Source (.zip)

About The Project

4 pics 1 word is a popular puzzle game for mobile devices that contains four pictures with one thing in common. The developer of 4 pics 1 word, LOTUM has enlisted you to develop a desktop version of the game. The game must randomise the pictures and letters, include at least six levels, maximum five guesses per word with a hint after the third attempt and a printable scoreboard.

Task specifications

Students are to design and construct a full software solution in Visual Studio (Visual C#) to ONE of the following case problems. Each product should allow for at least ten minutes of varied interaction by the user, be appropriate for the intended audience and utilise logical coding structures and project management techniques. Students should endeavour to find an efficient software solution with appropriate use of features applicable to their chosen problem.

Table of Contents

Getting Started

Install

Windows x64 Portable - Download ⬇️

How to play

The aim of four pics one word is to correctly guess a word in which 4 relevant pictures are shown as clues, you will have 5 attempts to correctly guess a word and after 3 attempts you will be prompted with a hint.

To input a guess, click the letters at the bottom of the screen in sequence to form a word

Click the 'Check' Button to see if your guess is correct or not.

To clear your selection press the 'Clear' button, or to remove a single character click the answer box with the character you would like to remove

Specifications

IPO Chart

Input Process Output
User clicks 'Play' Game form is opened and Main form is hidden Game form is show and Game starts
User clicks 'How to play' Help form is opened and Main form is hidden Help form is shown
User selects a guess letter locate the leftest empty answer box, set the text in the answer box to the guessed letter Guessed letter is shown in the array of answer boxes
User clicks 'Clear' Clear the answer boxes, Reset and randomise the possible guess buttons Guesses and possible guesses are returned to their original positon.
User clicks 'Check' Concatenate all text inside the answer boxes and compare to the string to original word Confirmation of guess (Correct/Incorrect), notify player of remaining attempts, update score, update index variables
User guesses correctly Show message box with confirmation, increment indecies, reset attempts, generate message box, call the game function. Confirmation, score
User guesses incorrectly Increment attempts by 1, Show message box with confirmation and attempts remaining (5 - Attempts), call the game function. Confirmation, Attempts remaining
User fails to guess the word after 3 attempts Pull the index specific hint from the Hints array and display it via a message box Hint
User fails to guess the word after 5 attempts Generate message box to show user that the game is over Game over notification, User is sent to Main form
User completes the game A PDF is generated with PDFSharp and is opened A personalised PDF scoresheet

Context Diagram

Context Diagram

Data Flow Diagram

Data flow diagram

Data Dictionary

Data Item Data Type Format Bytes of Storage Size for Display Description Example Validation
word() string array "aaaaa","aaaaa","aaaaa","aaaaa","aaaaa" 256 32 Array containing wordlist for the game "Bus", "Code", "Home", "cat", "dog" must be a string
hint() string array "aaaaa","aaaaa","aaaaa","aaaaa","aaaaa" 256 64 Array containing hints for the game "synonym of precise, exact or correct", "may show important information (noun) or complete a contract (verb)" must be a string
index integer #### 4 4 global index for the game 1 must be a number/integer
p integer ##### 4 4 index for the pictures 1 must be a number/integer
wordlength integer ## 2 2 length of the current word 8 Must be an integer, 0 > wordlength < 50.
attempts integer # 1 1 Amount of attempts the user has made 2 Must be an integer, 0 <= attempts < 6.
score integer ## 2 2 The users score 26 Must be an integer, 0 < score <= 50.
wordWithExtras string aaaaaaaa 8 8 Word(index) with added characters "Busqiska" must be a string.
wordChar() Char array "a","a","a","a","a","a","a","a" 8 1 word with extras split into a char array "b","u","s","q","i","s","k","a" must be a char.

Storyboard

StoryBoard

Gantt Chart

image

Changelog

Changelog / Logbook 📘

License

MIT License © 2022 Oscar Wright.