From: Nils Forssén Date: Tue, 28 Nov 2023 12:53:44 +0000 (+0100) Subject: fixed merge conflicts X-Git-Url: https://gitweb.forssennils.se/?a=commitdiff_plain;h=b73bb090ec6e9b1d2ca6fc502dc21e7e63c8173f;p=TDDC76_proj.git fixed merge conflicts --- b73bb090ec6e9b1d2ca6fc502dc21e7e63c8173f diff --cc assets/data.json index 8a341b3,63de909..05c4965 --- a/assets/data.json +++ b/assets/data.json @@@ -29,9 -28,9 +29,10 @@@ "game_constants": { "bottles_per_second" : 2, - "game_time" : 3, + "game_time" : 20, "yf_per_second": 0.125, - "bikes_per_second": 0.17 ++ "bikes_per_second": 0.17, + "scoreboard" : 5 }, "map": diff --cc assets/highscore.csv index e69de29,16aabef..5d2ef84 --- a/assets/highscore.csv +++ b/assets/highscore.csv @@@ -1,0 -1,5 +1,5 @@@ + Gorilla,4 + Gorilla,3 + Stina,2 + Gorilla,2 -Gorilla,0 ++Gorilla,2 diff --cc src/States.cc index 8616186,3648414..874c966 --- a/src/States.cc +++ b/src/States.cc @@@ -43,7 -42,7 +45,8 @@@ Game_state::Game_state() bottle_texture.loadFromFile("assets/kir.png"); YF_texture.loadFromFile("assets/YF.png"); + bike_texture.loadFromFile("assets/cyklist.png"); + f.close(); } void Game_state::update(Context &context) @@@ -61,7 -60,39 +64,39 @@@ int remaining_time {static_cast(data["game_constants"]["game_time"]) - static_cast(game_time)}; if (remaining_time < 0) { + // LÄGG ALLT NEDAN I GAME OVER MENYN. + std::string current_line{"Gorilla," + std::to_string(points)}; + + std::ifstream highscore_file_r{"assets/highscore.csv"}; + std::vector lines_read; + std::vector lines_write; + for (std::string one_line; std::getline(highscore_file_r, one_line);lines_read.push_back(one_line)); + + bool added {false}; + for (std::string::size_type line_count{0}; line_count < lines_read.size(); line_count++) + { + if (!added && points > std::stoi(lines_read[line_count].substr(lines_read[line_count].find_first_of(',') + 1))) + { + std::cout << "i loop" << std::endl; + lines_write.push_back(current_line); + added = true; + } + lines_write.push_back(lines_read[line_count]); + } + + if (!added) lines_write.push_back(current_line); + + + + if (lines_write.size() > data["game_constants"]["scoreboard"]) lines_write.pop_back(); + + highscore_file_r.close(); + + std::ofstream highscore_file_w{"assets/highscore.csv"}; + for (std::string::size_type line_count{0}; line_count < lines_write.size(); highscore_file_w << lines_write[line_count++] << std::endl); + highscore_file_w.close(); + - context.next_state = std::make_unique(); + context.next_state = std::make_unique(); return; } @@@ -128,20 -150,14 +163,20 @@@ time_since_last_yf = 0; } + if(time_since_last_bike >= 1 / static_cast(data["game_constants"]["bikes_per_second"])) + { + bike = std::make_unique(bike_texture, data["bike_enemy"]); + time_since_last_bike = 0; + } enemy->update(context); - game_map->update(points, remaining_time); + game_map->update(player->get_collected(), points, remaining_time); - if (yf.size()>0) + if (yf != nullptr) { - for(unsigned int i {0}; i < yf.size(); ++i) - { - yf[i]->update(context); - } + yf->update(context); + } + if(bike != nullptr) + { + bike->update(context); } }