Rock, Paper, Scissors

Abstract:

Challenge a robot in a game of Rock, Paper, Scissors! Enjoy either classic mode or a variation adding two new choices!

Installation Instructions:

No need to install! View here - GitHub Pages

Preview of App:

RPSREADME

Context:

This is my final project of Mod 1 at Turing School of Software & Design. We were given ~1 week to create this project from scratch using a provided comp found here.

Contributors:

Patrick Eitel

Learning Goals:

  • Solidify understanding of DRY JavaScript and event delegation.
  • Understand the difference between the data model and how it displays on the DOM.
  • Use your problem solving process to break down large problems and solve things step by step.

Wins:

  • Project was completed successfully with DRY JavaScript.
  • Code follows SRP principles to the best of my ability.
  • Utilized a handful of new coding techniques such as whitespace, createElement, and appendChild.
  • Planning out the project from wireframe to finish was very rewarding.
  • Code was refactored several times throughout, utilizing strategies we learned from last weeks lecture.

Challenges:

  • innerHTML gave me some issues when I first tried to create the "CHANGE GAME" button, but on my second attempt I was able to resolve the issue.
  • Fixing bug related to the DOM was tricky, I had some functions that weren't being used at all that were causing a headache, as I thought these were the problem functions, but working on them was literally doing nothing since they weren't being used.
  • Refactoring code after it is already working feels like you are taking one step fowards and two steps back sometimes.
  • A handful of bugs required me to declare global variables to fix, I couldn't find a cleaner way to fix these issues.
  • Time. Management. There were a handful of things going on for me this weekend and striking a balance proved very diffiuclt.
  • Following the Git Workflow was at times challenging with my time contraints this weekend, I still did the best I could!
  • Getting some images to display on GitHub pages was very difficult as I didn't realize case sensitivity is a factor.