AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[UML] Mastermind

Ein Thema von holle · begonnen am 10. Nov 2006 · letzter Beitrag vom 10. Nov 2006
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.003 Beiträge
 
Delphi 2010 Professional
 
#11

Re: [UML] Mastermind

  Alt 10. Nov 2006, 18:31
Hallo holle,

ja, das kannst du. Der Aufrufer dieser Methode muss aber in OOP ein Objekt sein.

Ich habe einmal ein Beispiel für ein Klassendiagramm und ein dazugehöriges Sequenzdiagramm angehängt.

Das Sequenzdiagramm zeigt, dass der Spieler zunächst einmal ein neues Spiel beginnt und dazu einen neuen SecretCode vom Spielbrett erzeugen lässt. Dann erzeugt der Spieler einen VersuchsCode und schickt ihn an Spielbrett, welchen diesen auswertet.
Miniaturansicht angehängter Grafiken
sequencediagram_200.png   classdiagram_488.png  
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
holle

Registriert seit: 15. Nov 2005
Ort: Uckerland
138 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: [UML] Mastermind

  Alt 10. Nov 2006, 19:01
@MrSpock
DANKE für die Diagramme. Noch ein zwei Fragen dazu:

Was bedeutet "void"? In der Wiki habe ich folgendes gefunden
Zitat:
Das Substantiv Void bezeichnet einen Datentyp in der Informatik, der – im Gegensatz zur üblichen Rolle eines Datentyps – keine Werte speichert. Dieser tritt häufig in den höheren Programmiersprachen wie C bzw. C++ oder Java auf. Er dient dazu, Formalismen, bei denen ein Datentyp angegeben wird, auch dann benutzen zu können, wenn an der entsprechenden Stelle keine Daten verwendet werden, oder um einen möglichst unspezifizierten Typ angeben zu können, wenn die Angabe keine Rolle spielt. Beispielsweise kann man prozedurenähnliche Funktionen schaffen, indem man void als Typ für ihren Rückgabewert festlegt.
Heißt das, dass mit "function tueWas(): void;" das gleiche wie mit "procedure tueWas();" gemeint ist?

Wie kann der Spieler das Spielbrett dazu veranlassen einen SecretCode zu erzeugen? Ich verstehe das irgendwie nicht. Ich würde es ja mit Spielbrett.ErzeugeCode(); machen. Geht aber nicht da ja der Spieler die Methode auslösen muss und ErzeugeCode(); eine Funktion ist. Ich glaub mir fehlt da noch was an Wissen. Kann man das irgenwo nachlesen?

- Marcel -
Marcel
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.003 Beiträge
 
Delphi 2010 Professional
 
#13

Re: [UML] Mastermind

  Alt 10. Nov 2006, 19:36
Hallo holle,

ja, void heißt, dass kein Wert zurückgegeben wird. Wird von dem Tool, das ich benutzt habe so erzeugt, weil es ein Java Tool ist. Ein gutes Buch zum Thema Objectorientierte Analyse und Design mit UML ist sicher eine gute Investition.

Du könntest im Hauptprogramm z.B. die beiden Objekte Spieler und Spielbrett erzeugen.

Ich würde das so realisieren, wenn im Hauptmenue der Punkt Datei | Neu ausgewählt wird, erstellt du die beiden Objekte Spieler und Spielbrett:

Delphi-Quellcode:
Spieler := TSpieler.Create;
Spielbrett := TSpielbrett.Create;

{ Dann schickst du dem Spieler die Nachricht, dass ein neues Spiel beginnt. }

Spieler.NeuesSpiel;
Der Spieler führt jetzt das aus, was in dem Sequenzdiagramm dargestellt ist:

Delphi-Quellcode:
{ Code in der Methode TSpieler.NeuesSpiel }
Spielbrett.ErzeugeCode;

{ Jetzt wird die Methode GeneriereCode aufgerufen, die eine Oeration von TSpieler ist }
{ Generiere Code ermöglicht jetzt dem Benutzer einen Code einzugeben. Es wird ein Objekt der
  Klasse TCode generiert, in dem der Code gespeichert wird. Wahrscheinlich werden die Objekte
  in einer Collection gespeichert. }

NextCode := GeneriereCode;

{ und jetzt schickt der Spieler die Nachricht an das Spielbrett }
Ergebnis := Spielbrett.TesteCode(NextCode);
Ich hab das jetzt nur mal so hingepfuscht, ohne mir da weitere Gedanken zu machen.

[Nachtrag]
Wenn du den Aufruf direkt machst, dann wir letztlich dein Formular zum Objekt Spieler.
[/Nachtrag]
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf