1 / 72

Einführung in die Software-Entwicklung mit Delphi Teil 1

Einführung in die Software-Entwicklung mit Delphi Teil 1. Klaus Becker 2005. 1$. 1$. 1$. 1$. 1$. 1$. 1$. 1$. 1$. 1$. 1$. 3. Miniprojekt „chuck a luck“. Interaktive Systeme entwickeln Benutzungsoberfläche gestalten Ereignisverarbeitung konzipieren und implementieren

damaris
Download Presentation

Einführung in die Software-Entwicklung mit Delphi Teil 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Einführung in dieSoftware-Entwicklung mit Delphi Teil 1 Klaus Becker 2005

  2. 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 3 Miniprojekt „chuck a luck“ • Interaktive Systeme entwickeln • Benutzungsoberfläche gestalten • Ereignisverarbeitung konzipieren und implementieren • Systeme modellieren und strukturieren 1 4 2 5 3 3 6

  3. Teil 1 Grafische Benutzungsoberfläche

  4. 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 3 Das Würfelspiel „chuck a luck“ Einsatz zahlen und Zahl tippen Würfel werfen Gewinn verbuchen Einsatz: 1 $ Gewinn: 0 Treffer: 1 Treffer: Einsatz + 1 $ 2 Treffer: Einsatz + 2 $3 Treffer: Einsatz + 3 $ 1 4 2 5 3 3 6

  5. Zielsetzung Ziel ist es, ein System zu entwickeln, mit dem das in Amerika weit verbreitete Würfelspiel „chuck a luck“ am Rechner gespielt werden kann. Als Werkzeug benutzen wir das Programmiersystem „Delphi“.

  6. Anforderungen /1/ Der Benutzer hat einen vorgegebenen Geldbetrag auf seinem Konto. /2/ Der Benutzer kann seinen Einsatz zahlen und eine Zahl auf dem Spielfeld setzen. /3/ Das System simuliert auf Wunsch das Werfen von drei Würfeln. /4/ Das System berechnet auf Wunsch den Gewinn und verbucht ihn auf dem Konto. ...

  7. Benutzungsoberfläche Eine grafische Benutzungsoberfläche (GUI: Graphical User Interface) legt das äußere Erscheinungsbild eines Programms und die Interaktionsmöglichkeiten des Benutzers mit dem Programm fest. Eine grafische Benutzungsschnittstelle dient als Mensch-Maschine-Schnittstelle. Der erste Schritt besteht darin, eine Benutzungsoberfläche zu entwerfen und sie mit Hilfe der von Delphi vorgegebenen Komponentenpalette zu erstellen.

  8. GUI-Objekt Eine Benutzungsoberfläche wird mit Hilfe von sog. GUI-Objekten aufgebaut. (GUI: Graphical User Interface) GUI-Objekt GUI-Objekt GUI-Objekt GUI-Objekt Die Eigenschaften eines Objekts kann man sich mit dem Objektinspektor anzeigen lassen.

  9. Objekt Ein Objekt hat (in der Regel) einen Namen und wird einer Klasse zugeordnet. Die Klasse legt dabei den Typ des Objekts fest. PKonto: TPanel PKonto: TPanel Im Objektinspektor werden Name und zugehörige Klasse eines Objekts in einem Fenster angezeigt.

  10. Aufbau und Zustand eines Objekts Der Aufbau eines Objekts wird mit Hilfe von Attributen (Eigenschaften) festgelegt. Die Attributwerte legen den aktuellen Objektzustand fest. Klasse Name Name Klasse PKonto: TPanel Caption = ´Konto´ Left = 223 ... Attributwert Attribut Attributwert Attribut Objektdiagramm Um die Struktur von Objekten zu beschreiben, benutzen wir eine vereinfachende Darstellung. Man nennt eine solche Darstellung Objektdiagramm.

  11. Aufgabe Erstellen Sie eine Benutzungsoberfläche, die aus folgendenden GUI-Objekten aufgebaut ist. Beachten Sie unbedingt den Hinweis auf der nächsten Folie. FGUI: TFGUI PWuerfel1: TPanel PWuerfel3:TPanel PWuerfel2: TPanel PWuerfel: TPanel PUeberschrift: TPanel Pspielfeld: TPanel PKonto: TPanel ESpielzahl: TEdit PKontostand: TPanel BGewinnVerbuchen:TButton BWuerfelWerfen:TButton BEinsatzZahlen:TButton

  12. Vorbereitung eines Delphi-Projektes Delphi erzeugt eine ganze Reihe von Dateien zur Verwaltung eines Programmierprojektes. Um diese Dateien verwalten zu können, sollte man sie immer in einem eigenen Ordner speichern. Schritte zur Vorbereitung eines Delphi-Projektes: 1. Neuen Ordner anlegen: <ChuckALuck0> 2. Delphi starten 3. Datei  Projekt speichern unter: <ChuckALuck0/...>

  13. Ein Blick in die Datei „Unit1.dfm“ object FGUI: TFGUI Left = 399 Top = 112 Width = 514 Height = 302 Caption = 'Fgui' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object PUeberschrift: TPanel Left = 32 Top = 32 Width = 441 Height = 41 Caption = 'chuck a luck' Font.Charset = DEFAULT_CHARSET ... ... Font.Color = clWindowText Font.Height = -19 Font.Name = 'MS Sans Serif' Font.Style = [] ParentFont = False TabOrder = 0 end object PSpielfeld: TPanel Left = 32 Top = 104 Width = 137 Height = 25 Caption = 'Spielfeld' TabOrder = 1 end object PWuerfel: TPanel Left = 184 Top = 104 ... end ...end Achtung: Diese Datei wird in älteren Delphi-Versionen als Binärdatei abgespeichert.Siehe auch http://hsg.region-kaiserslautern.de/faecher/inf/material/misc/d6_2_d4.php

  14. Objekthierarchie object FGUI: TFGUI Left = 399 Top = 112 Width = 514 Height = 302 Caption = 'Fgui' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object PUeberschrift: TPanel Left = 32 Top = 32 Width = 441 Height = 41 Caption = 'chuck a luck' Font.Charset = DEFAULT_CHARSET ... FGUI:TFGUI PUeberschrift:TPanel PSpielfeld:TPanel PWuerfel:TPanel PKonto:TPanel ESpielzahl:TEdit ... „verwaltet“ ... ...

  15. Ein Blick in die Datei „Unit1.pas“ unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls, ExtCtrls; type TFGUI = class(TForm) ... private { Private-Deklarationen } public { Public-Deklarationen } end; var FGUI: TFGUI; implementation {$R *.DFM} end. Delphi-Quelltext

  16. Delphi-Quelltext (Unit1.pas) unit Unit1; interface uses ... type TFgui = class(TForm) PUeberschrift: TPanel; PSpielfeld: TPanel; PWuerfel: TPanel; PKonto: TPanel; ESpielzahl: TEdit; PWuerfel1: TPanel; PWuerfel2: TPanel; PWuerfel3: TPanel; PKontostand: TPanel; BWuerfelWerfen: TButton; BGewinnVerbuchen: TButton; BEinsatzZahlen: TButton; private { Private-Deklarationen } public { Public-Deklarationen } end; ... Deklaration eines Formulars mit GUI-Objekten

  17. Kompilierung Beim Kompilieren wird ein Delphi-Projekt in lauffähigen Delphi-Code übersetzt (siehe Project1.exe). Dieser Code kann dann anschließend ausgeführt werden. Start

  18. Aufgabe Testen Sie die Funktionalitäten des bisher entwickelten Programms. Was fällt auf?

  19. Teil 2 Ereignisse und ihre Verarbeitung

  20. Interaktion: Benutzer - Programm Das erwartete Verhalten des Programms kann wie folgt beschrieben werden: Ausgelöste Aktion(en) Der Einsatz wird vom Konto abgebucht. Der neue Kontostand wird angezeigt. Die Würfelwürfe werden simuliert. Die Würfelergebnisse werden angezeigt. Die Spielzahl wird übernommen, der Gewinn dann ermittelt und auf dem Konto verbucht. Der neue Kontostand wird angezeigt. Auslösendes Ereignis Eingabe der Spielzahl Mausklick auf den Button mit der Aufschrift „Einsatz zahlen“ Mausklick auf den Button mit der Aufschrift „Würfel werfen“ Mausklick auf den Button mit der Aufschrift „Gewinn verbuchen“

  21. Realisierung in Delphi Doppel-Klick auf den Button erzeugt eine neue Prozedur. Ereignis Doppel-Klick Prozedur zur Ereignisverarbeitung

  22. Ereignisverarbeitung Wir ergänzen die Implementierung der Prozedur wie unten angezeigt und kompilieren das Programm. Bei einem Mausklick auf den Button mit der Aufschrift „Würfel werfen“ zeigt das Programm das gewünschte Verhalten. procedure TFGUI.BWuerfelWerfenClick(Sender: TObject); var wuerfel1: integer; wuerfel2: integer; wuerfel3: integer; begin // Verarbeitung: Würfeln simulieren wuerfel1 := random(6)+1; wuerfel2 := random(6)+1; wuerfel3 := random(6)+1; // Ausgabe: Aktualisierung der Anzeige PWuerfel1.Caption := IntToStr(wuerfel1); PWuerfel2.Caption := IntToStr(wuerfel2); PWuerfel3.Caption := IntToStr(wuerfel3); end;

  23. Ereignisverarbeitung Analog erzeugen wir eine Prozedur zur Verarbeitung eines Mausklicks auf den Button mit der Aufschrift „Einsatz zahlen“. procedure TFGUI.BEinsatzZahlenClick(Sender: TObject); var konto: integer; begin // Eingabe: Kontostand übernehmen konto := StrToInt(PKontostand.Caption); // Verarbeitung: Einsatz vom Konto abbuchen konto := konto-1; // Ausgabe: Aktualisierung der Anzeige PKontostand.Caption := IntToStr(konto); end;

  24. Initialisierung des Zufallsgenerators Ausgelöste Aktion(en) Der Zufallsgenerator von Delphi wird initialisiert. Auslösendes Ereignis Erzeugung des Formulars (unmittelbar nach dem Programmstart) Doppel-Klick auf das Formular erzeugt eine neue Prozedur. procedure TFGUI.FormCreate(Sender: TObject); begin randomize; end;

  25. Ereignisse Ein Ereignis ist eine Zustandsänderung in einem Objekt, die von Interesse ist und daher mit einer Ereignisbehandlungsroutine (Prozedur zur Ereignisverarbeitung) verknüpft werden kann. (K. Merkert) Ereignis: Der Benutzer klickt auf den Button „Würfel werfen“ und löst hierdurch das Ereignis „BWuerfelWerfen.onClick“ aus. Ereignis: Das Formular wird von Delphi erzeugt und löst dabei das Ereignis „FGUI.onCreate“ aus. Ereignisverarbeitung: Dieses Ereignis wird vom Betriebssystem an das Programm weitergegeben. Im Programm muss eine spezielle Prozedur „BWuerfelWerfenClick“ zur Verarbeitung des Ereignisses implementiert sein. Ereignisverarbeitung: Dieses Ereignis wird vom Betriebs-system an das Programm weiter-gegeben. Im Programm muss eine spezielle Prozedur „FGUICreate“ zur Verarbeitung des Ereignisses implementiert sein. Zur Ereignisverarbeitung in Delphi siehe K. Merkert: http://hsg.region-kaiserslautern.de/faecher/inf/material/ereignisse/index.php

  26. Aufgabe Ergänzen Sie Schritt für Schritt die Prozeduren zur Ereignisverarbeitung. Versuchen Sie insbesondere, die Prozedur zur Verarbeitung des Ereignisses „Mausklick auf den Button Gewinn verbuchen“ in Analogie zu den gezeigten Ereignisverarbeitungsprozeduren zu entwickeln. Nutzen Sie das Hilfe-System von Delphi bei der Implementierung bzw. die folgenden Folien.

  27. Exkurs: Delphi-Grundlagen procedure TFGUI.BEinsatzZahlenClick(Sender: TObject); var konto: integer; begin // Eingabe: Kontostand übernehmen konto := StrToInt(PKontostand.Caption); // Verarbeitung: Einsatz vom Konto abbuchen konto := konto-1; // Ausgabe: Aktualisierung der Anzeige PKontostand.Caption := IntToStr(konto); end; PKontostand: TPanel Variablendeklaration Caption = ´100´ ... konto: Bezeichner Datentyp konto: 100 konto: 99 PKontostand: TPanel Caption = ´99´ ... Variablen dienen dazu, Daten (eines festgelegten Datentyps) innerhalb eines Programms zwischenzuspeichern.

  28. Exkurs: Delphi-Grundlagen procedure TFGUI.BEinsatzZahlenClick(Sender: TObject); var konto: integer; begin // Eingabe: Kontostand übernehmen konto := StrToInt(PKontostand.Caption); // Verarbeitung: Einsatz vom Konto abbuchen konto := konto-1; // Ausgabe: Aktualisierung der Anzeige PKontostand.Caption := IntToStr(konto); end; konto: konto: 100 Variablenzustand vorher Wertzuweisung konto: 99 Variablenzustand nachher Eine Veränderung eines Variablenwerts kann mit Hilfe einer Wertzuweisung erfolgen. Der Wert des Terms (rechte Seite der Wertzuweisung) wird bzgl. des aktuellen Variablenzustands ermittelt und der Variablen (linke Seite der Wertzuweisung) als neuer Wert zugewiesen. Der Inhalt der zur Variablen gehörenden Speicherzelle wird dabei überschrieben.

  29. Exkurs: Delphi-Grundlagen procedure TFGUI.BEinsatzZahlenClick(Sender: TObject); var konto: integer; begin // Eingabe: Kontostand übernehmen konto := StrToInt(PKontostand.Caption); // Verarbeitung: Einsatz vom Konto abbuchen konto := konto-1; // Ausgabe: Aktualisierung der Anzeige PKontostand.Caption := IntToStr(konto); end; PKontostand: TPanel Datentyp Caption = ´100´ ... konto: konto: 100 integer Typumwandlung string konto: 99 PKontostand: TPanel Caption = ´99´ ... string Typumwandlung integer Beachte: Bei einer Wertzuweisung müssen die Datentypen zusammenpassen.

  30. Exkurs: Delphi-Grundlagen procedure TFGUI.BWuerfelWerfenClick(Sender: TObject); var wuerfel1: integer; wuerfel2: integer; wuerfel3: integer; begin // Verarbeitung: Würfeln simulieren wuerfel1 := random(6)+1; wuerfel2 := random(6)+1; wuerfel3 := random(6)+1; // Ausgabe: Aktualisierung der Anzeige PWuerfel1.Caption := IntToStr(wuerfel1); PWuerfel2.Caption := IntToStr(wuerfel2); PWuerfel3.Caption := IntToStr(wuerfel3); end; Variablendeklaration Deklarationsteil Kommentar Anweisung Anweisungsteil Prozedur-Deklaration Beachte: Erst deklarieren, dann benutzenAlle Variablen (Prozeduren etc.) müssen zuerst deklariert werden, bevor sie benutzt werden können.

  31. Exkurs: Delphi-Grundlagen procedure TFGUI.BWuerfelWerfenClick(Sender: TObject); var wuerfel1: integer; wuerfel2: integer; wuerfel3: integer; begin // Verarbeitung: Würfeln simulieren wuerfel1 := random(6)+1; wuerfel2 := random(6)+1; wuerfel3 := random(6)+1; // Ausgabe: Aktualisierung der Anzeige PWuerfel1.Caption := IntToStr(wuerfel1); PWuerfel2.Caption := IntToStr(wuerfel2); PWuerfel3.Caption := IntToStr(wuerfel3); end; Schlüsselwort Semikolon als Trennsymbol Vordefinierte Bezeichner Beachte: Syntaxregeln Damit der Delphi-Compiler das Programm in Maschinencode übersetzen kann, müssen die für die Programmiersprache Delphi geltenden Syntaxregeln eingehalten werden.

  32. Exkurs: Delphi-Grundlagen procedure TFGUI.BGewinnVerbuchenClick(Sender: TObject); var wuerfel1, wuerfel2, wuerfel3: integer; spielzahl: integer; konto: integer; treffer: integer; begin // Eingabe: spieldaten übernehmen spielzahl := StrToInt(ESpielzahl.Text); konto := StrToInt(PKontostand.Caption); wuerfel1 := StrToInt(PWuerfel1.Caption); wuerfel2 := StrToInt(PWuerfel2.Caption); wuerfel3 := StrToInt(PWuerfel3.Caption); // Verarbeitung: Treffer und neuen Kontostand bestimmen treffer := 0; if spielzahl = wuerfel1 then inc(treffer); if spielzahl = wuerfel2 then inc(treffer); if spielzahl = wuerfel3 then inc(treffer); if treffer > 0 then konto := konto+treffer+1; // Ausgabe: Aktualisierung der Anzeige PKontostand.Caption := IntToStr(konto); end; Wertzuweisung Sequenz Fallunterscheidung

  33. Exkurs: Delphi-Grundlagen Kontrollstrukturen dienen dazu, den genauen Ablauf der Verarbeitung festzulegen. Wichtige Kontrollstrukturen sind Sequenz(bildung), Fallunterscheidung und Wiederholung. begin ... end; if ... then begin ... end; Wiederholung mitAnfangsbedingung while ... do begin ... end; Sequenz if ... then begin ... endelse begin ... end; Einseitige Fallunterscheidung Zweiseitige Fallunterscheidung repeat ... until ...; for ... to ... do begin ... end; Wiederholung mitEndbedingung Zählschleife

  34. Aufgabe Das Programm zur Simulation des Chuck-A-Luck-Spiels soll wie folgt modifiziert werden: - Das gesamte Spiel soll mit nur einem Button ausgeführt werden. - Zur Eingabe der Spielzahl soll eine sog. RadioGroup benutzt werden.

  35. Teil 4 Datenmodellierung

  36. Initialisierung des Kontostands Die Initialisierung des Kontostands soll im Programm selbst erfolgen. Version 1 procedure TFGUI.BEinsatzZahlenClick(Sender: TObject); var konto: integer; begin konto := 100; // Eingabe: Kontostand übernehmen konto := StrToInt(PKontostand.Caption); // Verarbeitung: Einsatz vom Konto abbuchen konto := konto-1; // Ausgabe: Aktualisierung der Anzeige PKontostand.Caption := IntToStr(konto); end; Vorsicht: nicht korrekt!

  37. Initialisierung des Kontostands Die Initialisierung des Kontostands soll im Programm selbst erfolgen. Vorsicht: nicht korrekt! Version 2 procedure TFGUI.BEinsatzZahlenClick(Sender: TObject); var konto: integer; begin // Verarbeitung: Einsatz vom Konto abbuchen konto := konto-1; // Ausgabe: Aktualisierung der Anzeige PKontostand.Caption := IntToStr(konto); end; procedure TFGUI.FormCreate(Sender: TObject); var konto: integer; begin randomize; konto := 100; PKontostand.Caption := IntToStr(konto); end;

  38. Initialisierung des Kontostands unit Unit1; interface uses ... type TFGUI = class(TForm) PUeberschrift: TPanel; ... private { Private-Deklarationen } konto: integer; public { Public-Deklarationen } end; var FGUI: TFGUI; ... procedure TFGUI.BEinsatzZahlenClick (Sender: TObject); begin // Verarbeitung: Einsatz abbuchen konto := konto-1; // Ausgabe: Aktual. der Anzeige PKontostand.Caption := IntToStr(konto); end; Korrekt! procedure TFGUI.FormCreate(Sender: TObject); begin randomize; konto := 100; PKontostand.Caption := IntToStr(konto); end; Version 3

  39. Attribut als globale Variable unit Unit1; interface uses ... type TFGUI = class(TForm) PUeberschrift: TPanel; ... private { Private-Deklarationen } konto: integer; public { Public-Deklarationen } end; var FGUI: TFGUI; ... Durch die nebenstehende Deklaration wird das Formular-Objekt um ein Attribut zur Verwaltung des Kontostandes erweitert. Neben Attributen zur Verwaltung der GUI-Objekte kann ein Formular-Objekt auch Attribute zur Verwaltung weiterer Daten enthalten. Diese werden hier in den Bereich „private Deklarationen“ geschrieben. Attribut procedure TFGUI.FormCreate(Sender: TObject); begin randomize; konto := 100; PKontostand.Caption := IntToStr(konto); end;

  40. 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 1$ 3 Datenmodell zur Miniwelt 1 4 2 5 3 3 6 spielzahl: integer; wuerfel1: integer; wuerfel2: integer; wuerfel3: integer; konto: integer; Unter einem Datenmodell soll hier eine Beschreibung der Miniwelt verstanden werden, bei der die relevanten Daten mit Hilfe von Variablen / Attributen eines Objektes erfasst werden.

  41. Datenmodell zur Miniwelt type TFGUI = class(TForm) Pueberschrift: TPanel; Pspielfeld: TPanel; Pwuerfel: TPanel; Pkonto: TPanel; ... BWuerfelWerfen: TButton; ... procedure FormCreate(Sender: TObject); private { Private-Deklarationen } spielzahl: integer; wuerfel1: integer; wuerfel2: integer; wuerfel3: integer; konto: integer; public { Public-Deklarationen } end; Das Formular-Objekt soll auch für die Verwaltung der Spieldaten zuständig sein. Hierzu werden entsprechende Attribute in den Bereich „private Deklarationen“ eingeführt. spielzahl: integer; wuerfel1: integer; wuerfel2: integer; wuerfel3: integer; konto: integer;

  42. Lokale Variable type TFGUI = class(TForm) ... private { Private-Deklarationen } ... konto: integer; public { Public-Deklarationen } end; „Globale Variable“ procedure TFGUI.BGewinnVerbuchenClick(Sender: TObject); var treffer: integer; begin ... if treffer > 0 then konto := konto+treffer+1;... end; Lokale Variable Eine lokale Variable ist eine Variable, die innerhalb einer Prozedur deklariert ist und auch nur innerhalb dieser Prozedur zugreifbar ist.

  43. Aufgabe Verändern Sie das Programm so, dass das Datenmodell mit Hilfe von Formular-Attributen implementiert wird.

  44. Aufgabe Das Programm zur Simulation des Spiels „chuck a luck“ soll dem Benutzer auch folgende statistische Daten liefern: - Gesamtanzahl der Spiele - insgesamt gewonnener / verlorener Betrag - pro Spiel durchschnittlich gewonnener / verlorener Betrag Erweitern Sie schrittweise das bestehende Chuck-A-Luck-System.

  45. Teil 5 Zustandsbasierte Modellierung

  46. Aufbesserung des Kontos Das Programm zur Simulation des Chuck-A-Luck-Spiels lässt noch Bedienungen zu, die in der Miniwelt nicht erlaubt sind. Einsatz zahlen und Zahl tippen Würfel werfen Gewinn verbuchen Einsatz zahlen Zahl tippen (z. B. 1) Solange Würfel werfen, bis die getippte Zahl fällt Gewinn verbuchen

  47. Zustandsbasierte Ablaufmodellierung Ausgelöste Aktion(en) Einsatz vom Konto abbuchen Spielzahl festlegen Würfelwerfen simulieren Gewinn ermitteln und auf dem Konto verbuchen AktuellerZustand bereit einsatzgezahlt gewürfelt NeuerZustand einsatzgezahlt einsatzgezahlt gewürfelt bereit Auslösendes Ereignis BEinsatzZahlen.onClick RGSpielfeld.onClick BWuerfelWerfen.onClick BGewinnVerbuchen.onClick Einsatz zahlen und Zahl tippen Würfel werfen Gewinn verbuchen

  48. Zustandsbasierte Ablaufmodellierung RGSpielfeld.onClick / Spielzahl festlegen BEinsatzZahlen.onClick / Einsatz vom Konto abbuchen BWuerfelWerfen.onClick/Würfelwerfen simulieren einsatzgezahlt bereit gewürfelt BGewinnVerbuchen.onClick /Gewinn ermitteln und auf dem Konto verbuchen Einsatz zahlen und Zahl tippen Würfel werfen Gewinn verbuchen

  49. Zustandsbasierte Modellierung Ausgelöste Aktion(en) Einsatz vom Konto abbuchen Spielzahl festlegen Würfelwerfen simulieren Gewinn ermitteln und auf dem Konto verbuchen AktuellerZustand bereit einsatzgezahlt gewürfelt NeuerZustand einsatzgezahlt einsatzgezahlt gewürfelt bereit Auslösendes Ereignis BEinsatzZahlen.onClick RGSpielfeld.onClick BWuerfelWerfen.onClick BGewinnVerbuchen.onClick Zustandsbasierte Modellierung wird benutzt, um Systeme zu beschreiben, bei denen das Verhalten nicht nur von „äußeren“ Eingaben bzw. Ereignissen, sondern auch von „inneren“ Zuständen abhängt, die das System durchlaufen hat. Das Ergebnis einer solchen Modellierung nennt man auch Zustandsautomat.

  50. Zustandsbasierte Modellierung Zustandsautomat RGSpielfeld.onClick / Spielzahl festlegen Auslösendes Ereignis Ausgelöste Aktion(en) BEinsatzZahlen.onClick / Einsatz vom Konto abbuchen BWuerfelWerfen.onClick/Würfelwerfen simulieren Anfangs-zustand einsatzgezahlt bereit gewürfelt BGewinnVerbuchen.onClick /Gewinn ermitteln und auf dem Konto verbuchen Zustand Zustands-übergang

More Related