Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mohamad-jamal-j/coinsgame

Dynamic programming approach for a coin-picking game with interactive animation.
https://github.com/mohamad-jamal-j/coinsgame

animation dynamic-programming java javafx

Last synced: 18 days ago
JSON representation

Dynamic programming approach for a coin-picking game with interactive animation.

Awesome Lists containing this project

README

        

# Coins Pick Algorithm (Java Application)
Welcome to the Coins Pick Game! This Java application implements a dynamic programming approach for a coin-picking game with interactive animation.
The goal of this algorithm is to ensure that player 1 gets the optimal sum of coins in order to win the game, or in worst-case scenario, a draw (but never a loss).

## Key Features for Users

- **Interactive Animation**:
- Visualizes the coin-picking process using transitions and timelines.
- Enhances user experience by mimicking real-life coin picking.

- **Game Controls**:
- **Start Game Button**: Initiates automatic animation of the game sequence.
- **Manual Play Button**: Allows users to move forward/backward through the game using arrow keys.
- **Reset Button**: Resets the game, placing all coins back in their original positions.

- **Move Log Display**:
- Provides real-time updates on each move made by players (who made the move and from which side).

## For Developers
- **Dynamic Programming Strategy**:
- Optimizes player moves to maximize coin collection using dynamic approach.
- Visualization of the dynamic table generated for the set of coins.

- **Interfaces Using Javafx**:
- Using a variety of Javafx Nodes like: VBox, HBox, ScrollPane, StackPane, Label, TextField, TextArea, GridPane, and more.
- Implements animation using Javax components.
## Screenshots:

### Main Menu.



![image](https://github.com/Mohamad-Jamal-J/CoinsGame/assets/147601389/40df551d-8dcf-4d6d-b9d0-56ccfdd8c45e)
![image](https://github.com/Mohamad-Jamal-J/CoinsGame/assets/147601389/874427ae-92e1-483e-9cad-b4e4b33793f0)
---
### Starting the game animation.



![image](https://github.com/Mohamad-Jamal-J/CoinsGame/assets/147601389/90b47e46-ab9b-4f58-99d4-aefcb759c02c)
![image](https://github.com/Mohamad-Jamal-J/CoinsGame/assets/147601389/7878b72c-8ac6-4611-8e3c-a9759a20dc59)
![image](https://github.com/Mohamad-Jamal-J/CoinsGame/assets/147601389/a4e4569f-face-40fb-a203-2ee0a0d0e3a4)
---
### Enabling Manual control mode using arrow keys.



![image](https://github.com/Mohamad-Jamal-J/CoinsGame/assets/147601389/fd901bb4-aeff-4935-9b8f-58002ae2c748)
---
## App Walkthrough video
[Watch Walkthrough Video](https://drive.google.com/file/d/1TNmNVvvsEX_NjQ_LD_lrfyrxzbIwSAbh/view?usp=sharing)