UNIT uItem;
(* ******************************************************************** *)
(* K L A S S E : TItems *)
(* -------------------------------------------------------------------- *)
(* Version : 2.4 *)
(* Autor : (c) 2004, Siegfried Spolwig *)
(* Beschreibung: Die Klasse beschreibt alles, was in der Welt ist *)
(* Grundriss ist die (unsichtbare) Umrandung für alle *)
(* *)
(* Compiler : Delphi 5.0 *)
(* Aenderungen : 0.9 01-MAR-04 *)
(* : 2.2 20-JUL-04 s.Doc *)
(* 2.21 30-Nov-04 Loeschen war ohne Bild *)
(* 2.4 19-APR-05 SetPos virtual (is doch klar!) *)
(* ******************************************************************** *)
INTERFACE
// =======================================================================
uses
graphics,
uGrafik;
type
TItem = class (TObject)
protected
Grundriss : TRechteck; // (unsichtbare) Umrandung für alle
Bild : TBild;
private
SpaltenPos : char;
ZeilenPos : integer; // Feldpos
Farbe,
Fuellfarbe : TColor;
Laenge,
Hoehe,
Xposition,
Yposition : integer; // Pixelpos links oben
BildGeladen : boolean;
public
constructor Create; virtual;
procedure Init;
procedure SetPos (sp : char; zei : integer); virtual;
procedure SetSpaltenPos (sp : char);
function GetSpaltenPos : char;
procedure SetZeilenPos(zei : integer);
function GetZeilenPos : integer;
function GetXPosition : integer;
function GetYPosition : integer;
procedure SetFuellfarbe (cl : TColor);
procedure SetFarbe (cl : TColor);
function GetFarbe : TColor;
function GetFuellFarbe : TColor;
procedure SetBild(dateiname:string);
function BildIstGeladen : boolean;
procedure Zeigen; virtual;
procedure Loeschen; virtual;
procedure Entfernen; virtual;
end;
(* -------------------- B e s c h r e i b u n g -------------------------
Oberklasse :
Bezugsklassen : TFensterFrm - import: Welt
Methoden
--------
Create
Auftrag: Exemplar erzeugen und init
vorher :
nachher:
Init
Auftrag: mit Anfangswerten versehen
vorher :
nachher: Laenge ist Welt.Getqlaenge - 3 ; // Standardgröße festlegen
Hoehe ist Welt.Getqlaenge - 3;
Grundriss.Farbe ist schwarz
Grundriss.FuellFarbe ist Zeichenblatt.Fuellfarbe;
SpaltenPos ist ' ' // Nirwana-Geburtsort für alle
ZeilenPos ist 0
SetPos (sp : char; zei : integer);
Auftrag: Anmelden in Welt.
Position im Quadranten zuweisen und daraus die Pixelpos links oben
bestimmen und Standardgröße der Figur festlegen.
sp in GROSSEN Buchstaben.
SetPos soll NUR EINMAL als STARTPOSTION verwendet werden. Mehrfacher
Aufruf führt zu unerwünschten Nebeneffekten; d.h. das Objekt wird
mehrfach an verschiedenen Positionen angemeldet, obwohl es nur ein-
mal vorhanden ist!
vorher : -
nachher: Position übergeben und mit der Position angemeldet
Set...
Auftrag: Attribut schreiben
vorher : -
nachher: Attribut ist gesetzt
Get...
Auftrag: Attribut aus dem Objekt lesen
vorher : -
nachher: -
BildIstGeladen
Anfrage: ob Bild für das Attribut geladen wurde
vorher : -
nachher: -
Zeigen
Auftrag: Exemplar anzeigen
vorher : -
nachher: -
Loeschen
Auftrag: Exemplar vom Bildschirm loeschen
vorher : -
nachher: ist unsichtbar
Entfernen
Auftrag: Exemplar aus Speicher entfernen
vorher :
nachher: nicht mehr zugreifbar
--------------------------------------------------------------------- *)
|