Android app that allows you to draw anything and turn it into a jigsaw puzzle.

Overview

Android-Jigsaw-Puzzle

Build Status

Like to draw? Like to solve jigsaw puzzles? Try JigDraw!

This is an Android app where a user draws something and use it to generate and solve jigsaw puzzles of various difficulties (easy, medium, hard).

I refactor a lot and try to keep my code simple, clean, and well tested.

I've added a contributing and code style templates so if you have ideas how to improve it, please feel free to send me a pull request.

Thanks for looking!

Demo:

Settings Window

Improved UI...added color picker and better dialogs

Settings Window

My attempt at drawing Simba from The Lion King

Settings Window

Comments
  • Duplicate tiles / pieces

    Duplicate tiles / pieces

    I've noticed that the game duplicates tiles under certain conditions. The bug was fairly easy to produce by swapping two pieces repeatedly. I've recorded a short video demonstrating the issue. This was with API 23 in an emulator (as well as my device) with revision e22e6cf4c7d6c9b8d7c729ff90715955fa9ac2a7 of your app.

    See https://youtu.be/0NPei9gyN_Y .

    bug 
    opened by mknudsen 2
  • Multiple code improvements - squid:UselessParenthesesCheck, squid:SwitchLastCaseIsDefaultCheck, squid:S1444

    Multiple code improvements - squid:UselessParenthesesCheck, squid:SwitchLastCaseIsDefaultCheck, squid:S1444

    This pull request is focused on resolving occurrences of Sonar rules squid:UselessParenthesesCheck - Useless parentheses around expressions should be removed to prevent any misunderstanding. squid:SwitchLastCaseIsDefaultCheck - "switch" statements should end with a "default" clause. squid:S1444 - "public static" fields should be constant. You can find more information about the issue here: https://dev.eclipse.org/sonar/rules/show/squid:UselessParenthesesCheck https://dev.eclipse.org/sonar/rules/show/squid:SwitchLastCaseIsDefaultCheck https://dev.eclipse.org/sonar/rules/show/squid:S1444 Please let me know if you have any questions. George Kankava

    opened by georgekankava 1
  • squid:S1118 - Utility classes should not have public constructors

    squid:S1118 - Utility classes should not have public constructors

    This pull request is focused on resolving occurrences of Sonar rule squid:S1118 - Utility classes should not have public constructors. You can find more information about the issue here: https://dev.eclipse.org/sonar/coding_rules#q=squid%3AS1118 Please let me know if you have any questions. George Kankava

    opened by georgekankava 1
  • Multiple code improvements - squid:S00117, squid:S1068, squid:S1213

    Multiple code improvements - squid:S00117, squid:S1068, squid:S1213

    This pull request is focused on resolving occurrences of Sonar rules squid:S00117 - Local variable and method parameter names should comply with a naming convention. squid:S1068 - Unused private fields should be removed. squid:S1213 - The members of an interface declaration or class should appear in a pre-defined order. You can find more information about the issue here: https://dev.eclipse.org/sonar/rules/show/squid:S00117 https://dev.eclipse.org/sonar/rules/show/squid:S1068 https://dev.eclipse.org/sonar/rules/show/squid:S1213 Please let me know if you have any questions. George Kankava

    opened by georgekankava 0
  • squid:S1213 - The members of an interface declaration or class should appear in a pre-defined order

    squid:S1213 - The members of an interface declaration or class should appear in a pre-defined order

    This pull request is focused on resolving occurrence of Sonar rule squid:S1213 - The members of an interface declaration or class should appear in a pre-defined order. You can find more information about the issue here: https://dev.eclipse.org/sonar/rules/show/squid:S1213 Please let me know if you have any questions. George Kankava

    opened by georgekankava 0
  • squid:S1066 - Collapsible

    squid:S1066 - Collapsible "if" statements should be merged

    This pull request is focused on resolving occurrences of Sonar rule squid:S1066 - Collapsible "if" statements should be merged. You can find more information about the issue here: https://dev.eclipse.org/sonar/rules/show/squid:S1066 Please let me know if you have any questions. George Kankava

    opened by georgekankava 0
  • Pause button stops the timer but the user can still continue to solve the puzzle

    Pause button stops the timer but the user can still continue to solve the puzzle

    Bug description The pause button on the puzzle solving screen only pauses the timer but the user can still continue to solve the puzzle, which leads to possible inaccurate times.

    Steps to reproduce Draw a picture Move to the jigsaw puzzle page Select any difficulty Pause the timer

    Expected behaviour Pause the timer and block any attempts to move the puzzle pieces around.

    Devices tested on App version 1.0 Physical device: Pixel 6 Pro Android, 13 Tiramisu (API 33) Virtual device: Pixel 2 & Nexus 9, Android 9.0 Pie (API 28)

    opened by Kopppi 0
  • Some option not responding on the app

    Some option not responding on the app

    Expected behavior When options are been selected, option been clicked on should show some response in accordance to what it is selected for.

    Actual behavior When puzzle is been played. Clicking on the reset or restart option, and the other two option by the left doesn't respond.

    How to reproduce Download application. Make drawings of your choice, then click on the puzzle option at the top bar. Select stage or level of your choice After game is been played, then click on the options located below. After the pause and resume option, the rest are not responding.

    Device: Tecno wx3pro App version: 1.0 Operating system: Android Nougat 7.0

    Recording of the bug https://youtu.be/MdEusbczHYM

    opened by abdul-qudus 1
  • Puzzle display aren't in accordance to game played at times.

    Puzzle display aren't in accordance to game played at times.

    Expected behavior When puzzle is been selected, then while playing or making a move. Design or drawings from puzzle should still remain intact.

    Actual behavior When puzzle are relocated, respective drawings keeps changing and sometimes making puzzle uneasy to get.

    How to reproduce Download application. Draw preferred puzzle of your choice, the select the puzzle option at the top bar. Select stage or level to be played. Then after making movement. Responds keep changing at times.

    Device: Tecno wx3pro App version: 1.0 Operating system: Android Nougat 7.0

    Recording of the bug https://youtu.be/kieS6dPgenQ

    opened by abdul-qudus 1
  • Inclusion in F-Droid

    Inclusion in F-Droid

    Hi,

    Since this app is Apache v2 licensed, are you considering the fact to add it to F-Droid? There is a strong community behind, that do not use Google Play nor anything else, except F-Droid.

    You can find some documentation here.

    Otherwise, if you don't want to work on the inclusion of this app by yourself, would it be ok for you if someone else do it for you?

    opened by Poussinou 0
  • [Suggestion] New Icon for the App

    [Suggestion] New Icon for the App

    Hello! As you may have observed, minimalist or simplistic app icons are the modern trend right now as opposed to complicated and detailed icons so here's my suggestion for the new icon for the app.

    readme

    What do you think?

    opened by cedenoruel 0
