STL vector un map, ienaidnieku AI ar NavigationAgent2D un A* algoritmu. Rezultāts - Top-down šautene ar gudru AI.
std::vector dinamiskam bultām sarakstam, push_back/erase, iterācija ar range-for.
std::map un std::unordered_map - atslēga→vērtība, spēles stāvokļa glabāšana.
PATROL → CHASE → ATTACK stāvokļu mašīna, enum stāvokļi, pārejas nosacījumi.
Godot NavigationAgent2D, A* algoritms, get_next_path_position(), navigācijas karte.
Bullet object pool - pārlieto objektus nevis veido jaunus, ieroču sistēma ar std::vector.
Ienaidnieki ar A* pathfinding, ieroču sistēma, viļņu pārvaldnieks, highscore ar std::map.
// std::vector - dinamisks masīvs
#include <vector>
std::vector<Bullet*> bullets;
bullets.push_back(new Bullet()); // pievieno
bullets.erase(bullets.begin() + i); // izdzēš
for (auto* b : bullets) b->update(); // iterē
// std::map - atslēga → vērtība
#include <map>
std::map<String, int> scores;
scores["Anna"] = 500;
scores["Janis"]++;
if (scores.count("Anna")) { ... } // pārbauda vai eksistē
// enemy_ai.cpp
void EnemyAI::_physics_process(double delta) {
auto* nav = get_node<NavigationAgent2D>("NavigationAgent2D");
nav->set_target_position(player->get_global_position());
if (nav->is_navigation_finished()) return;
Vector2 next = nav->get_next_path_position();
Vector2 dir = (next - get_global_position()).normalized();
set_velocity(dir * SPEED);
move_and_slide();
}