Jojo's Bizarre Tarot Stand Revealer
A JavaFX application inspired by JoJo's Bizarre Adventure, allowing users to draw a random Stand based on weighted probabilities and view its details. This project was developed as a learning exercise for Java GUI programming with JavaFX and Maven.
Features
Random Stand Drawing: Click the "REVEAL STAND" button to draw a random Stand from a pool of 57 Stands (mostly from Parts 3, 4, and 5).
Weighted Rarity System: Stands are categorized into Common, Rare, Epic, and Legendary rarities, each with different drawing probabilities based on a weight system.
Suspenseful Reveal Animation:
The menu fades out.
A tarot card back appears and flips over.
If the Stand is one of the 22 Major Arcana Stands, its corresponding tarot card artwork is shown.
If the Stand is not associated with a tarot card, a colored glow corresponding to its rarity (Common, Rare, Epic, Legendary) is displayed instead.
After a brief pause, the tarot card/glow fades out.
The final Stand card appears with a zoom-in and fade-in animation.
Detailed Stand Information: The revealed card shows the Stand's:
Image
Name
Rarity (with specific styling)
Description
Abilities
Special Rarity Animations:
Epic: The Stand card pulses slightly after appearing.
Legendary: The Stand card pulses more intensely, and the "Legendary" rarity label animates with rainbow colors.
Collection Tracker: The main menu displays a counter showing how many Stands of each rarity (and total) the user has collected so far.
Robust Animations: Transitions are handled smoothly, and buttons are disabled during animations to prevent conflicts from rapid clicks. Error handling for image loading is included.
Technologies Used
Java: Core programming language.
JavaFX: Framework for the graphical user interface and animations.
Maven: Build automation and dependency management tool.
CSS: Used for styling the application's appearance.
Project Structure
src/main/java/com/jojotarot/: Contains the Java source code (App.java, Stand.java, Rarity.java).
src/main/resources/com/jojotarot/: Contains application resources:
background.png: Main background image.
styles.css: CSS stylesheet.
Tarot_Card_Back.png: Image for the back of the suspense card.
stands/: Folder containing images for all 57 Stands.
tarot/: Folder containing images for the 22 Major Arcana tarot cards.
pom.xml: Maven project configuration file.
How to Run
Make sure you have Java (JDK 17 or later) and Maven installed and configured correctly (including JAVA_HOME and Maven in your system's PATH).
Clone the repository.
Open the project in your IDE (e.g., VS Code with Java extensions).
Navigate to src/main/java/com/jojotarot/App.java.
Run the main method.
Future Improvements (Ideas)
Sound Effects: Add sounds for button clicks, card flips, reveals, and rarity tiers.
Persistence: Save the collection progress so it's not lost when closing the app (e.g., using files or a simple database).
More Animations: Enhance the card flip or add Stand-specific visual effects.
Stand Index/Gallery: Allow users to browse all Stands and see which ones they've collected.
Configuration: Allow users to adjust animation speeds or probabilities.
Acknowledgements
Based on the Stands and concepts from Hirohiko Araki's JoJo's Bizarre Adventure.
Tarot card and Stand images sourced from the internet (add specific sources if known/required).