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
C-/C++-Quelltext |
|
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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
#include <iostream> #include <string> #include <fstream> #include <list> using namespace std; class CRaumschiff { public: //string Name; int Energie; int Farbe; int Team; float Geschwindigkeit; }; int main() { list<CRaumschiff> lSpieler; list<CRaumschiff>::iterator iSpieler; CRaumschiff Spieler1; // Raumschiff von Spieler 1 CRaumschiff Spieler2; // Raumschiff von Spieler 2 // Startwerte für Spieler 1 festlegen //Spieler1.Name = "Hans"; Spieler1.Energie = 1000; Spieler1.Farbe = 3; Spieler1.Team = 1; Spieler1.Geschwindigkeit = 250.35f; // Daten am Ende der Liste schreiben lSpieler.push_back(Spieler1); // Startwerte für Spieler 1 festlegen //Spieler2.Name = "Peter"; Spieler2.Energie = 1000; Spieler2.Farbe = 2; Spieler2.Team = 2; Spieler2.Geschwindigkeit = 190.85f; // Daten am Ende der Liste schreiben lSpieler.push_back(Spieler2); // Datei zum Schreiben öffnen ofstream Output("Spielstand.sps", ios::binary); if(!Output) { cout << "Datei konnte nicht geoeffnet werden." << endl; system("pause"); return -1; } // Instanz in die Datei schreiben for (iSpieler = lSpieler.begin(); iSpieler != lSpieler.end(); ++iSpieler) { Output.write((char*) &(*iSpieler), sizeof(*iSpieler)); } // Datei schliessen Output.close(); // Dateien der Liste wieder löschen lSpieler.clear(); // Datei zum Lesen öffnen ifstream Input("Spielstand.sps", ios::binary); if(!Input) { cout << "Datei konnte nicht geoeffnet werden." << endl; system("pause"); return -1; } // Instanz aus der Datei lesen CRaumschiff Temp; lSpieler.resize(2,Temp); for (iSpieler = lSpieler.begin(); iSpieler != lSpieler.end(); ++iSpieler) { Input.read((char*) &(*iSpieler), sizeof(*iSpieler)); } // Werte ausgeben for (iSpieler = lSpieler.begin(); iSpieler != lSpieler.end(); ++iSpieler) { //cout << "Name : " << iSpieler->Name << endl cout << "Energie : " << iSpieler->Energie << endl << "Farbe : " << iSpieler->Farbe << endl << "Team : " << iSpieler->Team << endl << "Geschwindigkeit : " << iSpieler->Geschwindigkeit << endl << endl; } // Datei schliessen Input.close(); system("pause"); return 0; } |
C-/C++-Quelltext |
|
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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
#include <iostream> #include <string> #include <fstream> #include <list> using namespace std; class CRaumschiff { public: void SetName(string sName) { if (strlen(sName.c_str()) < 21) strncpy_s(m_cName, sName.c_str(), sizeof(m_cName)); else strncpy_s(m_cName, "?", sizeof(m_cName)); } void SetName(char cName[]) { if (strlen(cName) < 21) strncpy_s(m_cName, cName, sizeof(m_cName)); else strncpy_s(m_cName, "?", sizeof(m_cName)); } void SetEnergie(int Energie) {m_Energie = Energie;} void SetFarbe(int Farbe) {m_Farbe = Farbe;} void SetTeam(int Team) {m_Team = Team;} void SetGeschwindigkeit(float fGeschwindigkeit) {m_fGeschwindigkeit = fGeschwindigkeit;} char *GetName () {return m_cName;} int GetEnergie () {return m_Energie;} int GetFarbe () {return m_Farbe;} int GetTeam () {return m_Team;} float GetGeschwindigkeit () {return m_fGeschwindigkeit;} private: char m_cName[21]; int m_Energie; int m_Farbe; int m_Team; float m_fGeschwindigkeit; }; int main() { list<CRaumschiff> lSpieler; list<CRaumschiff>::iterator iSpieler; size_t Groesse = 0; CRaumschiff Spieler1; // Raumschiff von Spieler 1 CRaumschiff Spieler2; // Raumschiff von Spieler 2 CRaumschiff Spieler3; // Raumschiff von Spieler 3 // Startwerte für Spieler 1 festlegen Spieler1.SetName("Hans"); Spieler1.SetEnergie(1000); Spieler1.SetFarbe(3); Spieler1.SetTeam(1); Spieler1.SetGeschwindigkeit(250.35f); // Daten am Ende der Liste schreiben lSpieler.push_back(Spieler1); // Startwerte für Spieler 1 festlegen Spieler2.SetName("Peter"); Spieler2.SetEnergie(1000); Spieler2.SetFarbe(2); Spieler2.SetTeam(2); Spieler2.SetGeschwindigkeit(190.85f); // Daten am Ende der Liste schreiben lSpieler.push_back(Spieler2); // Startwerte für Spieler 1 festlegen Spieler3.SetName("Klaus"); Spieler3.SetEnergie(1800); Spieler3.SetFarbe(8); Spieler3.SetTeam(1); Spieler3.SetGeschwindigkeit(110.66f); // Daten am Ende der Liste schreiben lSpieler.push_back(Spieler3); // Grösse der Liste feststellen Groesse = lSpieler.size(); // Datei zum Schreiben öffnen ofstream Output("Spielstand.sps", ios::binary); if(!Output.is_open()) { cout << "Datei konnte nicht geoeffnet werden." << endl; system("pause"); return -1; } // Die Grösse der Liste in die Datei schreiben Output.write(reinterpret_cast<char*>(&Groesse), sizeof(Groesse)); // Instanz in die Datei schreiben for (iSpieler = lSpieler.begin(); iSpieler != lSpieler.end(); ++iSpieler) { //Output.write((char*) &(*iSpieler), sizeof(*iSpieler)); Output.write(reinterpret_cast<char*>(&(*iSpieler)), sizeof(*iSpieler)); } // Datei schliessen Output.close(); // Dateien der Liste wieder löschen lSpieler.clear(); Groesse = 0; // Datei zum Lesen öffnen ifstream Input("Spielstand.sps", ios::binary); if(!Input.is_open()) { cout << "Datei konnte nicht geoeffnet werden." << endl; system("pause"); return -1; } // Grösse der Liste aus der Datei lesen Input.read(reinterpret_cast<char*>(&Groesse), sizeof(Groesse)); // Instanz aus der Datei lesen CRaumschiff Temp; lSpieler.resize(Groesse,Temp); for (iSpieler = lSpieler.begin(); iSpieler != lSpieler.end(); ++iSpieler) { Input.read(reinterpret_cast<char*>(&(*iSpieler)), sizeof(*iSpieler)); } // Werte ausgeben for (iSpieler = lSpieler.begin(); iSpieler != lSpieler.end(); ++iSpieler) { cout << "Name : " << iSpieler->GetName() << endl << "Energie : " << iSpieler->GetEnergie() << endl << "Farbe : " << iSpieler->GetFarbe() << endl << "Team : " << iSpieler->GetTeam() << endl << "Geschwindigkeit : " << iSpieler->GetGeschwindigkeit() << endl << endl; } // Datei schliessen Input.close(); system("pause"); return 0; } |
Community-Fossil
Werbeanzeige