multisweeper's People
multisweeper's Issues
Views designen
Es sollen alle Views der Applikation designt und mit als FXML implementiert werden.
Aufwand geschätzt: 4h
Testen der Game-Logik
Die gesamte Game-Logik soll mit Unit-Test erweitert werden.
Geschätzter Zeitaufwand: 2h
Verbindung von Conection API - Game Logik
Die Spiellogik soll nun an die Connection API angebunden werden. Das heisst das neue Actions definiert werden müssen (Server zu Client) und die Action Handler (Client zu Server) entsprechend hinzugefügt werden, damit der Spielablauf vollendet ist.
Geschätzter Zeitaufwand: 5h
Client GUI implementieren
Es sollten alle Views der Applikation implementiert werden. Es sollte noch keine Logik implementiert werden, da dies zu diesem Zeitpunkt noch nicht möglich ist.
Notificators implementieren
Es müssen alle Methoden die von den Notificator Interfaces definiert werden implementiert werden.
Geschätzter Aufwand: 4h
Transmitter implementieren
Es müssen alle Methoden des Transmitters implementiert werden.
Geschätzter Aufwand: 5h
Logging-Framework
Logging-Framework hinzufügen, um sauber loggen zu können.
Ausserdem verwenden Libraries und Dependecies Logger, welche auch direkt hierüber laufen sollen.
Geschätzer Zeitaufwand: 0.25h
Client logic
Die Logik für die GUI des Clients soll implementiert werden, sodass die Kommunikation zwischen GUI und Connection API funktioniert.
Game Selection View
Es soll eine View hinzugefügt werden, bei welcher der Speieler aus einer Liste von Spielen auswählen kann, welchem er beitreten möchte.
Geschätzter Zeitaufwand: 1h
UML für das ganze Projekt erstellen
Es soll ein UML für das ganze Projekt erstellt werden, um die Architektur zu planen. Das UML muss nicht bis ins letzte Detail genau sein, aber man sollte einen guten und klaren Überblick über die Architektur geweinnen.
Geschätzter Aufwand: 5h
Gamelogic
Implementierung der Minesweeper Spiellogik
Dies umfasst das Erzeugen von Spielfeldern, das Handling von Clicks, etc.
Implementierung des Protokolls
Implementierung des Protokolls
Arbeitsaufwand geschätzt:
Verbesserungen
Im Verlauf der letzten Sprints haben wir verschiedene kleine Fehler oder Unklarheiten entdeckt, welche behoben werden müssen, bevor wir normal weiterfahren können.
- Admin-Logik auf dem Client
- GameId-Logik auf dem Client
- Fenstergrösse der Game-View
- Bilder auf dem Client cachen
- Probleme mit dem Port auf dem Client
- Falsch delegierte Methoden auf dem Client
- Die Methodennamen in den Viewmodels ändern
Grafiken für GUI erstellen
Es müssen alle benötigen Grafiken entworfen und erstellt werden.
Geschätzter Aufwand: 1.5h
ViewModel Logik implementieren
Es muss in jedem ViewModel die komplette Logik implementiert werden, welche auf die Messages des Servers reagiert und auch Messages an den Server sendet. Zudem müssen in den ViewModels alle Views immer korrekt upgedated und angezeigt werden.
Geschätzter Aufwand: 4h
Definition der Schnittstelle
Definition der Schnittstelle
Arbeitsaufwand geschätzt:
Minesweeper Spiel-Logik
Die allgemeine Logik des Spiels Mineweeper soll implementiert werden gemäss dem UML. Grösster Teil dabei wird die Generierung des Spielfelds sein.
Klassen aus dem UML: PlayingField, Field, FieldCords
Geschätzer Zeitaufwand: 2h
Testen der Schnittstelle
Testen der Schnittstelle
Arbeitsaufwand geschätzt:
ConnectionAPI
Connection API
Ziel
Die API soll die Verbindung zwischen Clients und Server ermöglichen. Hierzu wird auch ein eigenes Protokoll definiert.
Arbeitspakete
- Definition des Protokolls
- Definition der Schnittstelle
- Implementierung der Schnittstelle Serverseitig
- Implementierung der Schnittstelle Clientseitig
- Implementierung des Protokolls
- Testen der Schnittstelle
Implementierung der Schnittstelle Clientseitig
Implementierung der Schnittstelle Clientseitig
Arbeitsaufwand geschätzt:
Definition des Protokolls
Definition des Protokolls
Aufwand geschätzt:
Implementierung der Schnittstelle Serverseitig
Implementierung der Schnittstelle Serverseitig
Arbeitsaufwand geschätzt:
Gradle-Projekt erstellen
Als Build-Tool soll gradle verwendet werden.
Folgende anforderungen sind gegeben:
- Subprojekte für client, server und shared
- Dependecy management für alle subprojekte
Geschätzer Zeitaufwand: 2h
Game-Logik / Handling
Implementierung des Spielablaufs und Handling des Minesweeper-Spielfelds. Basierent auf dem UML-Diagramm.
UML-Klassen: Game, GameImpl, Player,
Geschätzter Zeitaufwand: 2.5h
View-Logik implementieren
Es soll alle Logik die zu den Views gehört und unabhängig von den anderen Projektteilen ist, implementiert werden. Dazu gehören zum Beispiel diese Sachen:
- Controller erstellen
- Validierung hinzufügen
- Methoden-Stubs für Buttons usw. erstellen
Geschätzter Aufwand: 2h
Gradle tasks erweitern
Die funktionalität von Gradle soll angepasst und entsprechend konfiguriert werden.
Dabei soll es möglcih sein, die Argumente für das Java-Programm mitzugeben.
Ausserdem soll das erstellen der Jar's funktionieren.
Geschätzter Zeitaufwand: 1h
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.