Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OOP und RPG (https://www.delphipraxis.net/56314-oop-und-rpg.html)

Speedmaster 3. Nov 2005 22:39

Re: OOP und RPG
 
Zitat:

Zitat von Master_RC
muss das unbedingt C sein? :gruebel:

:oops: Ähhh :stupid:

Das ist C#!! :mrgreen:

Zudem weiss ich garnicht ob das mit der Interfaceübergabe in Delphi möglich ist( Inzwischen bin ich mehr in C# drin als in Delphi :zwinker: )!?!?!

Sollte allerdings kein Hinderniss darstellen, da ja kein Quellcode drin ist der kompliziert ist!

Master_RC 3. Nov 2005 22:42

Re: OOP und RPG
 
kann ich das nicht anders machen?

Äh.. junge.. ich steh grad erstmal bei en Grundlagen da, wie ich das Projekt machen soll :gruebel:

Und ob des nun C oder C# ist, ist mir eigentlich egal, weil ich jetzt erstmal Delphi mach!

Sry, aber ich will mich grade nur auf das Ding hier konzentrieren!

DGL-luke 3. Nov 2005 22:46

Re: OOP und RPG
 
Delphi-Quellcode:
Type IDamageable = interface
  function TakeDamage(Mode, Damage: integer): integer;
  function GetDamageMode: integer;
  procedure DirectDamage(damage: integer);
so besser?

dann müsste jedes Objekt, das Schaden nehmen kann, IDamageable implementieren(ja, so heisst das):

Delphi-Quellcode:
type TCharacter = class(TEntity, IDamageable, ISomethingElse)
  //hier irgendwas....
  public //IDamageable
    function TakeDamage(Mode, Damage: integer): integer;
    function GetDamageMode: integer;
    procedure DirectDamage(damage: integer);
  public //ISomethingElse
   function WhatEver():TSomeType;
Jeder, der Schaden zufügen will, braucht sich dann nur das IDamgeable-Interface von einem TCharacter zu holen, und kriegt vom Rest nix mit. Ein sehr schöner Weg, um das Sichtbarkeitsprinzip von OOP umzusetzen, und für verteilte Projekte mit mehreren Entwicklern ("Gib mir nur das Interface...") fast unumgänglich.

Das als kleine Einführung in Interfaces ;)

Speedmaster 3. Nov 2005 22:50

Re: OOP und RPG
 
Zitat:

Zitat von DGL-luke
Jeder, der Schaden zufügen will, braucht sich dann nur das IDamgeable-Interface von einem TCharacter zu holen, und kriegt vom Rest nix mit. Ein sehr schöner Weg, um das Sichtbarkeitsprinzip von OOP umzusetzen, und für verteilte Projekte mit mehreren Entwicklern ("Gib mir nur das Interface...") fast unumgänglich.

Das als kleine Einführung in Interfaces ;)

Ah danke, wusste doch das ich irgendwas vergessen habe! :mrgreen:
Beide Wege kommen auf das selbe hinaus, nur deiner ist etwas schöner! :wink:

Master_RC 3. Nov 2005 22:59

Re: OOP und RPG
 
Und wie benutz eich dann dieses "Interface"?

Speedmaster 3. Nov 2005 23:01

Re: OOP und RPG
 
Zitat:

Zitat von Master_RC
Und wie benutz eich dann dieses "Interface"?

Code:
  void TakeFightAction(IDamage damagesystem)
{
  ....
}
In Delphi( hoffe es geht so ):
Delphi-Quellcode:
procedure TakeFightAction(var damagesystem: IDamage)
begin
  damagesystem.DirectDamage(50);
end;

Master_RC 3. Nov 2005 23:08

Re: OOP und RPG
 
jetzt qeiß ich immernoch nicht, wo ich es benutze :lol:

sniper_w 3. Nov 2005 23:10

Re: OOP und RPG
 
Mein BallonKiller würde mit Hilfe von OOP Denkweise entwickelt. Vielleicht hilft dir das weiter...

Speedmaster 3. Nov 2005 23:13

Re: OOP und RPG
 
Zitat:

Zitat von Master_RC
jetzt qeiß ich immernoch nicht, wo ich es benutze :lol:

Na hör mal, wir können dir doch nicht das ganze Game Entwickeln!

Master_RC 3. Nov 2005 23:15

Re: OOP und RPG
 
@sniper_w:
danke, ich werds mir mal anschauen, hab ich moment abe rwenig zeit :(

@speedmaster:
toll... was bringt mir ein schnippselchen code, wenn ich nicht weiß, wo ich ihn benutzen soll? Dann hätt ich ja ga rnicht mit dem Thema hier nafangen brauchen -,-'


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr.
Seite 4 von 5   « Erste     234 5      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz