summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2020-01-21 20:29:15 -0500
committerrsiddharth <s@ricketyspace.net>2020-01-21 20:29:15 -0500
commit0b0add81b068721aa92ce612d2c16588499f6e7b (patch)
tree44b9cbe39a4edd2b27ad90bc0718be2081a8ebbe
parentf7527e7f25aca14017d6d230772dabe88c5f215f (diff)
net: Update ror/twelve.
Add AI step through.
-rw-r--r--net/ricketyspace/ror/twelve/source.rkt18
1 files changed, 12 insertions, 6 deletions
diff --git a/net/ricketyspace/ror/twelve/source.rkt b/net/ricketyspace/ror/twelve/source.rkt
index 223fe01..70d83b4 100644
--- a/net/ricketyspace/ror/twelve/source.rkt
+++ b/net/ricketyspace/ror/twelve/source.rkt
@@ -182,7 +182,7 @@
"← and → to move among territories, <enter> to mark, <d> to unmark, and <p> to pass")
(define AI-TURN "It's the Mighty AI's turn")
(define YOUR-TURN "It's your turn")
-(define INFO-X-OFFSET 100)
+(define INFO-X-OFFSET 180)
(define INFO-Y-OFFSET 50)
(define INSTRUCTIONS (text INSTRUCT TEXT-SIZE TEXT-COLOR))
@@ -242,7 +242,9 @@
;; DiceWorld Key -> DiceWorld
;; Handles key events from a player
(define (interact-with-board w k)
- (cond [(key=? "left" k)
+ (cond [(= (game-player (dice-world-gt w)) AI)
+ (ai-step-through w)]
+ [(key=? "left" k)
(refocus-board w left)]
[(key=? "right" k)
(refocus-board w right)]
@@ -695,7 +697,7 @@
(find-territory target))
#:precision 2))
TEXT-SIZE TEXT-COLOR)
- (- WIDTH 150) 100 s)
+ (- WIDTH 170) 100 s)
s))
;; DiceWorld Scene -> Scene
@@ -831,9 +833,13 @@
(define ratings (rate-moves tree AI-DEPTH))
(define the-move (first (argmax second ratings)))
(define new-tree (move-gt the-move))
- (if (= (game-player new-tree) AI)
- (the-ai-plays new-tree)
- new-tree))
+ new-tree)
+
+;; DiceWold -> DiceWorld
+;; Executes AI's turn.
+(define (ai-step-through w)
+ (define new-gt (the-ai-plays (dice-world-gt w)))
+ (dice-world #f (game-board new-gt) new-gt))
;; GameTree Natural -> [List-of (List Move Number)]
;; assigns a value to each move that is being considered