Code Monkey home page Code Monkey logo

libre-sudoku's Introduction

libre-sudoku's People

Contributors

aleksej0r avatar and4po avatar atalanttore avatar barbarbarian avatar comradekingu avatar hmg-official avatar id-86 avatar ilithy avatar jesse205 avatar kaajjo avatar kurema avatar likot180 avatar lnsantos avatar nexoflexo avatar ngocanhtve avatar nixxo avatar nvllz avatar oersen avatar periyte avatar rickym7 avatar santossi avatar sapphiredragoness avatar sidaem avatar skyblueborb avatar suburbanno avatar symegac avatar t8rin avatar titanicbobo avatar waldist avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

libre-sudoku's Issues

Export Statistics

I think it could be neat if the game statistics could be exported. The "5 best times" info is great but as a math nerd I want to play with it a bit more, to view improvement over time etc.

I do not have the expertise to actually implement that, so I thought I would raise the idea here in case anyone have time to work on that.

Invalid sudoku

I generated a moderate 9x9. Only remaining value for middle block is 2, but is blocked by a generated 2 even though I am at 0 mistakes.

Screenshot_20231007_155419_LibreSudoku.jpg

Putting in the sudoku in a sudokusolver generates at least 10 valid solutions, which invalidates proper sudoku regimes.

Custom sudoku function panel placement

When adding a custom sudoku puzzle, the panel with function keys is below the value keyboard, even with "Function keyboard over the numbers" checked in settings.

No landscape orientation on Tablet

I love the app but on my tablet, portrait mode is enforced, locking the orientation through third party apps results in improper displaying of the playing field as it is too large.

Always show timer on game completion

I think it's fine to show the timer right after the game is finished. The completion screen will probably be redesigned in the future, but until then I think it's a cool feature. Personally, I have the timer turned off, but I have noticed that I often check the completion time of the game I just finished in the History tab. If it is simple enough, make it an option in the settings to either turn off the game timer completely or show it only after the puzzle has been completed. But I think nobody would be mad if it was a simple on/off switch like now and the timer was always shown right after the game.

Best win streak calculated wrong

I think it might be adding current streak to the previous best one to calculate best streak

  1. my statistics when i noticed this

Screenshot_20230922-154515.png

  1. my statistics after i dropped 1 game and completed 2

Screenshot_20230922-163000.png

Do not provide Context to VM

Providing Context to a ViewModel is a bad bractice. VM is built as a business logic component so it is needed to be avoided to use such android featured things like Context and so on

Exclude initial number interaction as a user action

If you try to replace an initial number by selecting a cell and clicking on any number in the bottom bar, it won't affect the number because they are not overwritable. But it still counts as a user action. You can see this by trying to undo your input, which will try to undo changes that were never made to the initial numbers every time you tap Undo.

