Midterm Progress draft 1 – Week 5

 

Concept: PuzzlePlay

This project idea sprang from something personal and relatable – my sister’s love for solving puzzles. It always fascinates me yet triggers me how she has the patience and dedication to tackle intricate puzzles. It got me thinking, why not bring that captivating experience into the digital realm? I want to create a digital puzzle game that captures the essence of those satisfying moments when you piece together the final part of a puzzle.

But here’s where it gets exciting – users can take the reins to customize their puzzle-solving journey. Inspired by my sister’s passion for puzzles, I want to offer users the freedom to tweak the puzzle’s difficulty. They can do this by adjusting the number of columns and rows in the puzzle. It’s like having the power to set your own challenge level. this project aims to provide an interactive and enjoyable experience that’s both personal and engaging.

User Interaction Design:

  • The user is greeted with on-screen instructions 
  • The puzzle piece will be an image from online
  • Puzzle pieces are displayed on the canvas, and users can click and drag them.
  • A “Shuffle” button resets the puzzle.
  • Sound effects play when pieces are clicked or moved.
  • Upon completing the puzzle, a “Congratulations!” message with a celebration sound effect is displayed.

 

The most frightening or complex part of the project would be the implementation of puzzle piece movement and the logic behind shuffling the puzzle once the user has completed it. 

Piece movement:

As far as doing something to minimize that risk I’ve created a quick draft here of what the final project may look like I’ve numbered each piece on the puzzle so it will be easier for me to identify  the grid location and can later replace the number with the image that I’ll use 

Swapping pieces and finding the empty position: ( swap find/ 0 position):

I’ve created a function that allows me to check when the box is clicked if it’s valid to move to the empty position or not, also I created a function that can allow me to swap the pieces. Through an “IF” condition we check if the piece is valid/ empty then we allow the 2 pieces to swap.

Leave a Reply