OSZ Handel I
Informatik

Karel D. Robot
TCritter

S. Spolwig

[Delphi | OOP]
Startseite


TItem
|
TCritter

Kurzbeschreibung Attribute Methoden

Klassendiagramm

TCritter ist die Oberklasse für alles, was sich bewegt und Aktionen ausführen kann (Creatures, Charaktere).

In dieser Version sind nur die Richtungen Nord, Ost, Sued, West implementiert.
 
UNIT uCritter;
(* ******************************************************************** *)
(* K L A S S E : TCritter                                               *)
(* -------------------------------------------------------------------- *)
(* Version     : 2.4                                                    *)
(* Autor       : (c) 2004, Siegfried Spolwig                            *)
(* Beschreibung: Die Klasse ist Oberklasse fuer alles, was sich bewegt  *)
(*               (Creatures, Charaktere).                               *)
(*                                                                      *)
(* Compiler    : Delphi 6.0                                             *)
(* Aenderungen : 0.9	  06-MAR-04                                     *)
(*               2.2    20-JUL-04   s. Doc                              *)
(*               2.2.1. 14-MAR-05   TRichtung geändert                  *)
(*               2.4    18-APR-05   Vor geändert (Blackhole)            *) 
(* ******************************************************************** *)

INTERFACE
// =======================================================================
uses
  uItem;

type
  TRichtung = (Nord,Ost,Sued,West);
  TGeschwindigkeit = 1..10;

  TCritter = class(TItem)
   protected
    Richtung        : TRichtung;
    Geschwindigkeit : TGeschwindigkeit;
   public
    constructor Create;   override;
    procedure Init;
    procedure Vor;                                  
    procedure RechtsDrehen;
    procedure SetRichtung (r: TRichtung);
    function  GetRichtung: TRichtung;
    procedure SetGeschwindigkeit (v : TGeschwindigkeit);
    function  GetGeschwindigkeit : TGeschwindigkeit;
    function  OffLimits : boolean;
   private
    procedure Step; 
  end;

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

Oberklasse    : TItem
Bezugsklassen : TFensterFrm - import Welt


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

Init
  Auftrag: Grundrissfarbe, Richtung setzen
  vorher :
  nachher: Grundrissfuellfarbe ist grau, Umrandung gelb, Richtung ist S,
           Geschwindigkeit ist 1.

Set...
  Auftrag: Attribut schreiben
  vorher : -
  nachher: Attribut ist gesetzt

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

Vor
  Auftrag: einen Schritt in die aktuelle Richtung gehen
  vorher :
  nachher: auf folgendem Feld; in Welt sind alte Position abgemeldet und neue
           Pos. angemeldet, wenn auf neuem Feld angekommen
           War das Feld besetzt, ist das andere Item entfernt.

RechtsDrehen
  Auftrag: Auf der aktuellen Position um 90 Grad nach rechts drehen
  vorher : -
  nachher: neue Richtung gesetzt

Offlimits
  Auftrag: Prüfen, ob sich ein Item ausserhalb der Welt befindet
  vorher : -
  nachher: true, wenn ausserhalb der Feldgrenzen, Item ist entfernt. Signal
           anzeigen.


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

05. April 2006   Siegfried Spolwig

page_top