Fixing auto-skip in harvest and adding restart-game.
This commit is contained in:
@@ -1111,7 +1111,10 @@ class Die extends React.Component {
|
||||
return roll;
|
||||
}
|
||||
|
||||
tick() {
|
||||
tick = () => {
|
||||
let finished = false;
|
||||
return function() {
|
||||
if (!finished) {
|
||||
this.acc += this.interval;
|
||||
// update die face
|
||||
if (this.ticks < this.maxTicks && this.acc >= this.trigger) {
|
||||
@@ -1124,6 +1127,7 @@ class Die extends React.Component {
|
||||
}
|
||||
// we're finished, clear things, set final roll value
|
||||
if (this.ticks >= this.maxTicks) {
|
||||
finished = true;
|
||||
clearInterval(this.timerId);
|
||||
this.timerId = false;
|
||||
this.setState({ num: this.props.num, finalFace: true });
|
||||
@@ -1138,11 +1142,15 @@ class Die extends React.Component {
|
||||
this.setState({ num: this.roll() });
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log('harvest die finished but still ticking');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
if (this.props.roll) {
|
||||
this.timerId = setInterval(() => this.tick(), this.interval);
|
||||
this.timerId = setInterval(this.tick().bind(this), this.interval);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -418,6 +418,17 @@
|
||||
;; (print "</body></html>")))
|
||||
)
|
||||
|
||||
(define (restart-game game first-player)
|
||||
(safe-set! (game-called-audit game) #f)
|
||||
(safe-set! (game-state game) 'playing)
|
||||
(for-each (lambda (p)
|
||||
(safe-set! (player-finished p) #f)
|
||||
(safe-set! (player-state p) 'turn-ended))
|
||||
(game-players game))
|
||||
(safe-set! (player-state first-player) 'pre-turn)
|
||||
(safe-set! (game-current-player game) first-player)
|
||||
(message-players! game #f '() type: "update"))
|
||||
|
||||
(define-method (player->list (p <player>))
|
||||
`((player . ((assets . ,(player-assets p))
|
||||
(ridges . ,(player-ridges p))
|
||||
@@ -1190,14 +1201,15 @@
|
||||
(player (add-player-to-game game
|
||||
color
|
||||
(alist-ref 'playerName msg)))
|
||||
(ai-player (add-ai-to-game game 'red "AI Player 1")))
|
||||
;; (ai-player (add-ai-to-game game 'red "AI Player 1"))
|
||||
)
|
||||
(push! game (app-games *app*))
|
||||
(session-set! (sid) 'player player)
|
||||
(session-set! (sid) 'game game)
|
||||
(*game* game)
|
||||
(set-startup-otbs game player 2)
|
||||
(set-startup-otbs game ai-player 2)
|
||||
(thread-start! (make-ai-push-receiver game ai-player))
|
||||
;; (set-startup-otbs game ai-player 2)
|
||||
;; (thread-start! (make-ai-push-receiver game ai-player))
|
||||
(create-start-response "new-game-started")))
|
||||
((string=? type "join-game")
|
||||
(let* ((name (alist-ref 'gameName msg))
|
||||
@@ -2099,9 +2111,6 @@
|
||||
;; info actions should look better
|
||||
;; you can get $50 from operating expense
|
||||
|
||||
;; auto-skip loop
|
||||
;; harvester / tractor don't say total price
|
||||
|
||||
;; mark spaces
|
||||
|
||||
;; error:
|
||||
@@ -2148,6 +2157,4 @@
|
||||
|
||||
;; Error: (assv) bad argument type: #<coops instance of `<game>'>
|
||||
|
||||
;; auto-skip loop wtih harvest
|
||||
|
||||
;; when getting trade the name is wrong
|
||||
|
||||
Reference in New Issue
Block a user