Highscore - Funktion ! Nur wie?
-
Hallo
Vielleicht solltest du dir mal ein c++-Tutorial durchschauen.
chrische
-
#include <fstream> int main() { std::ofstream file_out_stream("witz.txt", std::ios::out); if (!file_out_stream) return 0; file_out_stream << "Es kommt ein Mann zum Baecker und sagt: Ich moechte 99 Broetchen." << std::endl; file_out_stream << "Da fragt der Baecker: Duerfen es auch 100 sein?" << std::endl; file_out_stream << "Der Mann antwortet: Nein, wer koennte denn so viele essen?" << std::endl; file_out_stream.close(); }#include <vector> #include <string> #include <utility> #include <algorithm> int main() { std::vector< std::pair<unsigned short, std::string> > vec_top10; vec_top10.push_back(std::make_pair(125, "Karl Hans Peter")); vec_top10.push_back(std::make_pair(652, "Detlef Soost")); vec_top10.push_back(std::make_pair(30, "Hans Willi")); vec_top10.push_back(std::make_pair(812, "Olaf Wurst")); vec_top10.push_back(std::make_pair(123, "Werner Schmitz")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); std::sort(vec_top10.begin(), vec_top10.end()); for (size_t item = 0; item < 10; ++item) std::cout << vec_top10[item].first << " | " << vec_top10[item].second << std::endl; }Das verstehe ich, danke!
Doch wie "vereine" ich jetzt diese 2 Kästchen ^^ ?
-
Kommt drauf an ... willst du das der Benutzer normal lesen kann was da steht?
#include <vector> #include <string> #include <utility> #include <algorithm> #include <fstream> int main() { std::vector< std::pair<unsigned short, std::string> > vec_top10; vec_top10.push_back(std::make_pair(125, "Karl Hans Peter")); vec_top10.push_back(std::make_pair(652, "Detlef Soost")); vec_top10.push_back(std::make_pair(30, "Hans Willi")); vec_top10.push_back(std::make_pair(812, "Olaf Wurst")); vec_top10.push_back(std::make_pair(123, "Werner Schmitz")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); vec_top10.push_back(std::make_pair(412, "Hänschen Depp")); std::sort(vec_top10.begin(), vec_top10.end()); std::ofstream file_out_stream("top10.txt", std::ios::out); if (!file_out_stream) return 0; for (size_t item = 0; item < 10; ++item) { std::cout << vec_top10[item].first << " | " << vec_top10[item].second << std::endl; file_out_stream << vec_top10[item].second << " | " vec_top10[item].first << std::endl; } file_out_stream.close(); }...
-
Gar nicht
Schließlich willst du keine Witze speichern sondern deine Highscores.Was du brauchst, ist:
//zentral erreichbar - die HighScore-Liste: //Anmerkung: Wenn die Scores sowieso sortiert sein müssen, ist eine MultiMap praktischer multi_map<int,string> highscores; //alte HighScores einlesen: ifstream data("hiscore.txt"); string zeile; while(getline(data,zeile) { size_t pos=zeile.find('|');//Trennzeichen highscores.insert(make_pair(atoi(zeile.c_str()),zeile.substr(pos+2))); } //Highscores zurückschreiben: ofstream data("hiscore.txt"); for (multi_map<int,string>::iterator item=highscores.begin(); item!=highscores.end(); ++item) data << item->first << " | " << item->second << std::endl; //neuen Score eintragen: hishscores.insert(make_pair(score,name)); while(highscores.size()>10) highscores.erase(highscores.begin());Lies es dir durch. Und wenn du kapiert hast, was jeder Teil bewirkt, kannst du es an der richtigen Stelle in dein Spiel integrieren.
-
(D)Evil schrieb:
Kommt drauf an ... willst du das der Benutzer normal lesen kann was da steht?
Ja, am Ende des Spiels soll sein Name in die Highscore - Tabelle eingetragen werden, und anschließend soll er es auch sehen, wo er gelandet ist.
-
nein das meine ich nicht. Soll der Benutzer, wenn er die Textdatei öffnet(also bsw. mit "Editor"), einen leserlichen Text erblicken?
-
(D)Evil schrieb:
nein das meine ich nicht. Soll der Benutzer, wenn er die Textdatei öffnet(also bsw. mit "Editor"), einen leserlichen Text erblicken?
Wäre toll, wenn er es nicht könnte

-
Naja du kannst es etwas "verschweren" in dem du binär schreibst ...
-
(D)Evil schrieb:
Naja du kannst es etwas "verschweren" in dem du binär schreibst ...
Ok, danke für die ganze Hilfe!
Werde das mit dem Binär machen. Ist ja nicht so schwer.
-
CStoll schrieb:
Gar nicht
Schließlich willst du keine Witze speichern sondern deine Highscores.Was du brauchst, ist:
//zentral erreichbar - die HighScore-Liste: //Anmerkung: Wenn die Scores sowieso sortiert sein müssen, ist eine MultiMap praktischer multi_map<int,string> highscores; //alte HighScores einlesen: ifstream data("hiscore.txt"); string zeile; while(getline(data,zeile) { size_t pos=zeile.find('|');//Trennzeichen highscores.insert(make_pair(atoi(zeile.c_str()),zeile.substr(pos+2))); } //Highscores zurückschreiben: ofstream data("hiscore.txt"); for (multi_map<int,string>::iterator item=highscores.begin(); item!=highscores.end(); ++item) data << item->first << " | " << item->second << std::endl; //neuen Score eintragen: hishscores.insert(make_pair(score,name)); while(highscores.size()>10) highscores.erase(highscores.begin());Lies es dir durch. Und wenn du kapiert hast, was jeder Teil bewirkt, kannst du es an der richtigen Stelle in dein Spiel integrieren.
Bei mir zeigt es da Fehler an ...

Wäre für mein Programm nämlich günstiger.Welche includes brauche ich dafür?
-
Hallo
1. Zeige doch bitte auch die Fehlermeldungen.
2. Versuche doch mal eine Problem mittels google oder so selber zu lösen
chrische
-
Friedfischer schrieb:
Bei mir zeigt es da Fehler an ...

Und jetzt dürfen wir raten, welcher Fehler das ist, oder wie?
(wie ich schon gesagt habe: Lies dir das durch und bau es an der richtigen Stelle in dein Programm ein)
-
Friedfischer schrieb:
Bei mir zeigt es da Fehler an ...

Und jetzt dürfen wir raten, welcher Fehler das ist, oder wie?
(wie ich schon gesagt habe: Lies dir das durch und bau es an der richtigen Stelle in dein Programm ein)