open Util type cellKind = Clear | RedHill | BlackHill | Rock | Food of int type t = { kind : cellKind; mutable food : int; mutable markRed : bool array; mutable markBlack : bool array; mutable ant : Ant.t maybe; } let make k = { kind = k; food = (match k with Food f -> f | _ -> 0); markRed = Array.make 6 false; markBlack = Array.make 6 false; ant = Nothing; } let readKind c = match c with '.' -> Clear | '-' -> BlackHill | '+' -> RedHill | '#' -> Rock | '0' .. '9' -> Food (Char.code c - Char.code '0') | _ -> invalid_arg "readCell"