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
Anonymous
unregistriert
Anonymous
unregistriert
Zitat von »"Errschaffer"«
Ufff.Wie wäre es mal mit Klassen. Weil so blickt da ja niemand durch.
Wenn du dir Klassen machst kannst du alles was Zusammen gehört schön zusammenfassen. Dann macht es auch mehr Spaß nach Fehlern zu suchen.B.z.w das Prorgamm zu erweitern
Hier mal ein Vorschlag wie man den Code sinnvoller gestallten könnte.
Klasse CFramework:darstellung des Hautmenüs,Infotext, Verzweigungen,u.s.w
Klasse CPlayer: Enthält die Gewinnerkennung und einen "Spielzug"
Klasse CHighscore (dafür gibts auch bessere Namen :p ):Kümmert sich um das Speichern,Laden und Anzeigen des Hautmenü.
Das mit dem Timer würde ich bei so einem Spiel eh weglassen. Wie wäre es stattdessen mit einer Abfrage wie "Für zurück bitte 2 drücken".So steht der Spieler nicht so unter "Stress"
Achja wen du dann Klassen benutzt solltest du Include Guards benutzen.
Anonymous
unregistriert
Zitat von »"Errschaffer"«
Sry die Klasse Highscore soll natürlich nicht das Hauptmenü anzeigen.Sondern die Highscoreliste.Habs mal korrigiert.
Zitat von »"Spiri"«
Danke, abe weißt Du wie man in einer private-Klasse "get" und "set" mit einbaut, sodass man die privaten Membervariablen einfach so freigeben kann?
C-/C++-Quelltext |
|
1 2 3 4 5 6 |
class Klasse { public: // Variablen blablabla int m_iInt; }; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
class Klasse { // private: int m_iInt; public: void set(int i){m_iInt = i;} int get(){return m_iInt;} }; |
Zitat von »"Spiri"«
Zitat von »"Errschaffer"«
Sry die Klasse Highscore soll natürlich nicht das Hauptmenü anzeigen.Sondern die Highscoreliste.Habs mal korrigiert.
Danke, abe weißt Du wie man in einer private-Klasse "get" und "set" mit einbaut, sodass man die privaten Membervariablen einfach so freigeben kann?
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 |
ass Testklasse { private: int m_Farbe; //Das ist eine private Membervariable.So wie es jetzt ist kann sie von außen //nicht verwendet werden public: void Funktion (); //Das ist die Zugriffsfunktion, Mit der haben wie Zugriff auf eine Private Membervariable }; void Testklasse::Funktion () { cout<<"Bitte eingeben: "<<endl; cin>>m_Farbe; } int main () { //Instanz Testklasse Instance; Instance.Funktion (); return 0; } |
Anonymous
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <iostream> #include <windows.h> #include <cstdio> #include <time.h> #include <fstream> #include <assert.h> #include "Timer.hpp" #include "CPlayer.hpp" using namespace std; #pragma comment (lib, "winmm.lib") int main () { CPlayer Spieler; Spieler.set (""); Spieler.get (); 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 |
#include <iostream> class CPlayer { private: char m_Spielername[1000]; float m_Versuche; long m_Punkte; public: void set (char m_Spielername[1000]) { m_Spielername[1000]; m_Versuche = 0; m_Punkte = 0; } int get () { return m_Spielername[1000]; } }; |
Zitat von »"Spiri"«
Es funzt aber nicht:
Werbeanzeige