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 |
int main (int argc, char *argv[]) { int Auswahl; // Instanz des Highscores anlegen CHighscore HG; do { cout << endl; cout << "-----------------" << endl; cout << "(1) Spiel starten" << endl; cout << "(2) Highscore anzeigen" << endl; cout << "(3) Steuerung anzeigen" << endl; cout << "(4) Beenden" << endl; cout << endl; cin >> Auswahl; switch (Auswahl) { //...... case (2): { HG.OutHighscore (); cout << endl; } break; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
while (m_bGameRun == true) { // Events bearbeiten ProcessEvents (); // ....... // Buffer flippen g_pFramework->Flip (); } // Highscore prüfen m_pHighscore->NewHighscore (m_Punkte, m_AsteroidCounter); } |
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 |
#ifndef HIGHSCORE_HPP #define HIGHSCORE_HPP #include "CText.hpp" #include <fstream> #include <iostream> class CHighscore { public: CHighscore (); void ReadHighscore (); // m_Punkte sind die Punkte aus der CGame Klasse void OutHighscore (); // m_AsteroidCounter ist der Zähler für die Asteroiden aus der CGame Klasse void NewHighscore (int m_Punkte, int m_AsteroidCounter); void WriteHighscore (int m_Punkte, int m_AsteroidCounter); private: ofstream m_HGName; // Name des Highscore Besitzers stream ofstream m_HGPunkteDat; // Punkte des Highscores stream ofstream m_HGAst; // Zähler der asteroiden stream ifstream m_HG_Ast; ifstream m_HG_Name; ifstream m_HG_PunkteDat; string m_DatName; // Name der Name datei string m_DatPkt; // Name der Pkt datei string m_DatAst; // Name der Ast. Zähler datei string m_PlayerName; // SpielerName int m_HGPunkte; // zum speichern der HG-Punkte int m_HGAsteroidCounter; // zum speichern der zerstörten HG-Asteroiden }; #endif |
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 |
#include "CHighscore.hpp" // Konstruktor // Aufgabe: Werte initialisieren CHighscore::CHighscore () { m_DatName = "Name.hsg"; m_DatPkt = "Pkt.hsg"; m_DatAst = "Ast.hsg"; m_HGPunkte = 0; m_HGAsteroidCounter = 0; } // Read Highscore // Aufgabe: Highscore Lesen und ggf. überschreibung einleiten, wenn neuen HG größer void CHighscore::ReadHighscore () { // Punkte lesen, zwischenspeichern und datei wieder schließen m_HG_PunkteDat.open(m_DatPkt.c_str(), ios_base::in); m_HG_PunkteDat >> m_HGPunkte; m_HG_PunkteDat.close (); // Name Lesen, zwischenspeichern und datei wieder schließen m_HG_Name.open(m_DatName.c_str(), ios_base::in); m_HG_Name >> m_PlayerName; m_HG_Name.close(); // Asteroiden Zähler lesen, zwischenspeichern und datei wieder schließen m_HG_Ast.open(m_DatAst.c_str(), ios_base::in); m_HG_Ast >> m_HGAsteroidCounter; m_HG_Ast.close(); } // Out Highscore // Aufgabe: Highscore auf der Konsole ausgeben void CHighscore::OutHighscore () { // Highscore lesen ReadHighscore (); // Punkte sowie Namen des aktuellen Highscores ausgeben cout << endl; cout << "-Highscore-" << endl; cout << "-----------" << endl; cout << "Name: " << m_PlayerName << endl; cout << "Punkte: " << m_HGPunkte << endl; cout << "Zerstoerte Asteroiden: " << m_HGAsteroidCounter << endl; cout << endl; } // NewHighscore // Aufgabe: Prüfen ob neuer Highscore void CHighscore::NewHighscore (int m_Punkte, int m_AsteroidCounter) { ReadHighscore (); // Highscore lesen if (m_Punkte > m_HGPunkte) { cout << "Neuer Highscore!" << endl; cout << "Namen eingeben:"; cin.get(); // cin leeren getline (cin, m_PlayerName); OutHighscore (); cin.get(); // um das Fenster offen zu halten } } // Write Highscore // Aufgabe: Highscore writen, wenn höher als der aktuelle void CHighscore::WriteHighscore (int m_Punkte, int m_AsteroidCounter) { // Punkte schreiben und schließen m_HGPunkteDat.open(m_DatPkt.c_str(), ios_base::out); m_HGPunkteDat << m_Punkte; m_HGPunkteDat.close (); // Name schreiben und schließen m_HGName.open(m_DatName.c_str(), ios_base::out); m_HGName << m_PlayerName; m_HGName.close(); // Asteroiden schreiben und schließen m_HGAst.open(m_DatAst.c_str(), ios_base::out); m_HGAst << m_AsteroidCounter; m_HGAst.close(); } |
idontknow
unregistriert
Quellcode |
|
1 2 |
Der Thread 'Win32-Thread' (0xcc4) hat mit Code 1 (0x1) geendet. Das Programm "[4708] Spiel_SDL.exe: Systemeigen" wurde mit Code 1 (0x1) beendet. |
wobei bei so ziemlich allen das PDB File nicht gefunden bzw. geöffet werden konnte.
naja also wie gesagt, wenn ich das Spiel mit dem debugger bzw. aus VS C++ raus starten will ploppt es nur kurz auf.
Ich meine dort noch in der Konsole gesehen zu haben, dass meine Sprites nicht geladen werden konnten, aber warum weiß ich nicht.
VS C++ ist im Admin Modus gestartet und der Data Ordner liegt der exe auch bei. Wenn ich es außerhalb ausführe klappt alles.
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 |
// RenderExlosion // Aufgabe: Alle Explosionen rendern und updaten void CGame::RenderExplosion () { list<CExplosion>::iterator It = m_ExplosionList.begin (); while (It != m_ExplosionList.end ()) { It->Init(m_pSpriteExplosion ,m_fXPos, m_fYPos); It->g_fExplosionTimer = It->g_fExplosionTimer + 0.02f; It->Render (); It->Update (); if (It->g_fExplosionTimer > 0.1f) It->SetAlive(false); if (It->IsAlive ()) It++; else It = m_ExplosionList.erase (It); } } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chaia*« (10.11.2010, 22:29)
Werbeanzeige