Giter VIP home page Giter VIP logo

project-2-'s Introduction

Catch The Black Cat Game


image

Introduction

On researching projects and javascript notes I reviewed a widely used game called "Whack A Mole" and decided to go with a similar idea for the project i am undertaking. The game that i am building has a slight twist on the "Whack A Mole" game. I have decided to use a black cat instead of a mole and the game is called "Catch The Black Cat Game" instead of "Whack A Mole". The goal is to provide people with a fun game that the player can spend a few minutes playing or spend a bit of time playing at the different levels. The player can play at two different levels which are level easy and level hard. Level Easy gives the player 30 seconds and the rate that the cat appears at is 1000. Level Hard is where the player is given 20 seconds and a rate of 700 at which the cat displays. When the player chooses the level and starts the game the countdown timer begins and successfull hits are recorded in the score section. When the game finishes an alert message will be displayed to the user saying the game has finished and displys the total number of scores. The user can click ok on this message and then play the game again if they wish.

Table of Contents

  1. User Experience
  2. Features
  3. Technologies Used
  4. Testing
  5. Finished Product On Desktop And Mobile
  6. Deployment
  7. Credits
  8. Acknowledgements

1. User Experience

A. Project Goals and Target Audience

Project Goals For Player and Developer

Player Goals:

  • A game that is easy to play and just for fun.
  • A game that provides an appealing interactive user experience.
  • Different levels to be included in the game so that the player can test the different levels and is challenging.
  • Instructions that are easy to follow in order to play the game.
  • Play a game that is responsive across a number of devices.

Developer Goals:

  • To build a game that is easy to play.
  • To provide a positive user experience.
  • Provide a game where the player can challenge themselves.
  • Provide a timer so that the player can see exactly how much time they have remaining to play the game.
  • Provide a score counter that keeps track of scores for the player.
  • Advise the player when the game is completed.


Target Audience

  • This game can be played by all age groups to pass a little time. It is an easy and interactive short game and the player can play for longer at differnt levels.

B. User Stories

  • Provide a game that is easy to play.
  • A game with an attractive user design/interface.
  • Provide a game with clear instructions for the player on how to play the game.
  • A game that provides different levels to play at.
  • Address responsiveness so that the player can play the game across different devices.
  • Provide a timer so the player knows exactly what time is reamining.
  • Provide a score counter so that the player can see exactly their successful hits.
  • Provide confirmation to the player when the game is over.


C. Color Scheme

The color scheme chosen for this background was as follows:

  • Black is the main background color.
  • Orange is used for the majority of the text on the page, borders and highlighting the different level button when a game is in play.
  • Red is used to show the time remaining and is also used as a hover effect over the close button in the instructions section.
  • Blue is used to show the score counter.
  • The horizontal rule at the top and the bottom of the page have a fill color of darkslategray and an orange border.
  • The background color for the circles is again blackslategray and orange and these circles have an orange shadow effect and sit on a blackslategray background.

The color palette was done up on coolors.co website a link to this site is below along with a copy of the color palette.

https://coolors.co/000000-ff9900-2f4f4f-ff0000-0000ff

image



D. Typography

The font that was chosen throughout this project is Montserrat. It is a very clear font and is also easy to read in the selected font colors of orange, red and blue.

https://en.wikipedia.org/wiki/Montserrat_(typeface)

A link to google fonts has also been included in the head section of the index.html file.

https://fonts.googleapis.com/css2?family=Montserrat:wght@300&display=swap

The backup font which has been used is Arial again it is a very clear font and can be easily seen with the selected colors for this project.

https://en.wikipedia.org/wiki/Arial

The only exception is for the instructions section. Arial is used as the main font but if this should not be available there are fallback fonts of Helvetica and sans-serif. Helvetica is a clear font and can be easily read with the colors on the website.
https://en.wikipedia.org/wiki/Helvetica

Again sans-serif is a very clear font and easy to read.
https://en.wikipedia.org/wiki/List_of_sans_serif_typefaces

E. Wireframes

Wireframes were drawn up in Balsamiq for Desktop and Mobile.
The following are the desktop wireframes.

image

image

image

image


image


The following are the wireframes which were drawn up for mobile.

image

image


image


image


image


Back to Table of Contents

2. Features


A. Home Page of Game

image
B. Page Showing Game In Play

image
C. When Game Ends Message Displayed To Player

image


Features

  • Instructions

The game provides a detailed set of instructions for the player on how to play the game and play at the different levels provided.

image

  • levels

The game provides two levels to play with. levelEasy provides the player with 30 seconds and the cat will display randomly in the circles at a rate of 1000 milliseconds. When levelEasy is selected the level button is highlighted in orange and the timer will reflect the game levels time. levelHard provides the player with 20 seconds and 700 milliseconds. When levelHard is selected the timer will reflect 20 seconds and the levelHard game button will be hightlighted for the duration of the game.

image

  • Timer

