Einzelnen Beitrag anzeigen

Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#51

Re: UT2D - 2D-Shooter mit UTStyle

  Alt 21. Feb 2008, 14:41
So!

Endlich ist es wieder so weit. Einen neue Version wurde fertiggestellt und hochgeladen.

Wenn ihr diese testet, werdet ihr euch sicherlich fragen:
--> "Was hat sich denn verändert, außer dieser einfachen Punkteanzeige?"

Die Antwort:
--> "Alles"!

Der gesamte Code des eigentlichen Spiels wurde von der Formularunit abgetrennt und das Spiel selbst existiert jetzt als eigene Klasse. Des weiteren ist aus dieser Klasse der gesamte Code, der sich bei unterschiedlichen GameModes ändern könnte in eine Klasse von TGame Mode verlagert.
Hier ein Beispiel:

Delphi-Quellcode:
  TGameMode = class
    Owner: TGameEngine;
  public
    constructor Create(AOwner : TGameEngine);
    procedure PreMove ; virtual;
    procedure AfterMove ; virtual;
    procedure AfterDraw ; virtual;
    procedure PlayerMove(APlayer: TPlayer ); virtual;
    procedure Bot (APlayer: TPlayer ); virtual;
    procedure LoadLevel (Options: TGameOptions ); virtual;
    procedure OnKill(KilledPlayer, KillingPlayer : TPlayer); virtual;
    procedure WinCondition; virtual;
  end;

  TTeamGame = class (TGameMode)
  public
    TeamPoints : Array[0..3] of Integer;
    procedure OnKill(KilledPlayer, KillingPlayer : TPlayer); override;
  end;

  TCTFGame = class (TTeamGame)
  public
    CTFFlags : Array[0..3] of TCTFFlag;
    CTFFlagBases : Array[0..3] of TCTFFlagBase;
    procedure PreMove ; override;
    procedure AfterMove ; override;
    procedure AfterDraw ; override;
    procedure PlayerMove(APlayer: TPlayer ); override;
    procedure Bot (APlayer: TPlayer ); override;
    procedure LoadLevel (Options: TGameOptions ); override;
  end;
Das soll (so hoffe ich es) es später JEDEM ermöglichen, einen eigenen GameMode zu schreiben.
Warum ist das Thema sonst im Bereich OpenSource?^^

PS: Der Download ist wie immer im ersten Post zu finden.

MFG
Björn Zeutzheim
Codename: Performancepumpe
  Mit Zitat antworten Zitat