Implementierung / Klassendiagramm "Mensch ärgere dich nicht"



  • Hallo Leute,

    ich hab mir vorgenommen das Spiel Mensch ärgere dich nicht zu programmieren. Sprache C++ natürlich OOP...

    Das Projekt soll demnächst bei uns in der FH starten und ich hatte nun aber schon zuvor Lust darauf. Das Spiel soll über 2 Schnittstellen implementiert werden, so dass jede Gruppe einen eigenen Spieler-Algorithmus implementieren kann und die dann gegeneinander spielen können.

    Es soll also von jeder Gruppe nach einem vorgegebenen Interface, bzw vorgegebenen Interfaces ein Server und ein Spieler implementiert werden und dies sollten dann komplett frei verwendbar sein (Server Gruppe1 mit Spielern von Gruppe2, 3 und 4 zum Beispiel...)

    Ich hab mir mal versucht ein Klassendiagramm zu erstellen und hätte nun gern einige Anregungen dazu.

    Anzumerken wäre, dass ich zum ersten Mal so ein Klassendiagramm erstellt habe und nun überhaupt nicht weiß ob das so irgendwie Ok ist... Hab das mal von Hand mit Blei aufm Block gemacht und dann noch versucht es mit Visio digital zu machen... Das mit Visio ist nicht wirklich so optimal und ich weiß auch nicht ob das so ok ist.

    Nun bitte ich einfach mal kurz um konstruktive Kritik zu den Schnittstellen (meine eigenen, nicht vom Prof vorgegeben!), zu der Umsetzung und zum Code...

    Spieler-Algorithmus besteht natürlich noch nicht. Es soll einfach nur mal so allgemein ein Anfang sein...

    Hier meine Diagramme:

    Versuch Klassendiagramm mit Viso
    Teil 1 von Hand
    Teil 2 von Hand

    Danke für eure Hilfe,

    Hartmut



  • Umsetzbar schauts auf den ersten Blick aus, ich glaube du wirst bei der Umsetzung auf ein paar kleinere Probleme stoßen, aber wenn das nicht so wäre, wärst du kein Programmierer.

    Ich schau mir das ganze ncoh einmal genauer an und gebe Stellung, wenn ich's nicht vergesse!



  • Ich habe auch mal über dein Diagramm geschaut und etwas festgestellt. Es fehlen die Aggregationen (Besteht-Aus Beziehung). Beispiel: ein Spielfeld besteht aus einem Feld, ein Gruppe besteht aus mehreren Spieler.

    Die Ende-Bezeichnungen an den Relationen verstehe ich nicht. Beispiel zwischen Gruppe1 und Figur.

    Ansonsten sieht das ganze gut aus.



  • Hallo, tut mir Leid ich bin einfach mit dem Visio noch nicht vertraut, hab inzwischen aber einiges rausgefunden und hab nun auch mein Klassendiagramm erweitert...

    Hier die neue aktuelle Version

    Danke für die schnellen Antworten!!!

    Bitte jedoch auch mal das Konzept, insbesondere die Schnittstellen genauer unter die Lupe zu nehmen und auf grobe Strukturfehler hinzuweisem! Ich will das nicht hinpfuschen, das würde soweit ich das momentan sehe so funktionieren... nein, ich will das schon bestmöglichst implementieren 😃 soll nicht großkotzig klingen 😉 will eben bei dem Projekt was lernen 😃

    Grüße Hartmut



  • Hier eine überholte Version:

    Klassendiagramm

    Grüße Hartmut



  • Bis auf 'preufeSpielfeld' sieht es ja ganz gut aus -)

    Aber du solltest dir eine einheitliche Sprache zulegen (nicht einige Funktionen in deutsch und andere in englisch).

    Und beim Spielfeld solltest du noch statt 4 eigene Arrays für die Farben ein mehrdim. Array benutzen:

    startFeld[MaxFarben][MaxFiguren] : Feld
    

    Und statt der Literale (z.B. 4, 40...) solltest du auf jeden Fall Konstanten (bzw. Enum-Werte) einsetzen.


Anmelden zum Antworten