To reproduce:

  1. Start a new game and fill any empty cell with any number on the grid
  2. Select any initial digit cell and try to overwrite it with a random digit x times (it won't affect the cell)
  3. Tap the Undo button

You are expecting the button to undo a visible change made in the first step, and instead you need to tap the Undo button x+1 times to undo a visible action. To fix this, make the interaction with the initial numbers not count as a user action.

Unsolvable Sudoku

I was playing a game when I found that it was impossible to solve.
As you can see below, I was playing at the easy mode.
I'm using Android 10, if it helps.
I still have the game open, so if you need some log or something, just let me know.
photo_2023-09-28_18-32-01
photo_2023-09-28_18-32-04
Thank you!

Layout rebuild

Hi, it's my first issue here! I really like your app. I'll definitely spend some time on it. But while it's cool in terms of gameplay, there are many flaws in the layout. The biggest problem is a grid that is too bold and bright compared to the numbers in dark mode. This makes the view too vague at first glance. You need to concentrate on the numbers, not the bold, bright lines. Another thing I see is a problem with alignment. Some of the cell contents seem to be misaligned, which looks a bit bad. The buttons for each number below the grid are also unevenly aligned and too small. These are my suggestions:

[THE MAIN MENU]

  • the main menu is completely inconsistent right now.. it would be better to present all the options on the screen in the form of small buttons in two rows
  • place the 'Continue' button above the 'Play'
  • if it's possible to resume an existing game, make the background color of the "Play" button less accentuated (like the background color of the "Home" button at the bottom)
  • show details of the game that can be continued (grid size, difficulty, elapsed time)
  • remember last game's level and mode (now it is always easy/9x9 by default)

[SUDOKU BOARD]

  • make the main grid thinner, with a low opacity for black/dark modes
  • add a possiblity to place the function buttons directly below the grid, over number buttons
  • fix note alignment within each cell
  • enlarge the number buttons below the grid and align them correctly - move the grid and difficulty/time labels bit higher if needed
  • balance the hue of all numbers - make notes a bit grayer than regular numbers, make the hue of entered numbers a bit different from the original ones

[GAME COMPLETION SCREEN]

  • I think it is a little too static right now. Just a message to return to the main menu or stay on the grid. It would be cool to see some details like the game timer, the number of errors (x/3 if enabled), a prompt for a new time record, etc. It definitely needs a redesign. I would see it as a dialog that says the game is over with buttons to either 'show details' or 'return to menu'. It would be cool to have a smooth transition here, which would really fit in with all the other smooth aspects of the app. If we choose to stay on the grid, we will see the same finished grid screen as before, but with the toolbar hidden, as the numbers are now hidden. In their place, the game can display statistics, the best time for the current mode, etc. Now staying on the grid gives you almost nothing, because you can see more game details in the history tab. Such a thing could make the aftergame screen more interesting

[HISTORY]

  • fix the sort dialog being covered by the navigation bar at the bottom of the screen
  • I think it would look better if the 'Current' and 'Initial' tabs were merged, or the initial numbers were shaded slightly differently to those added by the player
  • make the 'Progress' label show progress as a percentage
  • change the title bar text of the game entry view from 'Saved game' to 'Game #id'
  • remove a trailing space in the time label (now it's "Time: 20:30" with two spaces after the colon)
  • display the time in the format "HH:MM:SS" if the elapsed time exceeds one hour (01:20:30 instead of 80:30), and apply the same to the 'Statistics' entries
  • remove the check mark in the sort dialog for items that act as radio buttons (Either "ID" or "Timer" sorting must be selected, so the check mark is misleading because you can't uncheck them. Leave these marks for actual checkboxes only, as it is clearly visible which option is selected for radio-like buttons)

[SETTINGS]

  • short 'Dark Theme' option label text to just 'Theme', rename the options: 'Off' to 'Light' and 'On' to 'Dark'

The app is almost perfect. I hope you understand what I'm trying to say and that these things will one day make it into the app. Thanks for your efforts ;)

Keep track of the date and time of the game

Let's record the date and time of each game and put it in the History tab. I don't know if the game actually records such data, and I don't know if we want to show only the start time of the game in the game details, or also the time it finished, but it would definitely be useful to show such data in the game details. If it would look better, you can also replace the 'Game ID: x' line in the game list with the start date of the game. The format should be set by the user with various options in the settings.

Game preview coloring issues

Some, probably random, initial digits in the Current tab when previewing a historical game are highlighted with an accent color, as if they were entered by the user.

Add Killer Sudoku mode

Would it be possible to add a mode for killer sudoku? (Basically add boxes which display the sums of their elements.)

I might take up on this and fork if I can make some time.

Redo button?

I've got a bad habit of accidentally hitting the undo button, would a redo button be possible? Maybe longpress the undo button, though that seems a bit arcane so perhaps just stick it in the overflow menu?

Window insets

you can use Modifier.statusBarsPadding() instead of .padding(WindowInsets.statusBars.asPaddingValues())

Difficulty discrepancy

I played some puzzles and found Easy mode to be sometimes more difficult than Moderate. It's really weird I can't finish some 'easy' sudokus and spend like 20 minutes to get like 40% progress, and when I try to play a game on moderate level, it takes me the same time to solve it. I think it's something wrong, because in other apps some easy modes take me 6-10 mins to solve the grid, while here I can't even finish some of them, because there are several possibilities in each cell, so either i'm too bad, or idk.. But I guess easy mode should be the one I should be able to finish without any special techniques. To make the app beginner friendly it would be nice to have easy mode to be really easy. I counted number of given integers in the Libre Sudoku easy mode.

Not to mention the 12x12 Easy Sudoku, which I have never been able to solve. I spent 88 minutes on it and gave up... now I've just found a solution online. A solver had to use the trial and error method to proceed. Again, this is the easy mode.

image
And it still took over 80 steps to complete, even with the numbers I figured out.

I think we get way too few initial integers. Compared to the easy mode of sudoku.com it's even 15 less. You get numerous possibilities and it is totally discouraging to play the game if you wanted to relax with an easy 10-15 minute puzzle. Or maybe add another, easier difficulty level?
Please, think about it

Dependencies missing

This dependency cannot be found in the warehouse
com.github.SmartToolFactory:Compose-Image-Cropper:1.0.0-alpha08

Are you sure it exists?

App Translation

Hi;
Your application is very good, thank you for this excellent Sudoku app. ❤️
are we authorized to offer you translations via PR? (for my part in French).
Thank you for everything.

Sorting dialog placement in history tab

Here you can see a little bug with the dialog, as it's placed slightly above the status bar, while it was sticked to it before:

Also I think it'd be better to have a tickmark inside "Ascending/Descending" button when checked.

Request: Press on grid to resume

When I close and reopen the app, the game is paused and I need to press on the small continue button.
I guess I'd would be a better UX when pressing on the blurred grid would also resume the game.

Bookmark feature

User story:
As a player I would like to have the ability to add bookmarks that would allow me to reset all moves to the time the bookmark was placed.

Implementation:
The way this would work could be as follows:

  1. There is a button to add a bookmark besides the pause button
  2. A new bookmark is placed, user can continue playing normally
  3. There is a button on the bottom that brings up the bookmarks
  4. When a bookmark is clicked, all moves done are reset to that point

Rationale:
In a way, you can think of the bookmark feature as a "save state" for the board. Placing a bookmark after already having bookmarks wouldn't affect any previous bookmarks, you can freely move between them.

This allows for users to much more safely navigate through games where at some point you need to take a gamble on what a potential number could be (that maybe, much later on ends on an inconsistent board state). Right now you can use the "back button" but you might have forgotten at exactly which point you made the change.

I think having two buttons, one to place the bookmark and one to bring up all the saved bookmarks might be good to avoid any sort of accidental presses.

Suggested UI:

I'm sure you can make it look much better but this is kind of what I'm thinking in terms of UI

Language

It doesn't save language scheme after relaunching the app

Mistakes checking setting not affecting the current game

Changing the 'Mistakes checking' option mid-game doesn't affect the actual state of the game. New mistakes will be marked correctly, but the old ones from before the change will not be highlighted until you restart the current game.

Sometimes there are no solutions for the games

Sometimes when I play LS at 75% progress something's wrong in the app code and bceause there's no solution the game crashes.

I'll try to record a bug report using adb logcat, stay tuned.

Game: 9x9, Easy
Android 13, 1+ 8

add groups of 3 to learning

In the learning section there are mentioned pais that can be used to solve the sudoku.
The technique is not restricted to groups of 2. They can also be groups of 3 (and very unlikely more).
That may be worth mentioning in the learning section.

Unsolveable Sudoku

I was just playing my rounds when I came across a peculiar sight, I noticed right from the start that something is wrong as the six and the two are clearly correct, I tried to see what the hints said and they created nothing, after a while I decided to give up to see if I waa mistaken or not, the solution was a completely blank board. Screenshot_20230301-062424.png

Enhancement - Shift the UI down on the Screen

Hello,

Is it possible to either add an option or something to allow the UI to shift down on the mobile screen? With device screens getting bigger and bigger, it would be great to be able to reach all inputs without having to reach toward the top of the screen to play.

Kindly let me know - thanks!

More colors in UI

Hi;

Your application is excellent but, (in my opinion) sorely lacking in colors that would make the game board "less cold" and much more pleasant.
Would it be possible to add options for coloring the game board, the background, the numbers, position lines etc? With an accentuation of the chosen color (with the theme already present in the app, and the dynamic model)

To give an example of what this "could" look like:

IMG_20230123_092510

Capture shamefully recovered from Sudoku ^^

What do you think about this?
Thanks ❤️

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.