Project: canvas
Task (challenging): Implement weather system that randomly switches every 5 seconds between 'Normal', 'Rain', 'Wind', and 'Night' states (Weather should randomly select next type excluding current weather.), stored in 'store.weather', use 'weather.current' record the current weather type. When 'weather.current' changes, the weather system changes immediately. Rain effect: render clearly visible vertical lines with bright color using lineWidth 2 and round caps, 30px base length with slight rightward tilt (15 degrees), falling at 20px base speed, with darkened background. Wind effect: display distinct horizontal streaks moving left to right with varying lengths. Night effect: overlay semi-transparent dark gradient on background with high contrast. Weather effects should be highly visible and immediately recognizable, using 300 particles, but not interfere with game collision detection. Consider performance optimization strategies when implementing weather particle system.