Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/mohamad-jamal-j/coinsgame
- Owner: Mohamad-Jamal-J
- Created: 2024-04-15T23:09:56.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-07-31T00:42:14.000Z (5 months ago)
- Last Synced: 2024-07-31T03:40:53.354Z (5 months ago)
- Topics: animation, dynamic-programming, java, javafx
- Language: Java
- Homepage:
- Size: 85 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)