Giter Site home page Giter Site logo

preword-site's Introduction

Pre-work - Memory Game

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

Submitted by: Fabio Velasquez

Time spent: 5 hours spent in total

Link to project: (https://glitch.com/edit/#!/sunny-foil-toast

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

Here's a walkthrough of implemented user stories: ![X]

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/ -https://www.youtube.com/watch?v=x7WJEmxNlEs -https://stackoverflow.com ]

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

    [ My largest challenge was getting use to javascript, although I have some experience through self-learning. It is not the main language I program with or one that was taught to me in university. I read through w3schools, StackOverflow, and youtube to answer any questions or confusion I had with Javascript. To further specify one of the most time-consuming challenges was the mistake's optional feature. I had kept trying to use elaborate and complex ways of solving by using while loops or for loops but I did not have to write much code in the end. I just had to simply edit my existing code slightly to make it work. I had realized this when I traced through my code and went back through the guide to see how the event listeners worked. Once I reviewed it, it had made sense what I needed to edit and I was able to move on. Another challenge I was able to overcome was sprucing up the buttons feature. I was not too sure what to exactly do. My interpretation of the feature was that when a button is pressed an image will appear. I was more confused because it had said to use an image tag it had slightly confused me and I was not too sure how the suggested solution would look like. I had thought of an alternative solution,which was to use CSS pseudo-elements and the background-image property to show the image when the button is pressed. ]

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

    [ The timer feature is interesting, although I was not able to implement the feature, I had not forgotten about it. It made me think how does a programmer runs multiple scripts together at the same time. My mind is still stuck on a procedural (C)/ object oriented (Java/Python) thinking that one function leads to calling another function until the program ends. However, the timer function had greatly confused me and made me question how am I even able to call a function to update the timer while running the memory game? I am also curious how does the web development process works? For example, the web developers would need to wait on the UI/UX team to start on the design, while the frontend/backend would have to make some type of boilerplate design while the UI/UX team works on the interactivity/design. How do they both even interact is it not important for the frontend people to know all the details of how the design should be, and have some say if a design can possibly be done? This is why fullstack interest me it offers a holistic understanding of both sides of the development process of making a website, although it is interesting. I personally read online forums and articles that it is best to specialize in front or backend because focusing on both will leave you lacking in particular areas in each job. ]

  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)

[ I would try to create a personal leaderboard that would record the player's top 10 fastest wins. This would encourage the player to play again to beat their own record. Another feature would be to allow the player to manually adjust the number of boxes they want and how much time they want. I find this feature to be funny, It would be called a chaotic mode where a bunch of images flying around or random noises will occur to distract the player. The final feature I had thought of is a theme music feature which allows the player to change the noises from a choice of wind, percussion, drum, and any other types of sounds. These features would encourage the player to play more because of how interactive the features are. ]

License

Copyright [Fabio Velasquez]

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.

preword-site's People

Contributors

fabio-velasquez 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.