mirror of
https://github.com/JonasHinterdorfer/TextAdventure.git
synced 2025-10-26 11:51:11 +00:00
Fixed a dying bug
This commit is contained in:
parent
63cdc7aea8
commit
fd44e935ba
50
adventure.pl
50
adventure.pl
@ -823,7 +823,7 @@ climb_action :-
|
|||||||
climb_action :-
|
climb_action :-
|
||||||
write('Hier gibt es nichts zum Klettern.'), nl.
|
write('Hier gibt es nichts zum Klettern.'), nl.
|
||||||
|
|
||||||
%Parkour-Migigames
|
% ========== PARKOUR-MINIGAMES ==========
|
||||||
parkour_minigame_altstadt :-
|
parkour_minigame_altstadt :-
|
||||||
write('Sequenz-Challenge: Wiederhole die Bewegungsfolge!'), nl,
|
write('Sequenz-Challenge: Wiederhole die Bewegungsfolge!'), nl,
|
||||||
random_member(Sequence, [[sprung, rolle, kletter], [rolle, sprung, balance], [kletter, sprung, rolle]]),
|
random_member(Sequence, [[sprung, rolle, kletter], [rolle, sprung, balance], [kletter, sprung, rolle]]),
|
||||||
@ -975,7 +975,11 @@ trigger_location_event(_).
|
|||||||
% ========== GAME STATE MANAGEMENT ==========
|
% ========== GAME STATE MANAGEMENT ==========
|
||||||
check_game_state :-
|
check_game_state :-
|
||||||
player_health(Health),
|
player_health(Health),
|
||||||
(Health =< 0 -> end_game(defeat) ; true).
|
(Health =< 0 ->
|
||||||
|
(retractall(in_combat(_)),
|
||||||
|
end_game(defeat),
|
||||||
|
!, fail) ;
|
||||||
|
true).
|
||||||
|
|
||||||
show_status :-
|
show_status :-
|
||||||
player_health(Health),
|
player_health(Health),
|
||||||
@ -1003,7 +1007,8 @@ final_choice :-
|
|||||||
write('3) Das System hacken und die Kontrolle übernehmen'), nl,
|
write('3) Das System hacken und die Kontrolle übernehmen'), nl,
|
||||||
write('Deine Wahl (1-3): '),
|
write('Deine Wahl (1-3): '),
|
||||||
read(Choice),
|
read(Choice),
|
||||||
handle_final_choice(Choice).
|
handle_final_choice(Choice),
|
||||||
|
game_over_menu.
|
||||||
|
|
||||||
handle_final_choice(1) :-
|
handle_final_choice(1) :-
|
||||||
write('Du entscheidest dich für das ultimative Opfer...'), nl,
|
write('Du entscheidest dich für das ultimative Opfer...'), nl,
|
||||||
@ -1051,8 +1056,7 @@ end_game(heroic_sacrifice) :-
|
|||||||
write('Die Menschen von Linz und der ganzen Welt sind frei!'), nl,
|
write('Die Menschen von Linz und der ganzen Welt sind frei!'), nl,
|
||||||
write('Du hast dein Leben für die Freiheit der Menschheit geopfert.'), nl,
|
write('Du hast dein Leben für die Freiheit der Menschheit geopfert.'), nl,
|
||||||
write('Du wirst als Held in Erinnerung bleiben!'), nl,
|
write('Du wirst als Held in Erinnerung bleiben!'), nl,
|
||||||
write('ENDE: Der ultimative Held'), nl,
|
write('ENDE: Der ultimative Held'), nl.
|
||||||
halt.
|
|
||||||
|
|
||||||
end_game(dark_ruler) :-
|
end_game(dark_ruler) :-
|
||||||
clear_screen,
|
clear_screen,
|
||||||
@ -1062,8 +1066,7 @@ end_game(dark_ruler) :-
|
|||||||
write('Aber auch keine Freiheit, keine Privatsphäre, keine Menschlichkeit.'), nl,
|
write('Aber auch keine Freiheit, keine Privatsphäre, keine Menschlichkeit.'), nl,
|
||||||
write('Du sitzt auf einem Thron aus Überwachung und Kontrolle.'), nl,
|
write('Du sitzt auf einem Thron aus Überwachung und Kontrolle.'), nl,
|
||||||
write('Die Welt ist "sicher" - aber zu welchem Preis?'), nl,
|
write('Die Welt ist "sicher" - aber zu welchem Preis?'), nl,
|
||||||
write('ENDE: Der neue Überwacher'), nl,
|
write('ENDE: Der neue Überwacher'), nl.
|
||||||
halt.
|
|
||||||
|
|
||||||
end_game(master_hacker_victory) :-
|
end_game(master_hacker_victory) :-
|
||||||
clear_screen,
|
clear_screen,
|
||||||
@ -1074,8 +1077,7 @@ end_game(master_hacker_victory) :-
|
|||||||
write('und überwachen nur noch wirkliche Bedrohungen.'), nl,
|
write('und überwachen nur noch wirkliche Bedrohungen.'), nl,
|
||||||
write('Du hast die perfekte Balance zwischen Sicherheit und Freiheit geschaffen!'), nl,
|
write('Du hast die perfekte Balance zwischen Sicherheit und Freiheit geschaffen!'), nl,
|
||||||
write('Die Welt ist in eine neue Ära des technologischen Friedens eingetreten.'), nl,
|
write('Die Welt ist in eine neue Ära des technologischen Friedens eingetreten.'), nl,
|
||||||
write('ENDE: Der Meister-Hacker (Geheimes Ende)'), nl,
|
write('ENDE: Der Meister-Hacker (Geheimes Ende)'), nl.
|
||||||
halt.
|
|
||||||
|
|
||||||
end_game(hack_failure) :-
|
end_game(hack_failure) :-
|
||||||
clear_screen,
|
clear_screen,
|
||||||
@ -1084,8 +1086,7 @@ end_game(hack_failure) :-
|
|||||||
write('Sicherheitsdrohnen umzingeln dich!'), nl,
|
write('Sicherheitsdrohnen umzingeln dich!'), nl,
|
||||||
write('Du wurdest gefangen genommen und das System läuft weiter...'), nl,
|
write('Du wurdest gefangen genommen und das System läuft weiter...'), nl,
|
||||||
write('GAME OVER'), nl,
|
write('GAME OVER'), nl,
|
||||||
write('Vielleicht gibt es einen anderen Weg... einen geheimen Code?'), nl,
|
write('Vielleicht gibt es einen anderen Weg... einen geheimen Code?'), nl.
|
||||||
write('Möchtest du es nochmal versuchen? Tippe "start_game." um neu zu beginnen.'), nl.
|
|
||||||
|
|
||||||
end_game(defeat) :-
|
end_game(defeat) :-
|
||||||
clear_screen,
|
clear_screen,
|
||||||
@ -1093,7 +1094,32 @@ end_game(defeat) :-
|
|||||||
write('Du wurdest von den Drohnen überwältigt.'), nl,
|
write('Du wurdest von den Drohnen überwältigt.'), nl,
|
||||||
write('Die Wahrheit bleibt für immer begraben...'), nl,
|
write('Die Wahrheit bleibt für immer begraben...'), nl,
|
||||||
write('GAME OVER'), nl,
|
write('GAME OVER'), nl,
|
||||||
write('Möchtest du es nochmal versuchen? Tippe "start_game." um neu zu beginnen.'), nl.
|
game_over_menu.
|
||||||
|
|
||||||
|
game_over_menu :-
|
||||||
|
nl,
|
||||||
|
write('=== SPIEL BEENDET ==='), nl,
|
||||||
|
write('Möchtest du nochmal spielen?'), nl,
|
||||||
|
write('1) Ja - Neues Spiel starten'), nl,
|
||||||
|
write('2) Nein - Program beenden'), nl,
|
||||||
|
write('Deine Wahl (1 oder 2): '),
|
||||||
|
read(Choice),
|
||||||
|
handle_game_over_choice(Choice).
|
||||||
|
|
||||||
|
handle_game_over_choice(1) :-
|
||||||
|
nl,
|
||||||
|
write('Startet neues Spiel...'), nl,
|
||||||
|
nl,
|
||||||
|
start_game.
|
||||||
|
|
||||||
|
handle_game_over_choice(2) :-
|
||||||
|
write('Auf Wiedersehen! Die Wahrheit muss ans Licht...'), nl,
|
||||||
|
halt.
|
||||||
|
|
||||||
|
handle_game_over_choice(_) :-
|
||||||
|
write('Ungültige Wahl! Bitte wähle 1, 2 oder 3.'), nl,
|
||||||
|
game_over_menu.
|
||||||
|
|
||||||
|
|
||||||
% ========== UTILITY PREDICATES ==========
|
% ========== UTILITY PREDICATES ==========
|
||||||
get_random_damage(Damage) :-
|
get_random_damage(Damage) :-
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user