game.lisp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. (defvar *player-ship*)
  2. (defvar *market*)
  3. (defun random-uniq-crew ()
  4. (let ((num-attr (random 10))
  5. (crew-mem (make-uniq-crew-mem)))))
  6. (defun init-game-state ()
  7. (progn
  8. (setq *market* (make-market :price-of-petrofuel 20
  9. :price-of-ammo 10
  10. :price-of-archeotech 1000
  11. :price-of-spice 50
  12. :price-of-gruel 5))
  13. (setq *player-ship* (make-player-ship :armor-val 10
  14. :rep-shield-val 10
  15. :warp-drive (list 1 5)
  16. :reactor-str 1
  17. :ammo 20
  18. :warp-field 1
  19. :weapons (list (make-weapon :name "Plamsa"
  20. :shield-dmg 3
  21. :hull-dmg 3
  22. :ammo-cost 5)
  23. (make-weapon :name "Mega Bolter"
  24. :shield-dmg 1
  25. :hull-dmg 2
  26. :ammo-cost 1)
  27. (make-weapon :name "Beam"
  28. :shield-dmg 1
  29. :hull-dmg 3
  30. :ammo-cost 3))
  31. :credits 1000
  32. :crew (make-crew :sanity-val 100
  33. :moral-val 100
  34. :crew-members (list (make-uniq-crew-mem)))
  35. :inventory (make-player-inventory :petrofuel 20
  36. :gruel 20
  37. :spice 0
  38. :ammo 20
  39. :archeotech 0)))))
  40. (defun new-game ()
  41. (progn
  42. (init-game-state)))
  43. (defun game-intro ()
  44. (cls)
  45. (format t "In the grim darkness of the far future, there is only COMMERCE...~C" #\linefeed)
  46. (sleep 2)
  47. (format t "You embark across a bleak galaxy to ply your wares and discover untold riches!~C" #\linefeed)
  48. (sleep 2)
  49. (format t *intro-ship*)
  50. (prompt-read ""))
  51. ;; Options for top level menu
  52. (defvar *top-level-options* "
  53. Actions:
  54. 1. Sector info
  55. 2. Ship info
  56. 3. Trade
  57. 4. Scout
  58. 5. Leave
  59. ")
  60. (defun top-level-game-menu ()
  61. (format t *top-level-options*)
  62. (let ((option (prompt-read "Enter an option: "))
  63. (cond ((eql option '"1") (print "1"))))))