share random state
This commit is contained in:
parent
0377fab55b
commit
1496ff7931
1 changed files with 6 additions and 2 deletions
|
|
@ -42,6 +42,7 @@ type t =
|
|||
; mutable wheat : int
|
||||
; player : [ `F ] Entity.t
|
||||
; tbl : Entity.tbl
|
||||
; random_state : Random.State.t
|
||||
}
|
||||
|
||||
let init () =
|
||||
|
|
@ -53,7 +54,7 @@ let init () =
|
|||
in
|
||||
()
|
||||
done;
|
||||
{ map; wheat = 0; player = Entity.make_fairy ~x:0 ~y:0 tbl; tbl }
|
||||
{ map; wheat = 0; player = Entity.make_fairy ~x:0 ~y:0 tbl; tbl; random_state = Random.get_state ()}
|
||||
|
||||
type action =
|
||||
| Meditate
|
||||
|
|
@ -153,6 +154,9 @@ let perform_action state = function
|
|||
()
|
||||
|
||||
let auto_update state =
|
||||
(* set Random state for server and client *)
|
||||
Random.set_state state.random_state;
|
||||
|
||||
(* mut state *)
|
||||
begin
|
||||
match check_action state Meditate with
|
||||
|
|
@ -164,7 +168,7 @@ let auto_update state =
|
|||
|
||||
let auto_update_rate = Time.mk_s 1
|
||||
|
||||
let pp fmt { wheat; player; map; tbl } =
|
||||
let pp fmt { wheat; player; map; tbl ; _} =
|
||||
(* TODO coercion huuuu *)
|
||||
let (Fairy player) = player in
|
||||
let player = Entity.Fairy player in
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue