Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abd-mohsen/xlox
XLOX board game, can be solved by user or by computer using state space search algorithms
https://github.com/abd-mohsen/xlox
ai algorithms-and-data-structures state-space-search
Last synced: 13 days ago
JSON representation
XLOX board game, can be solved by user or by computer using state space search algorithms
- Host: GitHub
- URL: https://github.com/abd-mohsen/xlox
- Owner: abd-Mohsen
- Created: 2023-11-10T21:36:58.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-21T14:15:03.000Z (12 months ago)
- Last Synced: 2024-11-07T04:44:33.396Z (2 months ago)
- Topics: ai, algorithms-and-data-structures, state-space-search
- Language: Dart
- Homepage: https://xlox-abdmoh.000webhostapp.com/
- Size: 345 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# XLOX
a board game called XLOX, developed using Flutter framework and Dart language.
inspired from [here](https://www.puzzleplayground.com/xlox).## Game Description
XLOX is a one-player board game where the objective is to get rid of all white cells in a given grid. can be played manually or by letting the
computer solve it for us.### Game Rules
- There is three types of cells, empty, white and a wall
- you can click only on white cells.
- when you click on a white cell, all cells adjacent to it (top, bottom, left and right cells) will flip (empty to white and white to empty).
- wall cells remain intact.## Computer AI
implemented several state space search algorithms (informed and uninformed) in order to reach final state for a given grid.
- **Depth First search (DFS) :** we use a stack or a recursive method to generate all possible next state for the current state and traverse them.
- **Breadth First search (BFS) :** we use a queue or to generate all possible next state for the current state and traverse them.
- **Uniform Cost Search (UCS) :** similar to bfs , but we use a min heap (priority queue) to sort the states efficiently based on their cost.
- **Hill climbing :** similar to bfs , but we use a min heap (priority queue) to sort the states efficiently based on their heuristic value.
- **A\* (A star) :** similar to bfs , but we use a min heap (priority queue) to sort the states efficiently based on their heuristic value + cost.## Results
- some levels are impossible to solve using uninformed search algorithms.
- using a good heuristic value can make a huge difference.##
This game was developed as an assignment for a course at Damascus university. The assignment is aimed to demonstrate proficiency in implementing
search algorithms on a real world problem.Feel free to explore the source code and contribute to the project if you'd like!