mirror of
https://github.com/JonasHinterdorfer/TextAdventure.git
synced 2025-10-26 03:41:10 +00:00
31 lines
970 B
Prolog
31 lines
970 B
Prolog
% ========== INVENTORY MANAGEMENT ==========
|
|
take_item(ItemName) :-
|
|
player_location(Loc),
|
|
item_location(ItemName, Loc),
|
|
retract(item_location(ItemName, Loc)),
|
|
assertz(player_inventory(ItemName)),
|
|
item(ItemName, DisplayName, _),
|
|
write('Du nimmst '), write(DisplayName), write(' auf.'), nl,
|
|
!.
|
|
|
|
take_item(_) :-
|
|
write('Diesen Gegenstand kannst du hier nicht finden.'), nl.
|
|
|
|
use_item(ItemName) :-
|
|
player_inventory(ItemName),
|
|
execute_item_use(ItemName),
|
|
!.
|
|
|
|
use_item(_) :-
|
|
write('Du hast diesen Gegenstand nicht oder kannst ihn nicht verwenden.'), nl.
|
|
|
|
show_inventory :-
|
|
write('Dein Inventar:'), nl,
|
|
findall(Item, player_inventory(Item), Items),
|
|
(Items = [] -> write('Dein Inventar ist leer.') ; list_inventory_items(Items)), nl.
|
|
|
|
list_inventory_items([]).
|
|
list_inventory_items([H|T]) :-
|
|
item(H, DisplayName, Desc),
|
|
write('- '), write(DisplayName), write(': '), write(Desc), nl,
|
|
list_inventory_items(T). |