Merge branch 'feat/housekeeping' into 'main'
Feat/housekeeping See merge request cs108-fs26/Gruppe-13!1
This commit was merged in pull request #157.
This commit is contained in:
+105
@@ -0,0 +1,105 @@
|
||||
## Java
|
||||
# Compiled class file
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.nar
|
||||
*.ear
|
||||
*.zip
|
||||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
replay_pid*
|
||||
|
||||
## Gradle
|
||||
# Gradle files
|
||||
.gradle
|
||||
**/build/
|
||||
!**/src/**/build/
|
||||
|
||||
# Ignore Gradle GUI config
|
||||
gradle-app.setting
|
||||
|
||||
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
|
||||
!gradle-wrapper.jar
|
||||
|
||||
# Avoid ignore Gradle wrappper properties
|
||||
!gradle-wrapper.properties
|
||||
|
||||
# Cache of project
|
||||
.gradletasknamecache
|
||||
|
||||
# Eclipse Gradle plugin generated files
|
||||
# Eclipse Core
|
||||
.project
|
||||
# JDT-specific (Eclipse Java Development Tools)
|
||||
.classpath
|
||||
|
||||
## MacOS
|
||||
# General
|
||||
.DS_Store
|
||||
__MACOSX/
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
Icon[]
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
## Windows
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Dump file
|
||||
*.stackdump
|
||||
|
||||
# Folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
## Jenv
|
||||
.java-version
|
||||
@@ -1,9 +1,91 @@
|
||||
# README
|
||||
This is a readme file. It typically includes some information about your project.
|
||||
For more information about readmes, you can either [read a guide](https://github.com/18F/open-source-guide/blob/18f-pages/pages/making-readmes-readable.md) or have a look at the readmes of popular open-source projects such as [Swift by Apple](https://github.com/apple/swift) or [Tensorflow](https://github.com/tensorflow/tensorflow).
|
||||
<div align="center">
|
||||
<img src="documents/images/logo.png" alt="Game Logo" width="200"/>
|
||||
</div>
|
||||
|
||||
Readme files are typically formatted in Markdown.
|
||||
However, there are platform-specific flavors, so for this project, you can make full use of the [Gitlab markdown syntax](https://docs.gitlab.com/ee/user/markdown.html), for example when talking about a :bug: (bug) or if your code is slow like a :snail:.
|
||||
You can also tag people using @username and reference issues using '#1', where 1 is the issue number. For more features, consult the linked Gitlab syntax guide.
|
||||
<br/>
|
||||
|
||||
If you don't like reading documentation, [here's a cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
|
||||
<div align="center">
|
||||
<h2>Syntax Syndicate</h2>
|
||||
<p>Jona • Mathis • Julian • Lars</p>
|
||||
</div>
|
||||
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [About the Project](#about-the-project)
|
||||
- [Repository Structure](#repository-structure)
|
||||
- [Prerequisites](#prerequisites)
|
||||
- [Development Timeline](#development-timeline)
|
||||
|
||||
|
||||
## About the Project
|
||||
|
||||
As part of the Programming Project course (CS108) for the semester FS26 at the University of Basel, we are developing a computer game implementation of the popular card game **Poker**.
|
||||
|
||||
The project's focus lies in **networking** and distributed systems design.
|
||||
Key aspect of our implementation being the development and integration of a **custom protocol** specifically designed for **client-server communication**.
|
||||
This protocol handles game state synchronization, player actions, lobby and global chat, and real-time updates across the network.
|
||||
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
├── src/ # Source code directory
|
||||
│ ├── main/ # Application code
|
||||
│ └── test/ # Unit tests
|
||||
├── documents/ # Project resources and documentation
|
||||
│ ├── images/ # Images for README and documentation
|
||||
│ ├── docs # Documentation
|
||||
│ ├── milestones/ # Milestone deliverables (6 milestones)
|
||||
│ └── (Other resources) # Additional project materials
|
||||
└── outreach/ # Public-facing content and marketing materials
|
||||
```
|
||||
|
||||
|
||||
## Prerequisites
|
||||
- Java Development Kit (JDK) 25
|
||||
- Gradle (included via Gradle Wrapper)
|
||||
|
||||
|
||||
## Development Timeline
|
||||
|
||||
This project spans six milestones throughout the FS26 semester, with each milestone representing a major phase in development:
|
||||
|
||||
### **[MS-1](https://p9.dmi.unibas.ch/cs108/2026/#Milestone%201): Foundation & Design**
|
||||
- Game concept and rules presentation
|
||||
- Networking architecture overview
|
||||
- Project mockups and requirements analysis
|
||||
- Detailed project plan and team organization
|
||||
|
||||
### **[MS-2](https://p9.dmi.unibas.ch/cs108/2026/#Milestone%202): Networking & Server Implementation**
|
||||
- Human-readable custom protocol definition and implementation
|
||||
- Server implementation with multi-client support
|
||||
- Client-server chat functionality
|
||||
- Protocol documentation and validation
|
||||
- JavaDoc code documentation and QA concepts
|
||||
|
||||
### **[MS-3](https://p9.dmi.unibas.ch/cs108/2026/#Milestone%203): Knowledge Checkpoints**
|
||||
- Assessment of individual technical understanding through evaluation
|
||||
|
||||
### **[MS-4](https://p9.dmi.unibas.ch/cs108/2026/#Milestone%204): Game Logic & Working Prototype**
|
||||
- Core game logic implementation
|
||||
- Playable game demo (terminal or GUI)
|
||||
- Command-line argument parsing
|
||||
- Multiple lobby support with internal chats
|
||||
- Whisper/private messaging functionality
|
||||
- Build automation and executable JAR
|
||||
|
||||
### **[MS-5](https://p9.dmi.unibas.ch/cs108/2026/#Milestone%205): Polish & Complete User Interface**
|
||||
- Full GUI implementation with JavaFX
|
||||
- Complete game playability through UI
|
||||
- Persistent high score list
|
||||
- Comprehensive unit tests
|
||||
- Game rule enforcement
|
||||
|
||||
### **[MS-6](https://p9.dmi.unibas.ch/cs108/2026/#Milestone%206): Final Delivery & Public Presentation**
|
||||
- *Bug-free* final demo
|
||||
- Complete GUI with all functionality
|
||||
- Outreach materials and project documentation
|
||||
- Game manual and usage instructions
|
||||
- Team logo and promotional materials
|
||||
- QA reports and lessons learned
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# Erste Teambesprechung
|
||||
## Was gemacht wurde
|
||||
### Installation benötigter Software zur Projektleitung
|
||||
- Openproject zur Koordinattion und Dokumentierung
|
||||
- Wireguard um die lokale Kommunikation zwischen den Entwicklern zu ermöglichen
|
||||
|
||||
### Spielidee und Name
|
||||
- Es soll ein Poker Spiel entwickelt werden (mit standard Poker Regeln)
|
||||
- Der Name der Gruppe ist "Syntax Syndicate"
|
||||
- Der Name des Spiels ist "Casono"
|
||||
- Pixel Art
|
||||
|
||||
### Arbeitsteilung
|
||||
- Backend: Lars, Mathis
|
||||
- Netzwerk:
|
||||
- Logic:
|
||||
- Engine:
|
||||
- Frontend: Jona, Julian
|
||||
- Presentation in UI:
|
||||
- Logic:
|
||||
- Artist: Julian, Jona
|
||||
|
||||
|
||||
### Netzwerkprotokoll
|
||||
- Rundenbasiert
|
||||
- Textbasiert und lesbar
|
||||
- Request udn Response (synchron)
|
||||
- Client-Server Modell
|
||||
|
||||
#### Client:
|
||||
- Display für den Spielzustand
|
||||
- führt eigenständig Abfragen beim Server durch
|
||||
- "heartbeat" Artiger Ansatz, prüft beim Server regelmässig nach Zustandsänderungen
|
||||
- einfache Input validation
|
||||
|
||||
#### Server:
|
||||
- Verwaltet den Spielzustand
|
||||
- Verwaltet die Spiele
|
||||
- Nimmt Anfragen entgegen und verarbeitet diese
|
||||
- Stellt global und lobby chat bereit
|
||||
- Setzt Spielregeln durch
|
||||
@@ -0,0 +1,12 @@
|
||||
# zweites Teammeeting
|
||||
|
||||
## UI / Frontend
|
||||
- UI sketch erstellt
|
||||
- grundlegende Entscheidungen getroffen ueber den Aufbau der UI mit anschliessender Vorstellung in der gesamten Gruppe (alle zufrieden :D )
|
||||
|
||||
## Netzwerk
|
||||
- Struktur und Aufbau des Transferprotokolls besprochen
|
||||
- Network Listener und Manager (ähnlich dem Aufbau von Discord)
|
||||
- Nachrichten IDs
|
||||
- Nutzung von hooks der "einen Listener beim Manager einhakt und die Nachricht abgreift"
|
||||
- Nutzung von Action Commands
|
||||
@@ -0,0 +1,34 @@
|
||||
# Meeting Diary
|
||||
|
||||
This folder holds the notes and documentation of all team meetings throughout the project.
|
||||
The notes are organised by **milestones (1–6)** so that everyone can easily see what was discussed and decided at each stage. Each sub-header below links to the actual Markdown file containing the details.
|
||||
|
||||
## Milestone 1
|
||||
### [24. February 2026](24-02.md)
|
||||
- Project idea
|
||||
- Assignment of roles
|
||||
- First draft of network protocol
|
||||
|
||||
### [27. February 2026](27-02.md)
|
||||
- UI mockup
|
||||
- Finalizing structure of network protocol
|
||||
|
||||
|
||||
## Milestone 2
|
||||
*(Meeting notes to be added here when available)*
|
||||
|
||||
|
||||
## Milestone 3
|
||||
*(Meeting notes to be added here when available)*
|
||||
|
||||
|
||||
## Milestone 4
|
||||
*(Meeting notes to be added here when available)*
|
||||
|
||||
|
||||
## Milestone 5
|
||||
*(Meeting notes to be added here when available)*
|
||||
|
||||
|
||||
## Milestone 6
|
||||
*(Meeting notes to be added here when available)*
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
Reference in New Issue
Block a user