Code Monkey home page Code Monkey logo

multisweeper's People

Contributors

mtte avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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

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.

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

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

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

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

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.