# Explore Collisions ## Instructions Apply your collision detection knowledge by creating a custom mini-game that demonstrates different types of object interactions. This assignment will help you understand collision mechanics through creative implementation and experimentation. ### Project requirements **Create a small interactive game featuring:** - **Multiple moving objects** that can be controlled via keyboard or mouse input - **Collision detection system** using rectangle intersection principles from the lesson - **Visual feedback** when collisions occur (object destruction, color changes, effects) - **Game rules** that make collisions meaningful and engaging ### Creative suggestions **Consider implementing one of these scenarios:** - **Asteroid field**: Navigate a ship through dangerous space debris - **Bumper cars**: Create a physics-based collision arena - **Meteor defense**: Protect Earth from incoming space rocks - **Collection game**: Gather items while avoiding obstacles - **Territory control**: Competing objects trying to claim space ### Technical implementation **Your solution should demonstrate:** - Proper use of rectangle-based collision detection - Event-driven programming for user input - Object lifecycle management (creation and destruction) - Clean code organization with appropriate class structure ### Bonus challenges **Enhance your game with additional features:** - **Particle effects** when collisions occur - **Sound effects** for different collision types - **Scoring system** based on collision outcomes - **Multiple collision types** with different behaviors - **Progressive difficulty** that increases over time ## Rubric | Criteria | Exemplary | Adequate | Needs Improvement | |----------|-----------|----------|-------------------| | **Collision Detection** | Implements accurate rectangle-based collision detection with multiple object types and sophisticated interaction rules | Basic collision detection works correctly with simple object interactions | Collision detection has issues or doesn't work consistently | | **Code Quality** | Clean, well-organized code with proper class structure, meaningful variable names, and appropriate comments | Code works but could be better organized or documented | Code is difficult to understand or poorly structured | | **User Interaction** | Responsive controls with smooth gameplay, clear visual feedback, and engaging mechanics | Basic controls work with adequate feedback | Controls are unresponsive or confusing | | **Creativity** | Original concept with unique features, visual polish, and innovative collision behaviors | Standard implementation with some creative elements | Basic functionality without creative enhancements |