Hallo,
wieder mal eine programmtechnische Frage. Auf irgendeine Lösung werd ich bestimmt kommen, wenn ich mich damit länger beschäftige, aber wem es spaß macht, kann mir ja auch helfen.
Also, ich bin gerade an meinem Projekt und kam für mein erstes ganz gut voran, bis ich mich dann genau fragte, wie ich meinen Infantristen bestimmte Ausrüstungsgegenstände (d.h. auch waffen) zuweise.
= Situation =
Die schon programmierten Klassen sind
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
* CObject
-> CEquipment
-> CGuns
-> CBulletproofVest
* CAmmo
|
= Vorhaben =
Ich möchte den Waffen (werden später von CGun abgeleitet) eine
Munitionsart CAmmo zuweisen.
Die Waffe, mit der zugewiesenen Munitionsart soll dann dem Infanteristen zugewiesen werden. Dazu muss CInfantrist diese Waffe und die ganzen anderen Ausrüstungsgegenstände verwalten können
= Lösungsmöglicheiten =
über die ich schon mal nachgedacht hab
Also, der Waffe eine Munitonsart zuzuweisen sollte nicht allzu schwer sein. Ich definiere in der Waffen-Klasse einen Zeiger, der auf eine Munitionsart zeigt und mit dem man ihre Eigenschaften (Schaden, Geschwindigkeit, ...) ablesen kann
Der zweite Punkt erscheint mir schwieriger.
Am Anfang hab ich daran gedacht, einen Array anzulegen, der der die gleiche Kapaität haben soll, wie der Infantrist bei sich tragen kann.
Kann ich aber einen Array der Klasse CEquipment (damit nicht nur Waffen, sondern auch alles andere ins Array passt) deklarieren und dort Objekte der Klassen CGun und CBulletproofVest speichern?
Der Array bietet dazu noch die Möglichkeit, dass man zum Beispiel sagen kann, dass der erste Index als der erste Arm, der zweite als der zweite usw. sein soll. Die zweite Möglichkeit wär, zu sagen, dass der erste Index nur für Gewehre, der Zweite nur für Pistolen und die restlichen nur für andere Ausrüstungsgegenstände sind.
Dann könnte man noch einen Array einrichten, der den rucksack des Infantristen darstellt.
Kann jemand abschätzen, ob man normalerweise was besser macht?
===========
Dann hätte ich noch eine Frage, welche Makros es bei dem Compiler VC++ gibt, mit denen man Fehler vermeiden kann.
Ich hab was von ASSERT() gehört und außerdem soll es da irgendwas geben, womit man texte in das Build-Fenster ausgeben kann
===========
Es tut mir leid, dass ich so viel geschrieben hab und ihr euch jetzt so viel durchlesen müsst.
Um so mehr dank ich euren antworden und hilfestellungen,
Michi
Am Allgemeinen wollte ich euch allen dafür danken, dass ihr mir so oft und gut helft!
Also, hier habt ihr es:
DANKE
dafür, dass ihr mir immer helft!
:-)