X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=mudsync%2Fplayer.scm;h=fece716dbe415d45f0073dedb8e6cfa70eeaa384;hp=340fa3d7c16a0cfec98a630382ff38fcea20b4fb;hb=136ce3b725c83af0b7e8be632e943de6b07b65c5;hpb=c3e788ae7726f7e52a62ffeb30254bfa0f0da7cb
diff --git a/mudsync/player.scm b/mudsync/player.scm
index 340fa3d..fece716 100644
--- a/mudsync/player.scm
+++ b/mudsync/player.scm
@@ -17,13 +17,17 @@
;;; along with Mudsync. If not, see .
(define-module (mudsync player)
+ #:use-module (mudsync command)
#:use-module (mudsync gameobj)
#:use-module (mudsync game-master)
+ #:use-module (mudsync parser)
#:use-module (8sync systems actors)
#:use-module (8sync agenda)
#:use-module (ice-9 format)
#:use-module (oop goops)
- #:export ())
+ #:use-module (srfi srfi-1)
+ #:export (
+ player-self-commands))
;;; Players
;;; =======
@@ -58,6 +62,17 @@
(define-mhandler (player-handle-input player message input)
+ (define split-input (split-verb-and-rest input))
+ (define input-verb (pk 'input-verb (car split-input)))
+ (define input-rest (pk 'input-rest (cdr split-input)))
+
+ (define command-candidates
+ (pk 'candidates
+ (player-gather-command-handlers player input-verb)))
+
+ (define winner
+ (pk 'winner (find-command-winner command-candidates input-rest)))
+
(<- player (gameobj-gm player) 'write-home
#:text
(format #f "<~a>: ~s\n"
@@ -80,3 +95,6 @@
(format #f "**~a**\n~a\n" room-name room-desc))
(<- player (gameobj-gm player) 'write-home #:text message-text))
+
+
+