When levelEasy is selected the timer will reflect 30 seconds on the timer and count back from there. If levelHard is selected the timer will reflect 20 seconds and count back.

image

When the start game button is clicked the timer will begin counting down and the cat displays randomly and will continue untill the time runs out. If the player wants to play at the same level again they can just click on start game else they can choose the hard level and click on start game.



image

  • Score Counter

Once the random cat displays the player can click on the cat and each successfull click will add to the score couter.

image


  • Game Completion


Once the game has ended an alert will display to the user advising the game has ended and gives the total score achieved. The player can then click on the ok button and proceed to play again.

image


  • Start Game

The game provides a start button in which the user can play the game when they wish.

image


  • Reset Game

The game provides a reset button whereby if a player is in the middle of a game they can reset the game by clicking on this button.

image

Future Features

  • Score counter for cats who have not being caught.
  • Add button to stop game.
  • Popup message when starting game - when start button is clicked popup displays alerting user game is about to start with an ok button and the countdown timer will then start.
  • Adding a sound effect when the cat is caught.

Back to Table of Contents

3. Technologies Used


a) Languages Used


- CSS3 was used to provide styling to the elements on the page - https://en.wikipedia.org/wiki/CSS
- Javascript was use to provide the user with functionality in order to play the game. - https://en.wikipedia.org/wiki/JavaScript

b) Frameworks, Libraries and Programs Used

  • Microsoft word was used to re-size images

- Balsamiq was used to draw up the wireframes for this project. - https://balsamiq.com/
- Google Fonts was used to provide the font used on the site - https://fonts.googleapis.com/css2?family=Montserrat:wght@300&display=swap
- Google Chrome Developer Tools was used in order to inspect and test code
- Github was used to store the project code - https://github.com/
- Gitpod was used in the process of building code and then pushing it to GitHub - https://www.gitpod.io/
- FontAwesome was used for the arrow icon that is used in the project. - https://fontawesome.com/search?q=arrow&o=r
- The color palette was done up on coolors.co website a link to this site is below along with a copy of the color palette. - https://coolors.co/000000-ff9900-2f4f4f-ff0000-0000ff
- When completing the favicon referenced the following website - https://favicon.io/

Back to Table of Contents

4. Testing

Link To Testing Details

Please refer to testing.md file for detailed breakdown on testing

a) Testing User Stories and Goals

b) Code Validation

c) Accessibility

d) Manual Testing

e) Known Bugs


Back to Table of Contents

5. Finished Product On Desktop And Mobile

Responsiveness was checkeked between 320px to 1920px

Desktop - Home Page showing game set to levelHard - 30 seconds

image

Desktop - Page showing game set to levelEasy - 20 seconds

image

Desktop - Page showing game in play

image

Desktop Page showing alert that the game has ended and provides final score to player


image

Mobile - Home Page showing game set to levelEasy which is the preselected level - 30 seconds with levelEasy highlighted so that the player knows at all times during the game what level they are playing at.

image


Mobile - Page showing levelHard selected where the button level is highlighted in orange and the timer reflects 20 seconds.


image


Mobile - Page which shows detailed instructions to the player.

image


Mobile - Page showing the game in play and successfull scores.

image


Mobile - Game completion alert which displays when game has ended


image


Back to Table of Contents

6. Deployment

a) GitHub Pages This site was deployed to GitHub pages. The steps to deploy are the following:

  • In GitHub repository, navigate to the settings tab.
  • From the source section drop-down menu, select main branch
  • once the main branch has been selected the page will be automaticlly refreshed with a detailed ribbon display to indicate the successful deployment.

The link can be found at the following -https://github.com/NBJIN/Project-2- (gh repo clone NBJIN/Project-2-)

b) Clone To Run Local

  • In the respository section on Github click on the Code drop-down button next to the green Gitpod button.
  • Download ZIP file and unpackage the file locally.

c) Forking

  • On GitHub navigate to the repository that you want to fork.
  • In the top right corner of the page click fork and this will fork the project.

Back to Table of Contents

7. Credits


a) Content

  • All content for this website in so far as text was drawn up by the owner, images were sourced from pixabay.com -https://pixabay.com/



b) Media





c) Code
In completing this project I accessed the following sources :


  • JavaScript For Dummies 4th Edition by Emily Vander Veer





  • Code Institute template in order to build code.

Back to Table of Contents

8. Acknowledgements



  • Javscript tutorials as mentioned above in section 7 for ideas and guidance.





  • Cohort Facilitator at CI for all their support.

  • Cohort Lead and class for their invaluable help, ideas and brainstorming sessions.

  • Tutor Assistance at CI who were so helpfull when i encountered problems and issues on the project.

  • Student Care at CI - for All their help and support on this journey.

  • Finally to my Mentor who was so helpful in giving of their experince, ideas and time.


Back to Table of Contents

project-2-'s People

Contributors

nbjin avatar

Watchers

 avatar

project-2-'s Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.