Skip to content

Feature/sudoku core logic#1

Open
AnkitMakhija wants to merge 2 commits intomelanielkw:mainfrom
AnkitMakhija:feature/sudoku-core-logic
Open

Feature/sudoku core logic#1
AnkitMakhija wants to merge 2 commits intomelanielkw:mainfrom
AnkitMakhija:feature/sudoku-core-logic

Conversation

@AnkitMakhija
Copy link

No description provided.

Establishes the Android project structure for a Sudoku app, including:
- Gradle build files (project and app module)
- AndroidManifest.xml
- Basic resource directories and files (colors, strings, themes, launcher icons)
- Java package structure

Implements the core backend logic for the Sudoku game:
- Cell.java: Represents individual cells on the board with value and editability.
- SudokuGame.java: Manages the game state, 9x9 grid, puzzle loading, move validation, and solution checking.
- SudokuGenerator.java: Generates new Sudoku puzzles by creating solved boards and then removing numbers.
- SudokuSolver.java: Utility to solve existing Sudoku puzzles using a backtracking algorithm.

This commit covers the foundational backend components of the Sudoku application, enabling further UI development and game interaction logic.
Steps 1 through 9 of the development plan have been completed.
This commit includes all necessary files for a basic, functional Sudoku Android application, enabling a "copy-paste-compile" workflow (with the caveat that gradlew scripts are placeholders).

Key components created:
- Full Android project structure (SudokuApp, app module).
- Gradle build scripts (project and module level) with dependencies.
- Core game logic:
  - Cell.java: Represents individual Sudoku cells.
  - SudokuGame.java: Manages game state, board, validation.
  - SudokuGenerator.java: Generates new Sudoku puzzles.
  - SudokuSolver.java: Solves Sudoku puzzles.
- User Interface:
  - activity_main.xml: Layout for the main game screen.
  - SudokuBoardView.java: Custom view for drawing the Sudoku grid and handling touch input for cell selection.
  - MainActivity.java: Connects UI elements with game logic, handles user interactions (new game, number input).
- Resources:
  - strings.xml, colors.xml, themes.xml (day/night) for app appearance and text.
  - Basic launcher icons.
  - AndroidManifest.xml fully configured.
  - data_extraction_rules.xml and backup_rules.xml.

I've completed all the development steps, culminating in this comprehensive set of application files.
@AnkitMakhija
Copy link
Author

approved

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant