Implementation of the popular board game "Catan" as part of a Programming Project for the TU Darmstadt Informatik course. This project showcases advanced Java programming techniques and utilizes JavaFX for the user interface.
This repository contains the digital implementation of the popular board game "Catan". The project is designed to provide a rich graphical and interactive experience, allowing users to play the game as they would in a physical setting.
- Full implementation of the Catan game rules.
- Interactive user interface designed with JavaFX.
- Multiplayer capabilities.
- Save and load game functionality.
- Java: The primary programming language used for the game logic.
- JavaFX: Used for creating the graphical user interface.
- Gradle: For build automation.
- Lambdas
- Streams
- Optionals
- Generics
To set up and run the project, follow these steps:
-
Clone the Repository:
git clone https://github.com/adham-elaraby/FOP-2324-Projekt-Student.git cd FOP-2324-Projekt-Student
-
Install Dependencies: Ensure you have Java and Gradle installed on your machine. Then, run the following command to download and install the required dependencies:
./gradlew build
-
Run the Application: To start the application, use the following command:
./gradlew run
-
Pull, Edit, Commit, Push: Follow these steps to make and push changes:
git pull origin main
- Edit files
git add <filename>
git commit -m "Description of changes"
git push origin main
-
Increase Memory: If you encounter memory issues, increase the memory allocation by editing the
gradle.properties
file:org.gradle.jvmargs=-Xmx8192M
For more detailed commands and instructions, refer to the Help Section in the repository.
Pull -> Edit files -> git add -> commit -> push
-
Always pull before working, and before pushing
git pull origin main
-
After implementing a task or a couple of tasks e.g. H2.1 + H2.2 do the following:
git status
to see the status of any untracked changes -
Add all the files that you changed that need to be tracked
git add example-file.java
-
Commit with message
git commit -m "Enter a discription of what task you did"
-
Push.
git push origin main
To Pull each others private changes
git pull origin main
To Push your commits to private
git push origin main
(Only for Adham) To Pull any changes from public
git pull public main
run: ./gradlew --stop
in intellij terminal.
Gehen Sie in Ihrem User Ordner in der Ordner ".gradle"
Unter Windows finden Sie den Ordner unter "C:\Users\<UserName>\.gradle"
und auf Linux und macOS unter "~/.gradle"
Falls nicht vorhanden, erstellen Sie die Datei "gradle.properties"
.
Fügen Sie in dieser Datei eine Zeile mit folgendem Eintrag hinzu:
org.gradle.jvmargs=-Xmx8192M
Sie können auch versuchen die Zahl am Ende zu erhöhen, wenn der Fehler weiterhin auftritt.
brew install gh
if you have Homebrew installed, otherwise download from the GitHub website- Login to GitHub with Terminal
- run
gh auth login
and choose website login
Then clone the repo, and run the following commands in the directory:
- Add the public repo as public
git remote add public https://github.com/FOP-2324/FOP-2324-Projekt-Student.git
- Make git not change
build.gradle.kts
because we all have different tu-id'sgit update-index --assume-unchanged build.gradle.kts