From 3c068d852ffaf0c355db52f2a4762582893336af Mon Sep 17 00:00:00 2001 From: Evan Orvis Date: Wed, 6 Dec 2023 13:51:27 -0500 Subject: [PATCH 1/5] Get all changes back to normal I think --- source/Interfaces/MainInterface.cpp | 35 ++++++++++++++++++++++++++-- source/Interfaces/TrashInterface.hpp | 2 +- source/Worlds/ManualWorld.hpp | 24 ++++++------------- source/group_8_main.cpp | 33 ++++++++++++++++---------- 4 files changed, 62 insertions(+), 32 deletions(-) diff --git a/source/Interfaces/MainInterface.cpp b/source/Interfaces/MainInterface.cpp index ef15b8a5..d22fe833 100644 --- a/source/Interfaces/MainInterface.cpp +++ b/source/Interfaces/MainInterface.cpp @@ -64,7 +64,9 @@ namespace i_2D { if (item_ptr->HasProperty("symbol")) { c = item_ptr->GetProperty("symbol"); } - symbol_grid[pos.CellY()][pos.CellX()] = c; + if (!item_ptr->IsOwned()){ + symbol_grid[pos.CellY()][pos.CellX()] = c; + } } // Add in the agents @@ -74,7 +76,9 @@ namespace i_2D { if (agent_ptr->HasProperty("symbol")) { c = agent_ptr->GetProperty("symbol"); } - symbol_grid[pos.CellY()][pos.CellX()] = c; + if (!agent_ptr->HasProperty("deleted")){ + symbol_grid[pos.CellY()][pos.CellX()] = c; + } } return symbol_grid; } @@ -376,6 +380,33 @@ namespace i_2D { case sf::Keyboard::Right: action_id = GetActionID("right"); break; + case sf::Keyboard::H: + action_id = GetActionID("heal"); + break; + case sf::Keyboard::T: + action_id = GetActionID("stats"); + break; + case sf::Keyboard::C: + action_id = GetActionID("use_axe"); + break; + case sf::Keyboard::V: + action_id = GetActionID("use_boat"); + break; + case sf::Keyboard::F: + action_id = GetActionID("attack"); + break; + case sf::Keyboard::G: + action_id = GetActionID("special"); + break; + case sf::Keyboard::B: + action_id = GetActionID("buff"); + break; + case sf::Keyboard::R: + action_id = GetActionID("run"); + break; + case sf::Keyboard::Y: + action_id = GetActionID("help"); + break; default: break; // The user pressed an unknown key. } diff --git a/source/Interfaces/TrashInterface.hpp b/source/Interfaces/TrashInterface.hpp index 64ebe4b8..6743db69 100644 --- a/source/Interfaces/TrashInterface.hpp +++ b/source/Interfaces/TrashInterface.hpp @@ -51,7 +51,7 @@ namespace cse491 { if(agent_ptr->HasProperty("symbol")){ c = agent_ptr->GetProperty("symbol"); } - if (!agent_ptr->HasProperty("Deleted")){ + if (!agent_ptr->HasProperty("deleted")){ symbol_grid[pos.CellY()][pos.CellX()] = c; } } diff --git a/source/Worlds/ManualWorld.hpp b/source/Worlds/ManualWorld.hpp index 848a6358..439ba0da 100644 --- a/source/Worlds/ManualWorld.hpp +++ b/source/Worlds/ManualWorld.hpp @@ -63,9 +63,8 @@ namespace cse491_team8 { portal_id_b = AddCellType("portal_b", "Portal that teleports player to another b-portal spot.", '{'); portal_id_c = AddCellType("portal_c", "Portal that teleports player to another c-portal spot.", '('); portal_id_d = AddCellType("portal_d", "Portal that teleports player to another d-portal spot.", ')'); - main_grid.Read("../assets/grids/team8_grid_large.grid", type_options); + main_grid.Read("../assets/grids/team8_grid_v2.grid", type_options); } - ~ManualWorld() = default; /// @brief Generates move sets for all the agents @@ -270,6 +269,7 @@ namespace cse491_team8 { other_agent.SetProperty("Strength", (int)(agent_health - item_strength)); } item->SetUnowned(); + agent.RemoveItem(item->GetID()); item->SetPosition(other_agent.GetPosition()); agent.Notify(other_agent.GetName() + " dropped their " + item->GetName() + "!"); } @@ -314,17 +314,6 @@ namespace cse491_team8 { return other_damage; } - /// @brief Generates the battling boolean - /// Sets the battling boolean as a property for each agent - /// @return None - void SetBattling() - { - for (auto & [id, agent_ptr] : agent_map) - { - agent_ptr->SetProperty("Battling", false); - } - } - /// @brief Checks the strength between two agents /// @param other_agent The autonomous agent to compare /// @param agent The interface (player) agent to compare @@ -421,7 +410,7 @@ namespace cse491_team8 { agent.SetProperty("Battling", false); other_agent.SetProperty("Battling", false); DropItems(agent, other_agent); - other_agent.SetProperty("Deleted", true); + other_agent.SetProperty("deleted", true); } } @@ -443,7 +432,7 @@ namespace cse491_team8 { void RunAgents() override { for (auto & [id, agent_ptr] : agent_map) { - if (agent_ptr->HasProperty("Deleted")) { + if (agent_ptr->HasProperty("deleted")) { continue; } size_t action_id = agent_ptr->SelectAction(main_grid, type_options, item_map, agent_map); @@ -484,6 +473,7 @@ namespace cse491_team8 { // remove it from the board item_ptr->SetOwner(agent); + agent.AddItem(item_ptr->GetID()); break; } } @@ -628,7 +618,7 @@ namespace cse491_team8 { auto agents = FindAgentsNear(agent.GetPosition(), 1); for (auto agent_id : agents) { - if (!agent_map[agent_id]->IsInterface() && !agent_map[agent_id]->HasProperty("Deleted")) + if (!agent_map[agent_id]->IsInterface() && !agent_map[agent_id]->HasProperty("deleted")) { agent.Notify("You are running away"); agent_map[agent_id]->SetProperty("Battling", false); @@ -666,7 +656,7 @@ namespace cse491_team8 { for (auto agent_id : agents) { // Battle other agent near the player - if (!agent_map[agent_id]->IsInterface() && !agent_map[agent_id]->HasProperty("Deleted")) + if (!agent_map[agent_id]->IsInterface() && !agent_map[agent_id]->HasProperty("deleted")) { agent.SetProperty("Battling", true); agent_map[agent_id]->SetProperty("Battling", true); diff --git a/source/group_8_main.cpp b/source/group_8_main.cpp index fd5d8456..2d006d36 100644 --- a/source/group_8_main.cpp +++ b/source/group_8_main.cpp @@ -6,39 +6,48 @@ // Include the modules that we will be using. #include "Agents/PacingAgent.hpp" -#include "Interfaces/TrashInterface.hpp" +#include "Interfaces/MainInterface.hpp" #include "Worlds/ManualWorld.hpp" +#include "Interfaces/MainInterface.hpp" +#include "Agents/AStarAgent.hpp" int main() { cse491_team8::ManualWorld world; - world.AddItem("Axe", "Uses", 5, "symbol", 'P').SetPosition(37, 3); - world.AddItem("Axe", "Uses", 10, "symbol", 'P').SetPosition(40, 5); - world.AddItem("Boat", "Uses", 7, "symbol", 'U').SetPosition(18, 4); - - world.AddItem("Sword", "Strength", 10, "symbol", 't').SetPosition(27, 11); + world.AddItem("Axe", "Uses", 5, "symbol", 'P').SetPosition(80, 120); + world.AddItem("Axe", "Uses", 10, "symbol", 'P').SetPosition(97, 40); + + world.AddItem("Boat", "Uses", 7, "symbol", 'U').SetPosition(55, 11); + + world.AddItem("Sword", "Strength", 8, "symbol", 't').SetPosition(18, 4); + world.AddItem("Sword", "Strength", 5, "symbol", 't').SetPosition(27, 11); + world.AddItem("Sword", "Strength", 4, "symbol", 't').SetPosition(65, 89); + world.AddItem("Health Potion", "Healing", 25, "symbol", 'j').SetPosition(38, 16); - world.AddItem("Health Potion", "Healing", 40, "symbol", 'j').SetPosition(40, 1); + world.AddItem("Health Potion", "Healing", 30, "symbol", 'j').SetPosition(1, 18); - world.AddAgent("Interface", "symbol", '@').SetPosition(40,3); + world.AddAgent("Interface", "symbol", '@').SetPosition(24, 2); world.AddAgent("Pacer 1").SetPosition(45, 3); world.AddAgent("Pacer 5").SetPosition(3,14); - world.AddAgent("Pacer 2").SetPosition(7,3); + world.AddAgent("Pacer 2").SetPosition(7,30); + world.AddAgent("Pacer 6").SetPosition(27, 10); + world.AddAgent("Pacer 7").SetPosition(38, 10); world.AddAgent("Pacer 3").SetPosition(18,3); world.AddAgent("Pacer 4").SetPosition(45,17); + // need to set goal position + world.AddAgent("AStar Agent 1").SetPosition(80, 111); - world.AddAgent("Shark", "OnlyWater", 1).SetPosition(11, 4); + world.AddAgent("Shark", "OnlyWater", 1).SetPosition(125, 140); auto & pacer_1 = world.GetAgent(world.GetAgentID("Pacer 1")); - world.AddItem("Sword", "Strength", 15, "symbol", 't').SetPosition(pacer_1.GetPosition()); + world.AddItem("Sword", "Strength", 10, "symbol", 't').SetPosition(pacer_1.GetPosition()); world.DoActionAttemptItemPickup(pacer_1, pacer_1.GetPosition()); auto & interface = world.GetAgent(world.GetAgentID("Interface")); world.MoveSetAction(interface); world.GenerateMoveSets(); - // world.SetBattling(); world.Run(); From 52ba0f3d4adebe414442a3562060be853deb5d99 Mon Sep 17 00:00:00 2001 From: Evan Orvis Date: Wed, 6 Dec 2023 14:07:22 -0500 Subject: [PATCH 2/5] Fix grids --- assets/grids/team8_grid_large.grid | 8 +- assets/grids/team8_grid_v2.grid | 300 ++++++++++++++--------------- 2 files changed, 154 insertions(+), 154 deletions(-) diff --git a/assets/grids/team8_grid_large.grid b/assets/grids/team8_grid_large.grid index 120a46ca..882429f7 100644 --- a/assets/grids/team8_grid_large.grid +++ b/assets/grids/team8_grid_large.grid @@ -1,5 +1,5 @@ -^^^ ^^^~~ ^^^^^^^^^^^^^^ ^^^^^^ -^ ^^~~ ^^^^^^^^^^^^^^^^^^^ ^^^^^ +^^^ ^^^~~ ^^^^^^^^^^^^^^} ^^^^^^ +^ } ^^~~ ^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^ ~~~ ^^^^^^^^^^^^^ ^^^^^ ~~^ ^^^^^ ^^ ^^^^ ~~~^^^ ^ ^^ ^^^ @@ -8,13 +8,13 @@ ^ ~~~^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ ^ ^^~~ ^^^^^^^^^^^^ ^^^^^^^ ^ ^^^~~ ^^^ ^^^^^^^ ^^^ ^^^^ -^ ^^^~~~^^^^^^^^^ ^^^^^^^^^^^^~~~~~ +^ { ^^^~~~^^^^^^^^^ ^^^^^^^^^^^^~~~~~ ^^ ^^^^~~~~^^^^^^^^^^ ^^^^^^^^^^^^^~~~~~~~~ ^^^ ^ ~~~~~^^^^^^^^^ ^^^^^^^^^~~~~~~~~~^^^^^ ^^^ ^^~~~~~~^^^^^ ^^^^^~~~~~~~^^^^^^^ ^^^ ^ ^ ~~~~~~~~##~~~~~~~^^^^^^^^^^ ^^^ ^^ ^^^^^ ~~~##~~~~^^^^^^^^^ ^^^^ ^^ ^^^^^^^^^^ ^^ ^^ -^ ^^^^^^^^^^^^^ ^^^ ^ +^ ^^^^^^^^^^^^^ ^^^ ^ { ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \ No newline at end of file diff --git a/assets/grids/team8_grid_v2.grid b/assets/grids/team8_grid_v2.grid index 928d3fb1..5475cc32 100644 --- a/assets/grids/team8_grid_v2.grid +++ b/assets/grids/team8_grid_v2.grid @@ -1,150 +1,150 @@ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \ No newline at end of file +$$$$$$$$$$$ ~ $$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~~$$$$$$$$$$$^^^^^^^^^^^ +$$$$$$$$$$$$ ~ $$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~~$$$$$$$$$$^^^^^^^^^^^^ +$$$$$$$$$$$$$ ~ $$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$ ~ $$$$$$$$$$$$$$$$$$$$$$~~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~~$$$$$$^^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$ ~~ $$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$~$$$$ ^^^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ~~ ^^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$~~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ~ ^^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^^^ ~ ^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$~$$$$$$$$$$$$$$$$$$$$$$$$$$^^^^^^^^^^^^^^ ~~ ^^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$$$$$$$$~~$$$$ $$$$$$$$$~~$$$$$$$$$$$$$$$$$$$$$$$$^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$$$$$$ ~ $$$~$$$$$$$$$$$$$$$$$$$$$^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^ +$$$$$$$$$$$$$$$$$ # ~~ $$$$$$$$$$ ^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^ +$$$$$$$$$$$$ # ~ ^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^ +$$$$$$$ ~~ ~~ ^^^^^^^^^^^^^^^^^ ~~ ^^^^^^^^^^^^^^^^^^^ + ~ ~ ^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^^^ ~~~ + ~ ~~ ^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^^ ~~~~ + ~ # ^^^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^^^ ~~~ + ~~ # ^^^^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^^ ~~~ + ~ ~~ ^^^^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^^ ~~ + ~~ ~ ^^^^^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^~~ + ~ ^^^^~~^^ ^^^^^^^^^^^^^^^^^^^^^^ ~~ ^^^^^^^^^^^^^^^^~~ + ~~ ^^^^^^^^~^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^^^~^ + ~~ ^^^^^^^^^^~~^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^~~^ + ~~~~^^^^^^^^^~^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ~~ ^^^^^^^^^^~^^^ + ^^^^^^^~~~~^^^^^^~^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ~ ^^^^^^^^~~^^^ + ~~~~~~~~~ ^^^^^^^^^^^^^~~^^^^ ~~^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ~ ( ^^^^^^~~^^^^^ +~~~~~ ~~~~~~~ ^^^^^^^^^^^^^^^^~~^^ ~ ^^^^^^^^^^^^^^^^^^^^^^^ ~~ ~~~^^~~^^^^^^ + ~~~~^^^^^^^^^^^^^^^^~~~~ ~~ ^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~^^^^^^^^ + ^^~~~^^^^^^^^^^^^^^^^^~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~^^^^^^^^^^^ + ^^^^^~~^^^^^^^^^^^^^^^^ ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~^^^^^^^^^^^ + ^^^^^^^~~^^^^^^^^^^^^^^^^ ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~^^^^^^^^^ + ^^^^^^^^^~^^^^^^^^^^^^^^^^ ~~ ^^^^^^^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~ ^^^^^^^ + ^^^^^^^^^^~^^^^^ ^^^^^^^^^^ ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~ ^^^ +^ ^^^^^^^^^^~~^^^ ^^^^^^^^^ ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~ +^ ^^^^^^^^^^^^~^^ ^^^^^^^^^ ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~~ +^ ^^^^^^^^^^^^~^^ ^^^^^^^^^ ~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~~~ +^^ ^^^^^^^^^^^^^~^ { ^^^^^^^^^ ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~~~~~ +^^ ^^^^^^^^^^^^~~ ^^^^^^^^^ ~~~ ^^^^^^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~~~~~ +^^ ^^^^^^^^^^^^~^ ^^^^^^^^^^ ~~ ^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~~~~~ +^^^ ^^^^^^^^^^^^^~^ ^^^^^^^^^^ ~~ ^^^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~~~~ +^^^ ^^^^^^^^^^^^^~~^ ^^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^^^^ # ~~~~~~~~~~~~~~~ } +^^^^ ^^^^^^^^^^^^^^~^^ ^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~~ +^^^^^ ^^^^^^^^^^^^^^^^~^^ ^^^^^^^^ ~ ^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^~^ ^^^^^^^^^ ~~ ^^^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^~~ ^^^^^^^^ ~ ^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^~ ^^^^^^^^^ ~ ^^^^^^^^^^^^^^^ ~ ~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^~^^^ ^^^^^^^^^^ ~ ^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^^^^^^^^^^^ ~~ ^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^ ^^^^^^^^^^^~~^^^^^^^^^^^^^ ~ ^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^ ^^^^^^^^^^~~^^^^^^^^^^^^ ~ ^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^ ^^^^^^^^^^~~^^^^^^^^^^ ~~ ^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^ ^^^^^^^^^^~~^^^^^^^^^ ~ ^^^^^^ ~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^ ^^^^^^^^^^^~^^^^^^^^ ~ ^^^ ~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^ ^^^^^^^^^^^^~^^^^^^^^ ~~ ~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^ ^^^^^^^^^^^^^~~^^^^^^ ~ ~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^ ^^^^^^^^^^^^^^~^^^^ ~ ~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^~^^^^ ~~ ~~~~~~~~~~~~~ ~ +^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^~^^ ~ ~~~~~~~~~ ~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~ ~ ~~~~ ~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~ ~ ~~ ^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~ ~ ^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~ ~ ^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~ ~ ^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^ ~ ~~ ~~ ^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^ ~~ ~ ~ ^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^ ~ ~ ~ ^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^ ~ ~ ~ ^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^ ~ ~ ^^~~^^ ^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^ ~~ ~~ ^^^^^ ^^^^^^~^^^^ ^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^ ~ ~ ^^^^^^^^^^^^ ^^^^^^^^^^~^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^ ~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^ ~ ~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^ ~~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^ ^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^ ~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^ ^^^^^^^^^^^^^^^^^^ +^^^^^^^^ ~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^ ^^^^^^^^^^^^^^^^ +^^^^^^^^ ~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^ ^^^^^^^^^^^^^^ +^^^^^^^^ ~~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^ ^^^^^^^^^^^^^ +^^^^^^^^^ ~~~ ~~~~~ ~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^ ^^^^^^^^^^^^^ +^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^ ^^^^^^^^^^^ +^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~ ~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^ ^^^^^^^^^^^ +^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^ ^^^^^^^^^^^^^ +^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^ ^^^^^^^^^^^^^ +^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^ ^^^^^^^^^^^^^^ +^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^^^ ^^^^^^^^^^^^^^^^ +^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~ ^^~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~ ^^^~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~ ) ^^^~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~ ^^^~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~ } ~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~~ +^^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^~~^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^~~~~ +^^^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^~^^^^^^^^^^^^^^ ^^^^^^^^~~~~~ +^^^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^~~^^^^^^^^^^ ^^^^^~~~~~~ +^^^^^^^^^^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^^ ^^^^^~^^^^^^^ ^^^^~~~~~~~ +^^^^^^^^ ^^^^^^^^^^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^^^^^^^^ ~~^^^ ^^^~~~~~~~ +^^ ^ ^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^^^^ ~~ ~~~~~ ^~~~~~~~~ + ^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ ~~~~~ ~~~ ~~~~~~~~~ + ^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ ~~~~ ~~~~~~~~~~~~ + ^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~~~~~~~~~~ + ^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ + ^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ + ^^^^^^^^^^^^^^^^^ ~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~ + ^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~ ~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^ ~~~ ~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^ ~~~ ~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^ ~~ ~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^ ~~~ ~~~~~~~~~~~~~~ +^^^^^ ^^^^^ ~~ ~~~~~~~~~~~~~~~ +^^^ ~~ ~~~~~~~~~~~~~~~ +^ ~~ ~~~~~~~~~~~~~~~~ + ~~ ~~~~~~~~~~~~~~~~ + ~~~ ~~~~~~~~~~~~~~~~~ + ~~ ~~~~~~~~~~~~~~~~~~ + ~~ ~~~~~~~~~~~~~~~~~~~ + ## ~~~~~~~~~~~~~~~~~~~~ + ~~ ~~~~~~~~~~~~~~~~~~~~~ + ~~ { ~~~~~~~~~~~~~~~~~~~~~~~ + ~~~ ^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~ ^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~ ^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~ ^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~ ^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~~ ^^^^^^^^ ^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ( ~~ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ^^^^~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ^^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ^^^^^^^^^~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ^^^^^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ) + ^^^^^^^^^^^^^~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ^^^^^^^^^^^^^^^~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ No newline at end of file From 8c0f279a99482be6b6358d6cbef53c73cc1d8661 Mon Sep 17 00:00:00 2001 From: grantcarr Date: Wed, 6 Dec 2023 14:18:48 -0500 Subject: [PATCH 3/5] Updated agent positioning. --- source/Worlds/ManualWorld.hpp | 2 +- source/group_8_main.cpp | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source/Worlds/ManualWorld.hpp b/source/Worlds/ManualWorld.hpp index 439ba0da..943f3774 100644 --- a/source/Worlds/ManualWorld.hpp +++ b/source/Worlds/ManualWorld.hpp @@ -826,4 +826,4 @@ namespace cse491_team8 { }; -} // End of namespace cse491 +} // End of namespace cse491_team8 diff --git a/source/group_8_main.cpp b/source/group_8_main.cpp index 2d006d36..0482bf82 100644 --- a/source/group_8_main.cpp +++ b/source/group_8_main.cpp @@ -9,6 +9,7 @@ #include "Interfaces/MainInterface.hpp" #include "Worlds/ManualWorld.hpp" #include "Interfaces/MainInterface.hpp" +#include "Interfaces/TrashInterface.hpp" #include "Agents/AStarAgent.hpp" int main() @@ -27,8 +28,9 @@ int main() world.AddItem("Health Potion", "Healing", 25, "symbol", 'j').SetPosition(38, 16); world.AddItem("Health Potion", "Healing", 30, "symbol", 'j').SetPosition(1, 18); - world.AddAgent("Interface", "symbol", '@').SetPosition(24, 2); - world.AddAgent("Pacer 1").SetPosition(45, 3); + world.AddAgent("Interface", "symbol", '@').SetPosition(80, 63); + //world.AddAgent("Interface", "symbol", '@').SetPosition(80,63); + world.AddAgent("Pacer 1").SetPosition(97, 45); world.AddAgent("Pacer 5").SetPosition(3,14); world.AddAgent("Pacer 2").SetPosition(7,30); world.AddAgent("Pacer 6").SetPosition(27, 10); @@ -41,13 +43,14 @@ int main() world.AddAgent("Shark", "OnlyWater", 1).SetPosition(125, 140); auto & pacer_1 = world.GetAgent(world.GetAgentID("Pacer 1")); - world.AddItem("Sword", "Strength", 10, "symbol", 't').SetPosition(pacer_1.GetPosition()); + world.AddItem("Sword", "Strength", 15, "symbol", 't').SetPosition(pacer_1.GetPosition()); world.DoActionAttemptItemPickup(pacer_1, pacer_1.GetPosition()); auto & interface = world.GetAgent(world.GetAgentID("Interface")); world.MoveSetAction(interface); world.GenerateMoveSets(); + // world.SetBattling(); world.Run(); From 12f308936c3413792df3dcb33b984cd0247d71ee Mon Sep 17 00:00:00 2001 From: Evan Orvis Date: Wed, 6 Dec 2023 15:11:34 -0500 Subject: [PATCH 4/5] Added cmake file or group 8 --- source/group_8_main.cmake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 source/group_8_main.cmake diff --git a/source/group_8_main.cmake b/source/group_8_main.cmake new file mode 100644 index 00000000..5853166e --- /dev/null +++ b/source/group_8_main.cmake @@ -0,0 +1,17 @@ +# Filename should match the application's, just swapping .cpp with .cmake +# Example: The CMake file for my_main.cpp would be my_main.cmake in the same directory + +# Here, add one .cpp per line. Only the strings should +add_source_to_target(${EXE_NAME} "source/Interfaces/MainInterface.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/TextureHolder.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Component.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Component.hpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Container.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Container.hpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Button.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Menu.cpp") +add_source_to_target(${EXE_NAME} "source/Worlds/BiomeGenerator.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/TextBox.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/MessageBoard.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Inventory.cpp") +add_source_to_target(${EXE_NAME} "source/Interfaces/Inventory.hpp") From f6f4b402e0a788f9616012c5f2c0c392943dc878 Mon Sep 17 00:00:00 2001 From: Evan Orvis Date: Wed, 6 Dec 2023 16:25:43 -0500 Subject: [PATCH 5/5] Changed Main file slightly --- source/group_3_main.cpp | 26 ++++++++++---------------- source/group_8_main.cpp | 8 +++----- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/source/group_3_main.cpp b/source/group_3_main.cpp index 18b23a10..27269f3f 100644 --- a/source/group_3_main.cpp +++ b/source/group_3_main.cpp @@ -42,7 +42,7 @@ int main() { daedricArmor->SetProperties("Health", 99, "Extra Inv. Space", 5); daedricArmor->SetPosition(5, 0); world_1.AddItem(std::move(daedricArmor)); - world_1.Run(); + // world_1.Run(); static const unsigned int SEED = 973; BiomeGenerator biomeGenerator(BiomeType::Maze, 110, 25, SEED); @@ -58,23 +58,17 @@ int main() { world_2.AddAgent("Pacer 2").SetPosition(6, 1); world_2.AddAgent("Interface2").SetProperty("symbol", '@'); - world_2.Run(); + // world_2.Run(); cse491_team8::ManualWorld world_3; - world_3.AddItem("Axe", "Chop", 5, "symbol", 'P').SetPosition(37, 3); - world_3.AddItem("Boat", "Swim", 7, "symbol", 'U').SetPosition(18, 4); - world_3.AddAgent("Interface3", "Strength", 15, "Health", 15, "Max_Health", 40, "Direction", - 0).SetProperty("symbol", '@').SetPosition(40, 3); - world_3.AddAgent("Pacer 1", "Strength", 30, "Health", 5, "Max_Health", 30, "Direction", - 0).SetPosition(45, 3); - world_3.AddAgent("Pacer 1", "Strength", 15, "Health", 10, "Max_Health", 30, "Direction", - 0).SetPosition(3, 14); - world_3.AddAgent("Pacer 2", "Strength", 20, "Health", 20, "Max_Health", 30, "Direction", - 0).SetPosition(7, 3); - world_3.AddAgent("Pacer 3", "Strength", 25, "Health", 30, "Max_Health", 30, "Direction", - 0).SetPosition(18, 3); - world_3.AddAgent("Pacer 4", "Strength", 30, "Health", 40, "Max_Health", 30, "Direction", - 0).SetPosition(45, 17); + world_3.AddItem("Axe", "Uses", 5, "symbol", 'P').SetPosition(37, 3); + world_3.AddItem("Boat", "Uses", 7, "symbol", 'U').SetPosition(18, 4); + world_3.AddAgent("Interface3").SetProperty("symbol", '@').SetPosition(40, 3); + world_3.AddAgent("Pacer 1").SetPosition(45, 3); + world_3.AddAgent("Pacer 1").SetPosition(3, 14); + world_3.AddAgent("Pacer 2").SetPosition(7, 3); + world_3.AddAgent("Pacer 3").SetPosition(18, 3); + world_3.AddAgent("Pacer 4").SetPosition(45, 17); world_3.GenerateMoveSets(); diff --git a/source/group_8_main.cpp b/source/group_8_main.cpp index 0482bf82..08efeab5 100644 --- a/source/group_8_main.cpp +++ b/source/group_8_main.cpp @@ -7,9 +7,8 @@ // Include the modules that we will be using. #include "Agents/PacingAgent.hpp" #include "Interfaces/MainInterface.hpp" -#include "Worlds/ManualWorld.hpp" -#include "Interfaces/MainInterface.hpp" #include "Interfaces/TrashInterface.hpp" +#include "Worlds/ManualWorld.hpp" #include "Agents/AStarAgent.hpp" int main() @@ -28,8 +27,8 @@ int main() world.AddItem("Health Potion", "Healing", 25, "symbol", 'j').SetPosition(38, 16); world.AddItem("Health Potion", "Healing", 30, "symbol", 'j').SetPosition(1, 18); - world.AddAgent("Interface", "symbol", '@').SetPosition(80, 63); - //world.AddAgent("Interface", "symbol", '@').SetPosition(80,63); + // world.AddAgent("Interface", "symbol", '@').SetPosition(80, 63); + world.AddAgent("Interface", "symbol", '@').SetPosition(80,63); world.AddAgent("Pacer 1").SetPosition(97, 45); world.AddAgent("Pacer 5").SetPosition(3,14); world.AddAgent("Pacer 2").SetPosition(7,30); @@ -50,7 +49,6 @@ int main() world.MoveSetAction(interface); world.GenerateMoveSets(); - // world.SetBattling(); world.Run();