From 62d2646d4dbe4a3a35bd9b4449e5c5b67d36f233 Mon Sep 17 00:00:00 2001 From: El-BG-1970 Date: Thu, 4 Aug 2022 18:47:24 +0200 Subject: implemented game:get profit --- src/game.lisp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/game.lisp') diff --git a/src/game.lisp b/src/game.lisp index 51c3a4d..979e4e2 100644 --- a/src/game.lisp +++ b/src/game.lisp @@ -3,7 +3,9 @@ (:export :new-game :buy-item :sell-item - :change-zone)) + :change-zone + :get-profit + :get-profit-in-zone)) (in-package :game) @@ -40,3 +42,16 @@ zones))) (when z (setq cur-zone z))))) + +(defmethod get-profit-in-zone ((g game) name zone) + (with-slots (player) g + (let ((player-item (car (player:find-item player name))) + (zone-item (zone:get-commodity zone name))) + (if (and player-item zone-item) + (- (commodities:price zone-item) + (commodities:price player-item)) + 0)))) + +(defmethod get-profit ((g game) name) + (with-slots (cur-zone) g + (get-profit-in-zone g name cur-zone))) -- cgit v1.2.3