Git Product home page Git Product logo

codepath-prework's Introduction

Pre-work - Memory Game

Memory Game is a Light & Sound Memory game to apply for CodePath's SITE Program.

Submitted by: Christopher Mejia

Time spent: 6 hours spent in total

Link to project: https://puzzling-sunset-amaryllis.glitch.me

Required Functionality

The following required functionality is complete:

  • Game interface has a heading (h1 tag), a line of body text (p tag), and four buttons that match the demo app
  • "Start" button toggles between "Start" and "Stop" when clicked.
  • Game buttons each light up and play a sound when clicked.
  • Computer plays back sequence of clues including sound and visual cue for each button
  • Play progresses to the next turn (the user gets the next step in the pattern) after a correct guess.
  • User wins the game after guessing a complete pattern
  • User loses the game after an incorrect guess

The following optional features are implemented:

  • Any HTML page elements (including game buttons) has been styled differently than in the tutorial
  • Buttons use a pitch (frequency) other than the ones in the tutorial
  • More than 4 functional game buttons
  • Playback speeds up on each turn
  • Computer picks a different pattern each time the game is played
  • Player only loses after 3 mistakes (instead of on the first mistake)
  • Game button appearance change goes beyond color (e.g. add an image)
  • Game button sound is more complex than a single tone (e.g. an audio file, a chord, a sequence of multiple tones)
  • User has a limited amount of time to enter their guess on each turn

The following additional features are implemented:

  • Ability to track a score and strikes. This score and strikes are reset everytime the game is won or lost.

Video Walkthrough (GIF)

If you recorded multiple GIFs for all the implemented features, you can add them here:

- This gif shows the winning message.

- This gif shows what happens when a player reaches 0 strikes and loses the game. A lost message is shown.

Reflection Questions

  1. If you used any outside resources to help complete your submission (websites, books, people, etc) list them here.

    https://www.w3schools.com/cssref/css_selectors.asp - I used this website to help me style my html and select the ids and classes that I needed.

    https://www.w3schools.com/jsref/dom_obj_document.asp - This website helped me use the getElementById selector to update the html from javascript.

    https://www.youtube.com/watch?v=Qhaz36TZG5Y&t=117s&ab_channel=Fireship - This video helped me understand a little about the box model and how to layout my items on a page.

  2. What was a challenge you encountered in creating this submission (be specific)? How did you overcome it? (recommended 200 - 400 words)

    The biggest challenges that I faced in this project was updating the score and strike numbers on the website. I had limiting experience with updating values in html through javascript. Luckily with the valuable resources that my professor from my webdevelopment class provided and my previous projects I was able to update the scores and be able to reset them when they needed to be reset.

    The second challenge I faced is styling my website. I didnt want to have the same styling as the tutorial, but I am not great at styling. For this I watched a youtube video on styling guides.

  3. What questions about web development do you have after completing your submission? (recommended 100 - 300 words)

    As someone who is just starting my web development journey I have many questions. One question aspect of web development that I still need work on is developing a friendly user experience and a project that is pleasing to the eyes. I would love to learn about design process and how developers know how to make user friendly websites and good looking websites. Styling and formating is an aspect that I want to keep working on and improving.

  4. If you had a few more hours to work on this project, what would you spend them doing (for example: refactoring certain functions, adding additional features, etc). Be specific. (recommended 100 - 300 words)

    If I had more time to spend on this project I would love to add more features and game modes. One of the features that I would add is a scoreboard. With this players would be able to setup their users name and be able to compete with other players for the highest score possible. This could be possible by using mysql and a database to keep track of the users and their scores. Players would be able to register a username and keep track of their scores. This is something that I am currently learning in university in my web development class and wished I could put into practice in this project.

    Another feature that I think would be interesting is a competitive mode. Players have a limited amount of times to guess as many patterns that they can.

    One last feature or fix that I would like to add is the ability to block players from pressing a button when a pattern is being played. Otherwise it might break the game and confused the pllayer in the process. To do this I would have to disable buttons from being pressed when playSequenceClue() is on.

Interview Recording URL Link

My 5-minute Interview Recording

License

Copyright CHRISTOPHER MEJIA

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

codepath-prework's People

Contributors

chrism1001 avatar

Watchers

 avatar

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.