Skip to content

oolumuyiwa/light-and-sound

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pre-work - Memory Game

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

Submitted by: Oluwatomiwa Olumuyiwa

Time spent: 6 hours spent in total

Link to project: (https://elegant-basalt-windshield.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:

  • List anything else that you can get done to improve the app!

Video Walkthrough (GIF)

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

Reflection Questions

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

Other than the resources offered by CodePath in the pre-work webpage, I used no resources to complete this submission.

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

Prior to the prework assigned to us as part of the SITE program application, I had zero experience with any of the three introduced languages: CSS, JavaScript, or HTML. To be honest, I thought JavaScript was some extension of the Java language. In this regard I feel the greatest challenge I had in creating the game was understanding what made one language different from the other, why they existed independently, and why all three of them were intrinsic to web development. While it appeared to be a mountain of an issue at first, it got surmounted as I got to the Background section of the walkthrough. It helped show what each language stood for: CSS for style, HTML for content and structure, and JavaScript for user interaction. Although it didn’t eliminate my curiosity as to why these couldn’t be combined into a single language (or at least HTML and CSS since they both dealt with what was displayed), it did help me to understand what the core functions of these languages were and made the rest of the walkthrough a pretty fun experience. On a side note, I also couldn’t help but wonder why the prework site stated that the JavaScript language wasn’t related to the Java language when the walkthrough showed that they shared so many features(semi-colon endings, if-else conditionals and for loops, and a function call style very similar to Java’s method call style). I’d love to learn if this lack of relation between the two languages is exemplified in other cases.

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

The prework assignment was a rather simple task, as I only built a single webpage and was walked through every step of the way. I do understand that fully fledged websites with multiple webpages will not have this level of simplicity. In this regard, I’d like to know what the coding process would look like if more than one webpage is to be developed. Will more than one file per language (HTML, CSS, or JavaScript) be needed? If yes, how will these files be connected? How strong do my abstraction skills need to be when conceiving such a website? If I complete my website at a satisfactory level, how do I make it accessible to an end user? What happens if my site breaks while a user is interacting with it? How would I know if it breaks?

  1. 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)

Given a few more hours, I’d probably make it display clues at a much faster rate, to make it more enjoyable. The rate at which it went was pretty slow, and it was the light and sound played for too long. The duration of the lighting and the sound at each clue reveal is probably something I would shorten as well, as I explained in my previous sentence. Another move I would make would be to randomize the tile pattern. Having it as the same round after round made the game to easy to decipher and complete, and I feel like the value of every game is engaging the player. I also would increase the number of tiles and could add difficulty levels in this regard, where an increase in difficulty would mean an increase in the number of tiles, a decrease in the duration of the light and sound, and an increase in possible patterns.

Interview Recording URL Link

My 5-minute Interview Recording

License

Copyright [OLUWATOMIWA OLUMUYIWA]

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published