| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- (defvar *player-ship*)
- (defvar *market*)
- (defun random-uniq-crew ()
- (let ((num-attr (random 10))
- (crew-mem (make-uniq-crew-mem)))))
-
- (defun init-game-state ()
- (progn
- (setq *market* (make-market :price-of-petrofuel 20
- :price-of-ammo 10
- :price-of-archeotech 1000
- :price-of-spice 50
- :price-of-gruel 5))
- (setq *player-ship* (make-player-ship :armor-val 10
- :rep-shield-val 10
- :warp-drive (list 1 5)
- :reactor-str 1
- :ammo 20
- :warp-field 1
- :weapons (list (make-weapon :name "Plamsa"
- :shield-dmg 3
- :hull-dmg 3
- :ammo-cost 5)
- (make-weapon :name "Mega Bolter"
- :shield-dmg 1
- :hull-dmg 2
- :ammo-cost 1)
- (make-weapon :name "Beam"
- :shield-dmg 1
- :hull-dmg 3
- :ammo-cost 3))
- :credits 1000
- :crew (make-crew :sanity-val 100
- :moral-val 100
- :crew-members (list (make-uniq-crew-mem)))
- :inventory (make-player-inventory :petrofuel 20
- :gruel 20
- :spice 0
- :ammo 20
- :archeotech 0)))))
- (defun new-game ()
- (progn
- (init-game-state)))
- (defun game-intro ()
- (cls)
- (format t "In the grim darkness of the far future, there is only COMMERCE...~C" #\linefeed)
- (sleep 2)
- (format t "You embark across a bleak galaxy to ply your wares and discover untold riches!~C" #\linefeed)
- (sleep 2)
- (format t *intro-ship*)
- (prompt-read ""))
- ;; Options for top level menu
- (defvar *top-level-options* "
- Actions:
- 1. Sector info
- 2. Ship info
- 3. Trade
- 4. Scout
- 5. Leave
- ")
- (defun top-level-game-menu ()
- (format t *top-level-options*)
- (let ((option (prompt-read "Enter an option: "))
- (cond ((eql option '"1") (print "1"))))))
|