share random state

This commit is contained in:
Swrup 2023-07-18 00:29:31 +02:00
parent 0377fab55b
commit 1496ff7931

View file

@ -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