aboutsummaryrefslogtreecommitdiff
path: root/calculette_aoo/bin/main.ml
blob: c738cd75d651140e804b281730d295c52d853f9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
let cout_a = (800, 200, 100)
let cout_m = (110, 55, 35)
let cout_rm = (50, 40, 20)
let cout_pm = (5, 3, 1)
let cout_fm = (100, 50, 30)
let fm_oponent = 10

let env : Aoo.Build.env =
  {
    cost_max = 1800
  ; max_tours = 5.0
  ; cout_sort = 8
  ; degat_sort = 6
  ; fm_oponent
  ; frequencies = Aoo.Build.buil_freq_table 9 fm_oponent
  }

(*
let () = Random.self_init ()

let roll_and_accumulate dices =
  Seq.repeat () |> Seq.take dices
  |> Seq.fold_left (fun res _ -> res + (1 + Random.int 6)) 0

let delta_carac level =
  Seq.repeat () |> Seq.take 1000000
  |> Seq.fold_left
       (fun acc _ ->
         if roll_and_accumulate level > roll_and_accumulate (level - 2) then acc
         else acc + 1)
       0
*)

(* Définition des caractéristiques *)
let a = Aoo.Carac.create 2 cout_a
let m = Aoo.Carac.create 5 cout_m
let rm = Aoo.Carac.create 7 cout_rm
let pm = Aoo.Carac.create 40 cout_pm
let fm = Aoo.Carac.create 9 cout_fm
let default = Aoo.Build.{ a; m; rm; pm; fm }

let () =
  let build =
    Aoo.Build.traverse env
      (Aoo.Build.cost default, Aoo.Build.score env default)
      (Aoo.Build.upgrade env default)
  in

  Aoo.Build.repr env Format.std_formatter build