Modius - Techblog

  • facebook
  • twitter
  • instagram
  • feedburner
  • github
  • youtube
  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

C++ Klasse – Grundlagen mit einer Raumschiff Klasse

Veröffentlicht am 20. Juni 2014 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 20. Juni 2014

Und wieder habe ich eine Aufgabe für Spieleprogrammierer abgearbeitet. Diesmal ging es um die Grundlagen einer Klasse in C++. Um das etwas zu verinnerlichen, sollte man eine C++ Klasse schreiben, die ein Raumschiff erzeugt und wieder zerstört. Das ganze natürlich stark vereinfacht. Als Ausgangssituation waren die member Variablen für eine X und Y Koordinate, Energie und Geschwindigkeit gegeben. In der C++ Klasse sollte es die drei folgenden Funktionen geben:

Parameterloser Konstruktor: Hier sollen alle Variablen außer Energie mit 0 initialisiert werden. Energie bekommt den Wert 1000.

Parametrisierter Konstruktor: Hier soll eine X und eine Y Koordinate mitgegeben werden. Diese Koordinaten müssen für X zwischen 0 und 800,  für Y zwischen 0 und 600 liegen. Wird der Bereich überschritten, sollen die Koordinate mit 0 initialisiert werden.

Destruktor: Hier soll einfach nur der Text, Schiff zerstört ausgegeben werden.

Der Programmablauf auf der Konsole sieht wie folgt aus: Es soll ein Spieler Raumschiff mit dem parameterlosen Konstruktor erzeugt werden. Anschließend soll ein Gegner Raumschiff mit dem parametrisierten Konstruktor erzeugt werden. Zu guter letzt, sollen beide Raumschiffe wieder zerstört werden.

Meine kleine Lösung dafür sah dann wie folgt aus:

C++
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
75
76
77
#include "iostream"
 
using namespace std;
 
class CRaumschiff
{
 
private:
int   m_xPos ;
int   m_yPos;
int   m_Energie;
float m_fGeschwindigkeit;
public:
CRaumschiff();
CRaumschiff(int xKoord, int yKoord);
~CRaumschiff();
};
 
CRaumschiff::CRaumschiff()
{
        m_xPos              = 0;
        m_yPo               = 0;
        m_Energie           = 1000;
        m_fGeschwindigkeit  = 0.0f;
        cout << "Raumschiff ohne Parameter erstellt\n" << endl;
}
 
CRaumschiff::CRaumschiff(int xKoord, int yKoord)
{
if (xKoord >= 0 && xKoord <=800 && yKoord >= 0 && yKoord <=600)
{
m_xPos             = xKoord;
m_yPos             = yKoord;
m_Energie          = 1000;
m_fGeschwindigkeit = 0.0f;
cout << "Koordinaten gesetzt. Raumschiff mit Parametern erstellt" << endl;
}
else
{
m_xPos              = 0;
m_yPos              = 0;
m_Energie           = 1000;
m_fGeschwindigkeit  = 0.0f;
cout << "Die Eingabe liegt ausserhalb des Spielfeldes. Die Standardparameter wurden verwendet" << endl;
}
}
CRaumschiff::~CRaumschiff()
{
cout << "Raumschiff wurde zerstört" << endl;
}
 
int main()
{
int x, y;
cout <<"Daten fuer das Gegnerische Raumschiff: " << endl;
cout << "\n X-Koordinate" << endl;
cin >> x;
cout << "\n Y-Koordinate" << endl;
cin >> y;
 
CRaumschiff *spieler = NULL;
CRaumschiff *gegner = NULL;
 
spieler = new CRaumschiff();
gegner = new CRaumschiff (x, y);
 
delete spieler;
spieler = NULL;
 
delete gegner;
gegner = NULL;
 
system("Pause");
 
return 0;
}

 

 

Kategorie: Programmierung Tags: C++, class, Destruktor, Klasse, Konstruktor

Über Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Beliebte Artikel

  • ioBroker auf dem Raspberry Pi installieren und konfigurieren
  • Docker Container – anzeigen, starten, stoppen und löschen
  • MQTT Broker auf dem Raspberry Pi
  • Nextcloud https mit self-signed Zertifikat einrichten
  • systemctl / systemd richtig verwenden

Neueste Kommentare

  • HerryStoffel bei Nextcloud https mit self-signed Zertifikat einrichten
  • DerEchteDaniel bei BLTouch Upgrade für den Ender 3 Pro
  • Peja bei Creality Ender 3 Pro
  • DerEchteDaniel bei Creality Ender 3 Pro
  • Christian bei Arten von Betriebssystemen

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos centos 7 CentOS7 Container Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga 2 Icinga2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Windows Wordpress

Copyright © 2021 · Outreach Pro on Genesis Framework · WordPress · Anmelden