is-Logo Karel D. Robot
TWelt

S. Spolwig

[Delphi | OOP]
Startseite


TWelt ----- TItem

Kurzbeschreibung Attribute Methoden

Klassendiagramm

Die Klasse ist die zentrale Registratur für alle Items in der Welt.
Die Items melden sich an/ab und werden registriert.

TWelt ist die abstrakte Oberklasse für effektive Welten, die die Umgebung für die Objekte bilden.

 

UNIT uWelt;
(* ******************************************************************** *)
(* K L A S S E : TWelt                                                  *)
(* -------------------------------------------------------------------- *)
(* Version     : 2.2                                                    *)
(* Autor       : (c) 2004, Siegfried Spolwig                            *)
(* Beschreibung: Die Klasse ist die zentrale Registratur für alle Items.*)
(*               Die Items melden sich an/ab und werden dabei           *)
(*               registriert.                                           *)
(*               TWelt ist die quasi abstrakte Oberklasse für konkrete  *)
(*               Welten, die die Umgebung der Objekte bilden.           *)
(*                                                                      *)
(* Compiler    : Delphi 6.0                                             *)
(* Aenderungen : 0.9    01-MAR-04                                       *)
(*               2.2    20-JUL-04   s. Doc.                             *)
(*               2.2.1  03-JAN-05   SetLinienFarbe                      *)
(* ******************************************************************** *)

INTERFACE
// =======================================================================
uses
  graphics,
  uGrafik,   // import TLinie
  uItem;

type
  TWelt = class(TObject)
   protected
    Rasterlinie : TLinie;
   private
    Feld        : array['A'..'N',1..12] of TItem;   // 14x12
    QLaenge     : integer; // Laenge eines Quadranten

   public
    constructor Create;  virtual;
    procedure Init;
    procedure ItemSetzen (It:TItem);
    procedure ItemAbmelden (It:TItem);
    procedure AlleItemsEntfernen;
    function  GetQLaenge : integer;
    function  GetItem(spalte: char; zeile:integer) : TItem;
    procedure SetFuellFarbe(f : TColor);
    procedure SetLinienFarbe(f: TColor);

    procedure Zeigen;      virtual;
    procedure AllesZeigen; virtual;
    procedure AlleLoeschen;

//    procedure Test;
  end;

(* -------------------- B e s c h r e i b u n g -------------------------

Oberklasse    : -
Bezugsklassen : TFensterFrm;  TItem, TMatter, TStein, TBaum

Methoden
--------

Create
  Auftrag: Exemplar erzeugen und init.
  vorher :
  nachher:

Init
  Auftrag: Anfangswerte setzen
  vorher : -
  nachher: Alle Felder auf leer (NIL) gesetzt. Rasterlinienfarbe ist Silver.

ItemSetzen
  Auftrag: Item meldet sich mit der aktuellen Position auf dem entsprechenden
           Feld an
  vorher : -
  nachher: angemeldet, unabhängig davon ob das Feld besetzt war


ItItemAbmelden
  Auftrag: Item meldet sich mit der aktuellen Position auf dem entsprechenden
           Feld ab.
  vorher : Item steht auf dem Feld
  nachher: Feld ist leer (NIL)

Set...
  Auftrag: Attribut schreiben
  vorher : Welt ist init.
  nachher: Attribut ist gesetzt

Get...
  Auftrag: Attribut aus dem Objekt lesen
  vorher : Welt ist init.
  nachher: -

AlleItemsEntfernen;
  Auftrag: Alle Items aus dem Speicher entfernen
  vorher : -
  nachher: done. Alle Felder NIL

GetQLaenge
  Anfrage: nach der Länge eines Feldes
  vorher :
  nachher: -

GetItem
  Anfrage: Item aus der Position holen
  vorher :
  nachher: Zeiger auf Item, das dort bleibt

Zeigen
  Auftrag: Aktuelle Welt auf dem Bildschirm anzeigen
  vorher :
  nachher: Hintergrund und Gitter

AllesZeigen
  Auftrag: Welt und alle angemeldeten Items zeigen
  vorher : -
  nachher: -

AlleLoeschen
  Auftrag: Alle angemeldeten Items vom Bildschirm loeschen
  vorher :
  nachher: Welt ist leer, Items unsichtbar

--------------------------------------------------------------------- *)

 


05. Oktober 2008   Siegfried Spolwig

page_top