Skip to content

Implementation of the board game "Catan" as part of a Programming Project of the TU Darmstadt Informatik course

Notifications You must be signed in to change notification settings

adham-elaraby/FOP-2324-Projekt-Student

Repository files navigation

FOP-Projekt (Archive)

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.

Table of Contents

Screenshots

Menu Build-Road
Start-Game Trade

Introduction

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.

Features

  • Full implementation of the Catan game rules.
  • Interactive user interface designed with JavaFX.
  • Multiplayer capabilities.
  • Save and load game functionality.

Technologies Used

  • Java: The primary programming language used for the game logic.
  • JavaFX: Used for creating the graphical user interface.
  • Gradle: For build automation.

Concepts

  • Lambdas
  • Streams
  • Optionals
  • Generics

Setup Instructions

To set up and run the project, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/adham-elaraby/FOP-2324-Projekt-Student.git
    cd FOP-2324-Projekt-Student
  2. 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
  3. Run the Application: To start the application, use the following command:

    ./gradlew run

Usage

  • Pull, Edit, Commit, Push: Follow these steps to make and push changes:

    1. git pull origin main
    2. Edit files
    3. git add <filename>
    4. git commit -m "Description of changes"
    5. 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.


Help

Important Commands

Quick Walkthrough

Pull -> Edit files -> git add -> commit -> push

  1. Always pull before working, and before pushing git pull origin main

  2. 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

  3. Add all the files that you changed that need to be tracked git add example-file.java

  4. Commit with message git commit -m "Enter a discription of what task you did"

  5. Push. git push origin main

Commands

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

Increase Memory to be able to Run the gradle task verification\check

End the task, i.e. make intellij stop running then:

run: ./gradlew --stop in intellij terminal.

Java mehr Speicher zuweisen

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.

Setup! DO NOT SKIP

Install GitHub Client

MacOS

  1. brew install gh if you have Homebrew installed, otherwise download from the GitHub website
  2. Login to GitHub with Terminal
  3. run gh auth login and choose website login

Then clone the repo, and run the following commands in the directory:

Optional, you don't need to run the next command (Adham will handle this)

  • Add the public repo as public git remote add public https://github.com/FOP-2324/FOP-2324-Projekt-Student.git

Old instructions don't follow:

  • Make git not change build.gradle.kts because we all have different tu-id's git update-index --assume-unchanged build.gradle.kts

About

Implementation of the board game "Catan" as part of a Programming Project of the TU Darmstadt Informatik course

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages