diff --git a/CMakeLists.txt b/CMakeLists.txt index 00ea098..83b4c0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,8 +104,6 @@ add_executable(2024_I2P2_TowerDefense_with_answer Turret/TurretButton.hpp Scene/WinScene.cpp Scene/WinScene.hpp - Scene/LevelSelectScene.cpp - Scene/LevelSelectScene.hpp # TODO: [HACKATHON-1-SCENE] (2/4) Add the new scene source files here Scene/StartScene.cpp Scene/StartScene.hpp @@ -119,15 +117,6 @@ add_executable(2024_I2P2_TowerDefense_with_answer # UI/Component/TextInput.hpp ) -# add_custom_target(update_score ALL -# COMMAND ${CMAKE_COMMAND} -E echo "Pushing score to GitHub..." -# COMMAND git add score.txt -# COMMAND git commit -m "[Auto]Update score" -# COMMAND git push origin master -# WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} -# ) -# add_dependencies(2024_I2P2_TowerDefense_with_answer update_score) - if(WIN32) set(UPDATE_SCRIPT ${CMAKE_SOURCE_DIR}/update_score.bat) else() diff --git a/Resource/level1.txt b/Resource/level1.txt index d8dbdbc..4b69fa9 100644 --- a/Resource/level1.txt +++ b/Resource/level1.txt @@ -3,7 +3,7 @@ #--b-[-----]---1-2## ##E#####G########### #-----[]-----####### -#-----------S]-[--## +#------------]-[--## ####b-------------## #########B###-----## #---------######-s## diff --git a/Scene/LevelSelectScene.cpp b/Scene/LevelSelectScene.cpp deleted file mode 100644 index 82598fc..0000000 --- a/Scene/LevelSelectScene.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include -#include -#include -#include - -#include "Engine/AudioHelper.hpp" -#include "Engine/GameEngine.hpp" -#include "UI/Component/ImageButton.hpp" -#include "UI/Component/Label.hpp" -#include "PlayScene.hpp" -#include "Engine/Point.hpp" -#include "Engine/Resources.hpp" -#include "UI/Component/Slider.hpp" -#include "LevelSelectScene.hpp" -//comment -void LevelSelectScene::Initialize() { - int w = Engine::GameEngine::GetInstance().GetScreenSize().x; - int h = Engine::GameEngine::GetInstance().GetScreenSize().y; - int halfW = w / 2; - int halfH = h / 2; - Engine::ImageButton* btn; - btn = new Engine::ImageButton("stage-select/dirt.png", "stage-select/floor.png", halfW - 200, halfH * 3 / 2 - 50, 400, 100); - btn->SetOnClickCallback(std::bind(&LevelSelectScene::BackOnClick, this, 1)); - AddNewControlObject(btn); - AddNewObject(new Engine::Label("Back", "pirulen.ttf", 48, halfW, halfH * 3 / 2, 0, 0, 0, 255, 0.5, 0.5)); - - btn = new Engine::ImageButton("stage-select/dirt.png", "stage-select/floor.png", halfW - 200, halfH / 2 - 50, 400, 100); - btn->SetOnClickCallback(std::bind(&LevelSelectScene::PlayOnClick, this, 1)); - AddNewControlObject(btn); - AddNewObject(new Engine::Label("Level 1", "pirulen.ttf", 48, halfW, halfH / 2, 0, 0, 0, 255, 0.5, 0.5)); - btn = new Engine::ImageButton("stage-select/dirt.png", "stage-select/floor.png", halfW - 200, halfH /2 + 100, 400, 100); - btn->SetOnClickCallback(std::bind(&LevelSelectScene::PlayOnClick, this, 2)); - AddNewControlObject(btn); - AddNewObject(new Engine::Label("Level 2", "pirulen.ttf", 48, halfW, halfH / 2 +150, 0, 0, 0, 255, 0.5, 0.5)); - - btn = new Engine::ImageButton("stage-select/dirt.png", "stage-select/floor.png", halfW - 200, halfH / 2 + 250, 400, 100); - btn->SetOnClickCallback(std::bind(&LevelSelectScene::ScoreboardOnClick, this)); - AddNewControlObject(btn); - AddNewObject(new Engine::Label("Scoreboard", "pirulen.ttf", 36, halfW, halfH / 2 + 300, 0, 0, 0, 255, 0.5, 0.5)); - - // Not safe if release resource while playing, however we only free while change scene, so it's fine. - bgmInstance = AudioHelper::PlaySample("select.ogg", true, AudioHelper::BGMVolume); -} -void LevelSelectScene::Terminate() { - AudioHelper::StopSample(bgmInstance); - bgmInstance = std::shared_ptr(); - IScene::Terminate(); -} -void LevelSelectScene::BackOnClick(int stage) { - Engine::GameEngine::GetInstance().ChangeScene("start"); -} -void LevelSelectScene::PlayOnClick(int stage) { - PlayScene* scene = dynamic_cast(Engine::GameEngine::GetInstance().GetScene("play")); - scene->MapId = stage; - Engine::GameEngine::GetInstance().ChangeScene("play"); -} -void LevelSelectScene::ScoreboardOnClick() { - Engine::GameEngine::GetInstance().ChangeScene("scoreBoard"); -} \ No newline at end of file diff --git a/Scene/LevelSelectScene.hpp b/Scene/LevelSelectScene.hpp deleted file mode 100644 index 404d119..0000000 --- a/Scene/LevelSelectScene.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef LEVELSELECTSCENE_HPP -#define LEVELSELECTSCENE_HPP -#include -#include -#include "Engine/IScene.hpp" - -class LevelSelectScene final : public Engine::IScene { -private: - std::shared_ptr bgmInstance; -public: - explicit LevelSelectScene() = default; - void Initialize() override; - void Terminate() override; - void PlayOnClick(int stage); - void ScoreboardOnClick(); - void BackOnClick(int stage); -}; - -#endif // STAGESELECTSCENE_HPP diff --git a/Scene/LoseScene.cpp b/Scene/LoseScene.cpp index cdde6cb..baf8be4 100644 --- a/Scene/LoseScene.cpp +++ b/Scene/LoseScene.cpp @@ -56,7 +56,7 @@ void LoseScene::BackOnClick(int stage) { void LoseScene::OnKeyDown(int keyCode) { IScene::OnKeyDown(keyCode); - Engine::LOG(Engine::INFO)<<"key is "<> PlayScene::CalculateBFSDistance() { } void PlayScene::WriteScoretoFile(int score){ - const std::string filepath = "C:\\I2P\\Fireboy-and-Watergirl\\score.txt"; + system("echo Current: %cd%"); + const std::string filepath = "../score.txt"; // Open the file for appending using ofstream std::ofstream file(filepath, std::ios::app); diff --git a/Scene/ScoreBoardScene.cpp b/Scene/ScoreBoardScene.cpp index faeb333..2e24275 100644 --- a/Scene/ScoreBoardScene.cpp +++ b/Scene/ScoreBoardScene.cpp @@ -46,7 +46,7 @@ void ScoreBoardScene::Initialize() { 0.5, 0.5)); // Not safe if release resource while playing, however we only free while change scene, so it's fine. - bgmInstance = AudioHelper::PlaySample("select.ogg", true, AudioHelper::BGMVolume); + bgmInstance = AudioHelper::PlaySample("start.ogg", true, AudioHelper::BGMVolume); LoadScores(); } @@ -77,7 +77,8 @@ void ScoreBoardScene::NextOnClick() { void ScoreBoardScene::LoadScores() { scores.clear(); - const char* filepath = "C:\\Users\\maggie\\Fireboy_and_Watergirl\\score.txt"; + system("echo Current: %cd%"); + const char* filepath = "../score.txt"; FILE* file; freopen_s(&file, filepath, "r", stdin); std::string line; diff --git a/Scene/WinScene.cpp b/Scene/WinScene.cpp index 4e5af78..19602a7 100644 --- a/Scene/WinScene.cpp +++ b/Scene/WinScene.cpp @@ -63,7 +63,7 @@ void WinScene::BackOnClick(int stage) { void WinScene::OnKeyDown(int keyCode) { IScene::OnKeyDown(keyCode); - Engine::LOG(Engine::INFO)<<"key is "<