Code Monkey home page Code Monkey logo

light-and-sound-memory-game's Introduction

Pre-work - Memory Game

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

Submitted by: Hongkun Zeng

Time spent: 4 hours spent in total

Link to project: (insert your link here, should start with https://glitch.com...)

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:

  • Start Button has a sound when it is clicked

Video Walkthrough (GIF)

loseGame.gif winGame.gif winGame2.gif

Reflection Questions

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

  • W3schools.com

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

  • One challenge I encountered in creating this submission is trying to understand the setTimeout() function in the js file. I have never used this function before, and I was not sure how to use it at the beginning. In order to get a better understanding of it, I read through the reference provided by CodePath and some outside documentation for this function. Reading documentation is very necessary for a software engineer because it helps us understand what the function does and when to use it. Especially when I first use a function, I will make sure that I understand it fully.

  • In addition, to improve the UI design of the app, I also asked my ECE advisor how to make a website neater and more interesting. He suggested that I should keep the interface simple and clear, so I did not add too many fancy layouts, instead, I refactored the structure of the website and maintained its clarity.

  • After all, I put in a lot of effort for this app and I was glad that I learned a lot from this project. THis game development project provided me with an insight into how to work as a web developer. Through this project, my understanding of web development was improved and more importantly, I also learned how to improve my communication skills and build a great relationship with my advisor.

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

  • One of the questions about web development I have after completing my submission is how to make our code neater and cleaner. Or in other words, how to organize our code so that it does not have too many repetitions. This is very essential for a web development engineer because we often work with other web development engineers. In this case, we want to make our code more readable to them and thus we can cooperate with them more efficiently.

  • In addition, I also want to learn how to make our app more accessible. The light and sound memory game I built with Codepath is a very interesting game and has most of the functionality that other light and sound memory games have. However, it is nearly impossible to use for colorblind people and people with a hearing problem. I am wondering how we can help people with disabilities enjoy this game. This would be one of the aspects that makes this game stand out of other sound games.

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 a few more hours to work on this project, I would like to improve the UI/UX design of the website and make the game more interesting. First off, I would make the UI design of this project neater and more readable. The UI design is very important to a website or an app because it could increase the accessibility of a website and thus increase the user base. I would like to format the instruction more professionality and add a license at the footer of the web page. Moreover, I would try adding more features to make the game more interesting. This light and sound memory game is currently a very basic app, I would like to add more functionality to it if I have a few more hours to work on it. For example, I would replace the single tone of the button with a music file. In addition, I could also make the background image change every time the user hit the button.

  • Overall, this project is very fun because it allows us to apply our technical skills into a real-world problem, i.e. how to create a fun game and make it interact with its users.

Interview Recording URL Link

My 5-minute Interview Recording

License

Copyright [Hongkun Zeng]

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.

light-and-sound-memory-game's People

Contributors

312hzeng 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.