Memory Game is a Light & Sound Memory game to apply for CodePath's SITE Program.
Submitted by: Steven Liang
Time spent: 2 hours spent in total
Link to project: https://memory-game-steven-liang.glitch.me
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!
Here's a walkthrough of implemented user stories: ![https://gph.is/g/aR8LeLw]
- If you used any outside resources to help complete your submission (websites, books, people, etc) list them here.
[https://www.w3schools.com/cssref/css_colors.asp https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/math/random]
- What was a challenge you encountered in creating this submission (be specific)? How did you overcome it? (recommended 200 - 400 words)
[The biggest challenge that I faced while completing this submission was learning how to use javascript with web pages. In one of my other student organizations, I am currently working with node.js to create the backend for a web app, but this is the first time I used javascript for frontend purposes. Although much of the structure, such as constant, variable, and function declaration, is the same, I had to learn the syntax to interact with the HTML elements. Reading through the instructions, I carefully took in every word of the optional sections. I especially enjoyed learning how to use the HTML id tags to interact with the buttons in my javascript functions. After completing the required functions, I took the time to go through each line of code in the javascript file to familiarize myself with the syntax. That process helped a lot with understanding each function's purpose and how the whole program is tied together. Overall, this task was a great learning experience. I hope to further my coding skills with an internship this summer. Building the foundation for these skills will help me continue to grow as a developer and create more complex projects in the future. ]
- What questions about web development do you have after completing your submission? (recommended 100 - 300 words)
[After completing this submission, I realized that web development is highly structured and organized. Previously, I had worked with basic HTML and CSS but never incorporated JavaScript into my webpages. Working through this submission, I was surprised by how easily JavaScript could interact with the HTML elements. In the future, I would want to learn more about implementing additional functionality through APIs. It seems like every site on the internet has integrated functionality such as payment services or login services. I would also like to know how to connect multiple pages of a website to one central server. In the future, these skills would prove valuable no matter what role I tackle. ]
- 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)
[I would spend the extra time implementing more functionality with the buttons, such as the images or unique sounds. Those features would require more outside research and learning in web development as I don’t have a lot of prior experience. Learning how to work with these tools would be highly beneficial to my growth, however, as images and sounds comprise a significant component of the user experience. Furthermore, I am always looking for opportunities to educate myself and learn new skills. Taking the time now to further learn about web development would open up more opportunities for me in the future.]
Copyright [Steven Liang]
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.