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.
42 lines
3.4 KiB
42 lines
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 |
|