You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/4-typing-game/typing-game/assignment.md

3.4 KiB

Create a new keyboard game

Instructions

Now that you've mastered the fundamentals of event-driven programming with the typing game, it's time to unleash your creativity! You'll design and build your own keyboard-based game that demonstrates your understanding of event handling, DOM manipulation, and user interaction patterns.

Create a small game that uses keyboard events to accomplish specific tasks. This could be a different kind of typing game, an art application that paints pixels to the screen on keystrokes, a simple arcade-style game controlled with arrow keys, or any other creative concept you can imagine. Get creative and think about how different keys can trigger different behaviors!

Your game should include:

Requirement Description Purpose
Event Listeners Respond to at least 3 different keyboard events Demonstrate understanding of event handling
Visual Feedback Provide immediate visual response to user input Show mastery of DOM manipulation
Game Logic Include scoring, levels, or progression mechanics Practice implementing application state
User Interface Clear instructions and intuitive controls Develop user experience design skills

Creative project ideas to consider:

  • Rhythm Game: Players press keys in time with music or visual cues
  • Pixel Art Creator: Different keys paint different colors or patterns
  • Word Builder: Players create words by typing letters in specific orders
  • Snake Game: Control a snake with arrow keys to collect items
  • Music Synthesizer: Different keys play different musical notes or sounds
  • Speed Typing Variants: Category-specific typing (programming terms, foreign languages)
  • Keyboard Drummer: Create beats by mapping keys to different drum sounds

Implementation guidelines:

  • Start with a simple concept and build complexity gradually
  • Focus on smooth, responsive controls that feel natural
  • Include clear visual indicators for game state and player progress
  • Test your game with different users to ensure intuitive gameplay
  • Document your code with comments explaining your event handling strategy

Rubric

Criteria Exemplary Adequate Needs Improvement
Functionality A complete, polished game with multiple features and smooth gameplay A working game with basic features that demonstrates keyboard event handling A minimal implementation with limited functionality or significant bugs
Code Quality Well-organized, commented code following best practices with efficient event handling Clean, readable code with appropriate use of event listeners and DOM manipulation Basic code structure with some organization issues or inefficient implementations
User Experience Intuitive controls, clear feedback, and engaging gameplay that feels professional Functional interface with adequate user guidance and responsive controls Basic interface with unclear instructions or poor responsiveness
Creativity Original concept with innovative use of keyboard events and creative problem-solving Interesting variation on common game patterns with good use of event handling Simple implementation of a basic concept with minimal creative elements