Nazwa pliku / wczytywanie mapy

0

Witam
Tworze grę 2D. Gra będzie składała się z wielu poziomów i mam problem bo chciałbym aby mapa z pliku .txt (tablica dwuwymiarowa) wczytywała się automatycznie, adekwatnie do poziomu tzn. załóżmy że mamy 5 poziom (plansze) gry i głupio było by pisać:

if (poziom==5) mapa="mapa05.txt";

I tak dla każdego poziomu :)

Chodzi mi oto aby po przejściu poziomu wczytała się mapa o ścieżce "mapa0"<<level<<".txt";

Myślę że wiadomo o co mi chodzi
Liczę na pomoc :)

2
#include <string>
using namespace std;

std::string getLevelFilename(int level) {
	return "mapa0" + to_string(level) + ".txt";
}
0

Wygląda to dość mądrze. Jest tylko problem z "to_string". Jakiej biblioteki do tego użyć bo <string> nic tu nie zdziała :)

1

Musisz włączyć obsługę c++11 w kompilatorze.

0

No ma kolega racje "to_string" to standard C++11, włączyłem obsługę dla C++11 i dalej to samo.
Używam Code::Blocks'a

0

Już sobie poradziłem :)
Pomógł mi ten post: https://4programmers.net/Forum/C_i_C++/233613-to_string_w_c++_codeblocks

Dzięki za pomoc!

2

Alternatywnie

#include <iostream>
#include <sstream>
#include <string>
using namespace std;

string getLevelFilename(int lvl){
	stringstream stream;
	stream << "mapa0" << lvl << ".txt";
	return stream.str();
}

int main() {
	cout << getLevelFilename(5);
	return 0;
}

Ale kompilator to ty zaktualizuj, a najlepiej środowisko.
Clion, Visual Studio, QTc - wybierz jakieś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1