-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSavedGames.cpp
More file actions
50 lines (42 loc) · 1.7 KB
/
SavedGames.cpp
File metadata and controls
50 lines (42 loc) · 1.7 KB
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
#include "SavedGames.h"
#include <algorithm>
#include <fstream>
#include <filesystem>
void SaveGamesToFile(const std::vector<Games>& gamesVec, const std::string fileName) {
std::ofstream fout(fileName);
fout << gamesVec.size();
for (const Games& games : gamesVec) {
std::string name = games.gameName;
std::replace(name.begin(), name.end(), ' ', '_');
double score = games.values[0];
double visuals = games.values[1];
double soundAndMusic = games.values[2];
double coreLoop = games.values[3];
double storyDesign = games.values[4];
double UI = games.values[5];
double competition = games.values[6];
double realWorldSim = games.values[7];
double rawPrice = games.values[8];
double pricePaid = games.values[9];
fout << '\n' << name << ' ' << score << ' ' << visuals << ' ' << soundAndMusic << ' ' << coreLoop << ' ' << storyDesign
<< ' ' << UI << ' ' << competition << ' ' << realWorldSim << ' ' << rawPrice << ' ' << pricePaid;
}
fout.close();
}
std::vector<Games> LoadGamesFromFile(const std::string fileName) {
if (!std::filesystem::exists(fileName))
return std::vector<Games>();
std::vector<Games> gamesVec;
std::ifstream fin(fileName);
int n;
fin >> n;
for (int i = 0; i < n; i++) {
std::string name;
double score, visuals, soundAndMusic, coreLoop, storyDesign, UI, competition, realWorldSim, rawPrice, pricePaid;
fin >> name >> score >> visuals >> soundAndMusic >> coreLoop >> storyDesign >> UI >> competition >> realWorldSim >> rawPrice >> pricePaid;
std::replace(name.begin(), name.end(), '_', ' ');
gamesVec.push_back(Games{ name, score, visuals, soundAndMusic, coreLoop, storyDesign, UI, competition, realWorldSim, rawPrice, pricePaid });
}
fin.close();
return gamesVec;
}