Memory Game is a Light & Sound Memory game to apply for CodePath's SITE Program.
Submitted by: Suzan Manasreh
Time spent: 4 hours spent in total
Link to project: https://glitch.com/edit/#!/simon-says-memory-game?path=README.md%3A1%3A0
GIF: https://media.giphy.com/media/aDxEMb2UFLgAcwIGOi/giphy.gif
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:
- If you used any outside resources to help complete your submission (websites, books, people, etc) list them here.
- I watched this youtube video to help me understand JavaScript concepts: https://www.youtube.com/watch?v=hdI2bqOjy3c
- This website helped me change the shapes of the buttons: https://css-tricks.com/the-shapes-of-css/
- What was a challenge you encountered in creating this submission (be specific)? How did you overcome it? (recommended 200 - 400 words)
- I didn’t really have many challenges making my game because the instructions were so clear about what to do. However, I did struggle to understand what exactly we were doing at each step though because I’m not too familiar with JavaScript and CSS, so the syntax was completely new to me, and I had to thoroughly read the descriptions for what things like the DOM and functions are to understand.
- What questions about web development do you have after completing your submission? (recommended 100 - 300 words)
- How are modern websites made to look so good?
- How do we create nice boxes and position things in the right area?
- How do we make a user interact with a website and submit information to it?
- Where does all the information we input into a website go and how is it stored?
- Is there a simpler way to develop websites than manually typing in html/css/js code?
- 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 add images to each button to make it so the user is clicking an image, not an arbitrary colored circle. I also want to give my game a theme and make the images tie in with the theme. In addition, I would try to increase the difficulty of the game by adding a lot more buttons that the user needs to press or speeding up the game even more.
Copyright [YOUR NAME]
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.