Du bist nicht angemeldet.

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

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

1

23.12.2015, 12:53

[C++ | SFML] Beste Lösung, um Level im Jump and Run zu realisieren

Hallo Leute,

ich bin grade dran, in den Ferien ein Jump and Run zu entwickeln. Gestern habe ich das Menü fertig gemacht und heute bin ich am eigentlichen Spiel dran. Jetzt stellt sich die Frage: Wie kann ich es am besten hinbekommen, dass ich Problemlos die Level wechseln kann? Soll ich abstrakte Klassen erstellen und dann diese immer überschreiben?

Danke im Voraus :)

2

23.12.2015, 13:23

Mach eine generische Level-Klasse, die dann die Level aus einer Datei laden kann.
Das wäre sehr einfach, so musst du nur neue Dateien in einem Ordner hinzufügen, um neue Level hinzuzufügen.

MfG
Check

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

3

23.12.2015, 14:07

Mach eine generische Level-Klasse, die dann die Level aus einer Datei laden kann.
Das wäre sehr einfach, so musst du nur neue Dateien in einem Ordner hinzufügen, um neue Level hinzuzufügen.

MfG
Check


Danke für die Antwort. Ich bin jetzt so weit:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void Level::loadFile(std::string path)
{
    std::ifstream i_stream(path);
    if (!i_stream)
        throw std::runtime_error("File does not exist!");
    else
    {
        //go through each line
        while (i_stream)    //cancel on error or end of file
        {
            std::string line;
            std::getline(i_stream, line);   //read the line
        }

    }
}


Nur wie bekomme ich jetzt die Ziffern aus der Datei an die andere Klasse "gesendet"?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

23.12.2015, 14:08

Welche andere Klasse?

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

5

23.12.2015, 14:18

Welche andere Klasse?

Die PlayState-Klasse, die das eigentliche Spielgeschehen umfasst (Spielersteuerung, Level laden, ...)

6

23.12.2015, 15:21

...durch 'ne Referenz zur Instanz dazu?

MfG
Check

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

23.12.2015, 15:58

Nee, das riecht nach Zyklus. Ich würde generell aber versuchen Gott-Klassen zu vermeiden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

8

23.12.2015, 21:48

Nee, das riecht nach Zyklus. Ich würde generell aber versuchen Gott-Klassen zu vermeiden.

Meinst du mit Zyklus so was wie ein Suchalgorithmus? Und wie genau ist das mit einer Gott-Klasse gemeint?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

9

23.12.2015, 21:58

Nein, ein Zyklus ist, wenn sich Klassen gegenseitig kennen oder verwenden. Eine Gott-Klasse ist eine Klasse, die alles gleichzeitig macht und alles kann.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

10

24.12.2015, 07:19

Achso danke für die Begriffsklärung! Und realisiere ich den Zyklus nun zwischen der Level-Klasse und der PlayState-Klasse? Müssen die beiden dann Friendklassen werden oder wir bekomme ich die Informationen aus der Datei, die ich mit der Levelklasse bekomme, in mein PlayState, wo dann schließlich die Map erzeugt wird?

Werbeanzeige