This repository has been archived on 2026-05-29. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Jona Walpert 0097da6bdc Merge branch 'feat/143-leave-lobby-command' into 'main'
Feat: Add leave-lobby command

See merge request cs108-fs26/Gruppe-13!172
2026-05-13 21:17:57 +00:00
2026-05-13 23:00:06 +02:00
2026-02-20 09:20:34 +01:00
2026-02-20 09:20:34 +01:00
2026-02-20 09:20:34 +01:00
2026-02-20 09:20:34 +01:00
2026-03-04 11:24:49 +01:00

Game Logo

Syntax Syndicate

Jona • Mathis • Julian • Lars

Table of Contents

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
│   ├── diary                # Diary files for each organizational meetup
│   ├── 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: Foundation & Design

  • Game concept and rules presentation
  • Networking architecture overview
  • Project mockups and requirements analysis
  • Detailed project plan and team organization

MS-2: 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: Knowledge Checkpoints

  • Assessment of individual technical understanding through evaluation

MS-4: 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: 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: 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
S
Description
A distributed multiplayer Poker game developed as part of the CS108 Programming Project course at the University of Basel, with a focus on networking, client-server architecture, and custom protocol design.
Readme 513 MiB
Languages
Java 82.2%
CSS 12.1%
HTML 3%
TeX 1.9%
Shell 0.5%
Other 0.3%