Hallo Leute,
ich plane einen 2D-Sidescroller wie R-Type oa. Katakis zu basteln.
Möchte aber von Anfang an eine klare objektorientierte Struktur anlegen.
Damit ich aber nicht falsch anfange und dann wegen schlechter Analyse scheitere, möchte ich mir gern eure Meinungen einholen.
Bis jetzt bin ich bei 6 Klassen, die meiner Meinung nach benötigt werden. Die Klasse CStarship habe ich bereits implementiert(bis auf die deutschen Attribute und Methoden):
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
---------------
CStarship
---------------
-Leben
-Schildenergie
-m_sprite : sf::Sprite
-m_speed : int
-m_startX : int
-m_startY : int
---------------
-CStarship(const sf::Image& image, int speed, int x, int y)
-Update(sf::RenderWindow &app)
-Draw(sf::RenderWindow &app)
weitere Attribute u. Methoden sollen noch dazu kommen:
-aktuelle Waffe
-Sonderausrüstung des Schiffes
-Bewegungsmethoden mit Kollisionsabfragen
-Schussmethoden
usw.
---------------
Klasse Geschoss
---------------
-XStartposition
-YStartposition
-Geschwindigkeit
-Schaden
-sf::Image
-------------------
-Kollisionsmethoden
----------------------------------------------------------------------------
Klasse Gegner (Basisklasse mit abgeleiteten Klassen für versch. Gegnerarten)
----------------------------------------------------------------------------
-Leben
-Schildenergie
-Waffe
-----------------------------------------
+Bewegungsmethoden mit Kollisionsabfragen
+Schussmethoden
eventuell von CStarship ableiten
----------------------------------------------------------------------
Klasse Waffe (Basisklasse mit abgeleiteten Klassen für versch. Waffen)
----------------------------------------------------------------------
-Geschoss
-Kadenz
-Munitionsvorrat
-Schusswinkel und Streuung
-Geschossgeschwindigkeit
usw.
-----------------------
Klasse Sonderausrüstung
-----------------------
-Methoden, die die Eigenschaften des Spielerschiffes oder der Waffensysteme positiv beeinflussen
usw.
------------
Klasse Level
------------
-Höhe
-Länge
-Levelaufbau
usw.
|
Was denkt ihr, sind meine Vorstellungen ausbaufähig oder soll ich es lassen und andere Klassen verwenden?
Bin für jeden Tipp sehr dankbar.
Hätte jemand eventuell ein simples Klassendiagramm für mich als Vorlage?
Ich weiß im Moment noch nicht, wie ich Objekte einer Klasse an eine andere Klasse übergebe.
(z.B.: ein Objekt der Klasse Waffe soll genau ein bestimmtes Objekt aus Klasse Geschoss übernehmen).
Gruß, NEUMee...