Freegemas libGDX is an Android and Java desktop port of Freegemas, which in turn is an open source version of the well known Bejeweled.

freegemas-gdx Freegemas libGDX is an Android, HTML 5 and Java desktop port of Freegemas, which in turn is an open source version of the well known Bej

David Saltares 144 Jun 21, 2022
Freegemas libGDX is an Android and Java desktop port of Freegemas, which in turn is an open source version of the well known Bejeweled.

freegemas-gdx Freegemas libGDX is an Android, HTML 5 and Java desktop port of Freegemas, which in turn is an open source version of the well known Bej

David Saltares 144 Jun 21, 2022
Just a simple tool to turn on/off DND(Do Not Disturb) automatically when using specified apps.

AutoDND Just a simple tool to turn on/off DND(Do Not Disturb) automatically when using specified apps. Ever feel disturbed by notifications and maybe

null 6 May 24, 2022
My solutions for the Advent of Code 2021. See the link for a playlist with recordings of me solving each puzzle.

Advent of Code 2021 My solutions for the Advent of Code 2021 solved with Kotlin. What is the Advent of Code? Advent of Code is an online event created

The Self-Taught Software Engineer 6 Jan 5, 2022
A canvas you can draw on with different colors.

Simple Draw A canvas you can draw on with different colors. Want to draw something but you have no paper? This app will suit you perfectly. Just pick

Simple Mobile Tools 410 Jan 4, 2023
App that allows you juice lemons until you have a glass of lemonade!! 🍹

Project: Lemonade App - Starter Code Starter code for the first independent project for [Android Basics in Kotlin] Introduction This is the starter co

Shaima Alghamdi 4 Nov 28, 2022
Android developer tool to draw overlay layout for GUI debug

LayoutOverlay Overview Make a overlay window to show transparent shape to compare size with view, margin. Features Overlay window Drag Drag and drop t

7loro 1 Oct 11, 2021
Application that allows to search some products and display them in a list, also allows to add some product to the shopping cart and remove it

Application that allows to search some products and display them in a list, also allows to add some product to the shopping cart and remove it

Victor 3 Aug 18, 2022
This component allows you to interact with remote machine via SSH. You can execute commands or run scripts located on that machine

th2 act ssh (1.2.0) Overview Provides user with the ability to execute specified scripts or commands with the parameter he needs Custom resources for

th2 1 Dec 18, 2022
A mobile application that allows you to get random information every time you enter the application.

Knowledge Repository A mobile application that allows you to get random information every time you enter the application. Google Play Store : Screensh

Nisa Efendioğlu 2 Jul 10, 2022
Techbee e.U. 62 Jan 31, 2023
Android app that helps you keep track of the medical supplements you need to take and how you spend your days

Android app that helps you keep track of the medical supplements you need to take and how you spend your days, similar to a bullet journal. It also allows you to reflect on your day, week, year, etc.

Rachelle Hu 4 Nov 10, 2022
Android App to save shares from any app into a file.

Save To… Android App to save shares from any app into a file. Download · Website · Contact About the Project Exporting data from any app into a file m

Daniel Gehrer 2 Oct 19, 2022
AnimApp is an app that recommends you random anime and you can add it to your favourite if you like it.

papb-team6 AnimApp is an app that recommends you animes and you can add it to your favourite if you like it. Team members: Firdaus Bisma Suryakusuma (

Gilang Adhitama Putra 1 Mar 9, 2022
Candash - A simple Android app that turns your phone into an instrument cluster for your Tesla Model 3 and Y

What is CANdash? CANdash is an Android app that turns your Android device into a

Nick Nguyen 31 Nov 5, 2022
An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

Joel Kanyi 9 Aug 26, 2022
A transaction management android app which allows you to verify records from both parties before addition.

Transact - Transaction Management Application Description Whenever we lend money to some people, friends, colleagues, we need to keep track of it to r

Sayantan Banerjee 21 May 17, 2022
AptiBit is an android application that uses Firebase firestore to store the questions and categorize different types of aptitude questions into their categories

AptiBit is an android application that uses Firebase firestore to store the questions and categorize different types of aptitude questions into their categories. It also uses firebase authentication service that allows you to sign in to the app using your custom credentials.

Ashish Gupta 3 Jun 13, 2022
Progressive Web App that allows you to create workout tables

WORKOUT Progressive Web App that allows you to create workout tables. ...work in

Piero 0 Jan 10, 2022