Levels Progression and Difficulty:
- I’ve introduced multiple levels that progress in difficulty. Users can now experience a gradual increase in challenge as they advance through the game.
- For this draft, I’ve used the same sample image for all levels to focus on increasing the difficulty. The puzzle becomes more complex as the number of columns and rows increases, engaging players further.
Background Music and User Interface:
- To enhance the gaming experience, I’ve added background music on the main screen. This sets the mood for puzzle-solving while ensuring user comfort.
- The music then pauses when users click on the level number
Sound Effects for Interactivity:
- Responding to user feedback, I’ve incorporated sound effects when tiles are moved. These audio cues make the gameplay more engaging.
Moves Counter:
- To track progress and add a competitive element, I’ve added a moves counter. It records the number of moves players take to complete the puzzle, encouraging strategic thinking and efficient puzzle-solving.
Checking Puzzle Completion:
- I’ve implemented an “isSolved()” function to check whether the puzzle has been completed. This function iterates through the board array, comparing current values with expected indices from the tiles array. (The result will later on be displayed on the canvas)
Next steps:
As part of my future plans for the project, I intend to replace the sample images with ones that are personally meaningful to me, reflecting my hobbies in horses, nature, and photography. This addition will infuse the game with a personal touch, creating a more enjoyable and relatable experience for users. Moving forward, I plan to further enhance the visual appeal of each level by adding backgrounds that match the theme of the image. This approach will create a more immersive and cohesive experience for players. For instance, if the puzzle features a nature image, the background will incorporate elements from the natural world, such as trees, leaves, or landscapes.
Additionally, I’m aware that the code is currently quite messy and scattered. While my initial focus was to ensure all functionalities work seamlessly, I plan to undertake a substantial code refactoring effort. In doing this, each level will have its own class, thus enabling independent adjustments to difficulty levels, as well as significantly improving code organization and management.
Reference: https://youtu.be/uQZLzhrzEs4?si=YztBzKDQ2A0Pr1Vk