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
|
; mutable wheat : int
|
||||||
; player : [ `F ] Entity.t
|
; player : [ `F ] Entity.t
|
||||||
; tbl : Entity.tbl
|
; tbl : Entity.tbl
|
||||||
|
; random_state : Random.State.t
|
||||||
}
|
}
|
||||||
|
|
||||||
let init () =
|
let init () =
|
||||||
|
|
@ -53,7 +54,7 @@ let init () =
|
||||||
in
|
in
|
||||||
()
|
()
|
||||||
done;
|
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 =
|
type action =
|
||||||
| Meditate
|
| Meditate
|
||||||
|
|
@ -153,6 +154,9 @@ let perform_action state = function
|
||||||
()
|
()
|
||||||
|
|
||||||
let auto_update state =
|
let auto_update state =
|
||||||
|
(* set Random state for server and client *)
|
||||||
|
Random.set_state state.random_state;
|
||||||
|
|
||||||
(* mut state *)
|
(* mut state *)
|
||||||
begin
|
begin
|
||||||
match check_action state Meditate with
|
match check_action state Meditate with
|
||||||
|
|
@ -164,7 +168,7 @@ let auto_update state =
|
||||||
|
|
||||||
let auto_update_rate = Time.mk_s 1
|
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 *)
|
(* TODO coercion huuuu *)
|
||||||
let (Fairy player) = player in
|
let (Fairy player) = player in
|
||||||
let player = Entity.Fairy player in
|
let player = Entity.Fairy player in
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue