Skip to content

YakivBrychuk/Spock-Lizard-Scissors-Paper-Rock-P2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Spock, Lizard, Scissors, Paper, Rock

Rock, Paper, Scissors, Lizard, Spock (abbreviated as RPSLS) elevates the traditional Rock, Paper, Scissors (RPS) game with additional complexity. In RPSLS, each option can defeat two others - for instance, Rock overcomes both Scissors and Lizard, unlike in RPS where each option only beats one other (e.g., Rock defeats Scissors).

This game features a series of five rounds pitting the player against the computer, offering a chance to become accustomed to the nuances of RPSLS. The computer's selections are randomly generated, ensuring unbiased outcomes and a fair playing experience. It's a contest of chance where either the player or the computer could emerge victorious!

Designed for both adults and children, this game is an engaging way to understand RPSLS rules. It presents a more intricate alternative to the classic game, providing fun and interactive play among participants.

Am I Responsive

View Game live project here


Table of Contents


User Experience (UX)

This site caters to enthusiasts of the Big Bang Theory, who likely recognize the game from the show. It offers them an opportunity to engage in the game, mirroring its portrayal on TV, against a computer with randomized choices.

Both new and returning users share identical objectives:

To experience the game as depicted in the TV series.
To enjoy a game with a defined objective, including a score tracker.
For new users, to receive a refresher on the game's rules.

User Stories

  • As a user, I want to be able to figure out what the game is.
  • As a user, I want to easily be able to understand how to play the game.
  • As a user, I want to know what score the game is up too.
  • As a user, I want to be able to easily navigate through the game.
  • As a user, I want the score to be easily visible so I can clearly see who is winning.

Features

  • Home
    • This is launch page for the game
    • The user will choose one of animated icons
    • The user will read the games instructions with Rules buttom
    • Score ounter will reflect eighter user won or lost against computer
    • Try Again button leads to home page so user can chose again game card/animated icon

Home

  • Game cards/Animated icons
    • 5 Game Cards of : Rock, Paper, Scissors, Lizard, Spock

Game Cards

  • Rules button
    • By clicking will show modal screen of rules

Rules button

  • Rules image:

Rules Image

  • Score Counter:
    • The score is adjusted based on the outcome of each game round. If the user loses, the score decreases.
    • Conversely, if the user wins against the computer, the score increases.

Score Counter

  • Result w/ Try Again button
    • By clicking Try Again button that leads to home page in order to play again with same score

Result

  • Footer
    • Links to the Webpage of Code Institute will open in a new tab to allow easy navigation for the user.
    • Links to the users Github & Linkeding Profile as it gives them an easy contact option via social media.

Footer

Features Left to Implement

  • Reset button
  • Additional Score Counter, in order to have 1 for User and another for Computer
  • Pop up modal screen to input User Name

Design

  • Initial flow chart of game logic: * Flow chart

  • Colour Scheme

    • Primary colors used on the website: Color Scheme
  • Typography

    • 'Roboto' font is main font used throughout the site with sans-serif as its fallback font in case Roboto doesn't import for some reasson.
  • Wireframes

    • Pen and paper in a notebook: simple and effective.

Technologies Used


Frameworks, Libraries & Programs Used


Testing

The W3C Markup Validator and W3C CSS Validator services were used to validate every page of the project to ensure there were no errors.

Unfixed Bugs

  • Fixed bug in JS function related to counting score, first win or lose woud ad +5 or -5 to score, found errir by setting starting count by 0
  • Numerous bugs fixed in process of achieving responsivennes
  • Upon publishing the site with GitHub it was clear that relative pathways were not working and caused a problem with loading the images on the website. This was easily fixed by updating all the file pathways to absolute.

Validation results

Nu Html Checker

Validation result

W3C CSS Validator

validation result

JSHint JS Validator

Validation result

Manual Testing

  • The website was tested on Google Chrome, Microsoft Edge, and Opera browsers.
  • The website was viewed on a desktop computer, laptop, and Samsung Galaxy A52 mobile phone.
  • A large amount of testing was done to ensure links between pages are working correctly on all pages.
  • Family and friends were asked to review the website for a better understanding of the user experience.
  • Dev Tools was used to test how the site looks on various screen sizes.

Lighthouse Report

Google's Lighthouse application

Application Received validation result


Deployment and local development

GitHub Pages

GitHub Pages used to deploy live version of the website.

  1. Log in to GitHub and locate GitHub Repository
  2. At the top of the Repository(not the main navigation) locate "Settings" button on the menu.
  3. Scroll down the Settings page until you locate "GitHub Pages".
  4. Under "Source", click the dropdown menu "None" and select "Main" and click "Save".
  5. The page will automatically refresh.
  6. Scroll back to locate the now-published site link in the "GitHub Pages" section.

Forking the GitHub Repository

By forking the repository, we make a copy of the original repository on our GitHub account to view and change without affecting the original repository by using these steps:

  1. Log in to GitHub and locate GitHub Repository
  2. At the top of the Repository(under the main navigation) locate "Fork" button.
  3. Now you should have a copy of the original repository in your GitHub account.

Local Clone

  1. Log in to GitHub and locate GitHub Repository
  2. Under the repository name click "Clone or download"
  3. Click on the code button, select clone with HTTPS, SSH or GitHub CLI and copy the link shown.
  4. Open Git Bash
  5. Change the current working directory to the location where you want the cloned directory to be made.
  6. Type git clone and then paste The URL copied in the step 3.
  7. Press Enter and your local clone will be created.

Credits

Code

Content

Media


Acknowledgements

  • My mentor Mitko Bachvarov who provided helpful feedback and learning links, challenged me to go beyond and above by creating a more complex version of the classic Rock, Paper, Scissors.
  • Slack community for encouragement and information.
  • Code Institute Hackathons

Releases

No releases published

Packages

No packages published