Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

20.07.2005, 23:15

Struktur & Klasse?!?!?!

Ich bin gerade dabei, ein kleines Spiel mit einem Freund zu schreiben. Hab jedoch ein Problem. Zu Begin erstellen wir mittels einer Struktur einen Spieler, fragen diesen Nach Namen und der gewünschten Charakterklasse (Magier, Zwerg, Elb, Mensch) ab. Anschliessend, soll die Struktur dauerhaft mit der Klasse des ausgewählten Charakters verknüpft werden, ohne, dass dauernd eine Abfrage gemacht werde muss.
Wir hatten überlegt, ob es nicht möglich wäre, wie mit einer Art Variablen in der Struktur, die Klasse einzubinden.
Falls ich hier etwas unsinn geschreiben habe, verzeiht mir bitte. Bin noch neu unter den Spieleprogrammierern

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

20.07.2005, 23:23

Als erstes :live: für euer Projekt.
2. falsches Forum
3. Nochmal über die Modellierung nachdenken. Wenn dies ein wenig problematisch ist, mal ein c++ Buch in die Hand nehmen und einen Streifzug durch einige Arten der Programmierung und Denkweise machen(Funktionale, objekt orientiert, modular usw)

4. Da sowohl NPC als PC eine Charakterinstanze brauchen bietet es sich an die Rasse, Atribute usw. in einer Klasse zu speichern ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

3

20.07.2005, 23:43

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
class IKlasse{
};

class CMagier:public IKlasse{
};

//etc.


struct player{
   IKlasse   *profession;
};

was spricht gegen so ne lösung?

Anonymous

unregistriert

4

20.07.2005, 23:46

Ähm... also, erstmal, danke, für die prompten Antworten. Dann aber habboiich das problem ,d ass ich sie nicht wirklich verstehe. jedenfalls die von 0x00000023 nicht wirklich. Kannst du das erklären? damit ich auch weis, was ich da tue und nicht einfach nur stur kopiere. ich möcte auch was lernen. Danke schonmla


P.S. habe mir bereits ein buch zur hand genommen. c++ für spieleprogrammierer von Heiko kalista :-P

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

20.07.2005, 23:58

Also um das zu verstehen schaust du jetzt unter Klassen, Vererbung und Zeiger ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

6

21.07.2005, 00:00

so in etwa habbichs begriffen, aber dieses *profession irritiert mich doch etwas
...

7

21.07.2005, 00:59

also profession heißt soviel wie beruf...aber das war wohl kaum dein problem lol

also.....ever heard of polymorphie? wenn nich schau mal ins wiki
HIER
oder in ein c++-buch. das sollte dir helfen.

[edit]
oder verwundert dich der * ?
also das is einfach nur ein pointer...
[/edit]

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

8

21.07.2005, 08:45

Na jetzt ballert den armen doch nicht gleich mit eurem Wissen voll. @Gast. Das was 23h da gepostet hat ist eine sehr gute Lösung, wenn du die aber nicht zu 100% verstehst, bringt se dir nix und um die zu verstehen bedarf es VIEL Zeit, Einarbeitung von Pointern, Verstehen von Pointern, Verstehen von Klassen, verstehen von Vererbung.

Eine sehr einfach Methode wäre Variblen (MAGIER, ZAUBERER etc. als Konstanden vorzudefinieren (1, 2, etc.)

und dann eine Varible in eure Struktur, die z.B. vom Typ unsigned ist. 0 bedeutet kein Wert gesetzt.

Anonymous

unregistriert

9

21.07.2005, 11:29

So. ich versuche mal mir das jetzt alles irgendwie ins Hirn zu hämmern, mal sehen, was draus wird. danke, für die tipps...achja. das mit dem * habbich schon verstanden. bin gerade in c++ für spieleprogrammierer in Kapitel8 etwas mittig...

Werbeanzeige