aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--game.ml12
1 files changed, 6 insertions, 6 deletions
diff --git a/game.ml b/game.ml
index de26555..25eb096 100644
--- a/game.ml
+++ b/game.ml
@@ -17,20 +17,20 @@ type slot = {
mutable field: lambda
}
;;
+
let player0 = Array.init 256 (fun _ -> {vitality = 10000; field = id})
let player1 = Array.init 256 (fun _ -> {vitality = 10000; field = id})
-
+let card_count = ref(0)
let proponent = ref player0
let opponent = ref player1
-let zero = Const 0
+let zero = count:=!count+1;Const 0
let succ = Lambda(fun a -> match a with
- |Const n -> if n < 65535 then Const (n+1) else Const n
- |_ -> raise( Rule_error "not an integer"))
+ |Const n -> if n < 65535 then count:=!count+1; Const (n+1) else count:=!count+1; Const n
+ |_ -> raise( Rule_error "not an integer"))
let dbl = Lambda(fun a -> match a with
- |Const n -> if n<32768 then Const(2*n) else Const n
+ |Const n -> if n<32768 then count:=!count+1; Const(2*n) else count:=!count+1; Const n
|_ -> raise( Rule_error "not an integer"))
-
let get = Lambda(fun a -> match a with
|(Const i) -> if !proponent.(i).vitality > 0 then !proponent.(i).field else raise( Rule_error "not a valid slot number")
|_ -> raise( Rule_error "not an integer" ))