diff --git a/adventure.pl b/adventure.pl index 6813015..e320651 100644 --- a/adventure.pl +++ b/adventure.pl @@ -1,6 +1,8 @@ -% SkyNet: Flügel der Täuschung - Enhanced Version +% SkyNet: The Wings of Deception % Von Zsombor Matyas und Jonas Hinterdorfer +:- include('game_assets/locations.pl'). + % ========== GAME STATE ========== :- dynamic(player_location/1). :- dynamic(player_health/1). @@ -56,51 +58,6 @@ init_game :- % Initialize obstacles init_obstacles. -% ========== LOCATIONS ========== -location(htl_labor, 'HTL Cybersicherheitslabor', - 'Ein modernes Computerlabor mit High-Tech Ausstattung. Hier hast du die Wahrheit über die Drohnen entdeckt.'). - -location(altstadt, 'Linzer Altstadt', - 'Enge Gassen und alte Gebäude. Perfekt für Parkour, aber voller lauernder Gefahren.'). - -location(donauufer, 'Donauufer Industriegebiet', - 'Verlassene Fabrikhallen und Lagerhäuser. Schwer bewacht von Storch-Drohnen.'). - -location(poestlingberg, 'Pöstlingberg Überwachungsturm', - 'Ein alter Turm, umgebaut zur Drohnen-Kommandozentrale. Hier werden alle Signale koordiniert.'). - -location(aviary_hq, 'Aviary HQ Wolkenkratzer', - 'Das Hauptquartier der Verschwörung. Ein Glasbau, der die ganze Stadt überblickt.'). - -location(htl_werkstatt, 'HTL Leonding Werkstatt', - 'Eine gut ausgestattete Elektronikwerkstatt. Hier kannst du komplexe Geräte bauen.'). - -% Location connections -connected(htl_werkstatt, htl_labor). -connected(htl_labor, htl_werkstatt). -connected(htl_labor, altstadt). -connected(altstadt, htl_labor). -connected(altstadt, donauufer). -connected(donauufer, altstadt). -connected(donauufer, poestlingberg). -connected(poestlingberg, donauufer). -connected(poestlingberg, aviary_hq). -connected(aviary_hq, poestlingberg). - -% ========== OBSTACLES ========== -init_obstacles :- - % Obstacle between altstadt and donauufer - assertz(obstacle(altstadt, donauufer, hohe_mauer)), - assertz(obstacle(donauufer, altstadt, hohe_mauer)), - - % Obstacle between donauufer and poestlingberg - assertz(obstacle(donauufer, poestlingberg, drone_swarm)), - assertz(obstacle(poestlingberg, donauufer, drone_swarm)), - - % Obstacle to aviary_hq - assertz(obstacle(poestlingberg, aviary_hq, security_system)), - assertz(obstacle(aviary_hq, poestlingberg, security_system)). - % ========== ITEMS ========== item(laptop, 'Laptop', 'Dein vertrauter Laptop mit Hacking-Software.'). item(emp_granate, 'EMP-Granate', 'Eine elektromagnetische Impulsgranate gegen elektrische Systeme.'). diff --git a/game_assets/locations.pl b/game_assets/locations.pl new file mode 100644 index 0000000..e5d826a --- /dev/null +++ b/game_assets/locations.pl @@ -0,0 +1,44 @@ +% ========== LOCATIONS ========== +location(htl_labor, 'HTL Cybersicherheitslabor', + 'Ein modernes Computerlabor mit High-Tech Ausstattung. Hier hast du die Wahrheit über die Drohnen entdeckt.'). + +location(altstadt, 'Linzer Altstadt', + 'Enge Gassen und alte Gebäude. Perfekt für Parkour, aber voller lauernder Gefahren.'). + +location(donauufer, 'Donauufer Industriegebiet', + 'Verlassene Fabrikhallen und Lagerhäuser. Schwer bewacht von Storch-Drohnen.'). + +location(poestlingberg, 'Pöstlingberg Überwachungsturm', + 'Ein alter Turm, umgebaut zur Drohnen-Kommandozentrale. Hier werden alle Signale koordiniert.'). + +location(aviary_hq, 'Aviary HQ Wolkenkratzer', + 'Das Hauptquartier der Verschwörung. Ein Glasbau, der die ganze Stadt überblickt.'). + +location(htl_werkstatt, 'HTL Leonding Werkstatt', + 'Eine gut ausgestattete Elektronikwerkstatt. Hier kannst du komplexe Geräte bauen.'). + +% Location connections +connected(htl_werkstatt, htl_labor). +connected(htl_labor, htl_werkstatt). +connected(htl_labor, altstadt). +connected(altstadt, htl_labor). +connected(altstadt, donauufer). +connected(donauufer, altstadt). +connected(donauufer, poestlingberg). +connected(poestlingberg, donauufer). +connected(poestlingberg, aviary_hq). +connected(aviary_hq, poestlingberg). + +% ========== OBSTACLES ========== +init_obstacles :- + % Obstacle between altstadt and donauufer + assertz(obstacle(altstadt, donauufer, hohe_mauer)), + assertz(obstacle(donauufer, altstadt, hohe_mauer)), + + % Obstacle between donauufer and poestlingberg + assertz(obstacle(donauufer, poestlingberg, drone_swarm)), + assertz(obstacle(poestlingberg, donauufer, drone_swarm)), + + % Obstacle to aviary_hq + assertz(obstacle(poestlingberg, aviary_hq, security_system)), + assertz(obstacle(aviary_hq, poestlingberg, security_system)).