blob: 37d015b3696f8e8dabde9c5554e48238f19bf1e2 (
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
50
51
52
53
54
55
56
57
58
59
|
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 = 1
let n = 3
let ratio = Float.(to_int (pow 3.0 (of_int n)))
let print_arr arr =
Format.printf "@[<v>%a@]@." (Format.pp_print_array Format.pp_print_int) arr
let () = print_arr (Aoo.Roll.build_frequencies n)
(* Calcule les probabilités de toucher contre les 10 prochains niveaux *)
let compare_result = Aoo.Roll.compare 9 1
let () =
Format.printf "%.4f - %s\n"
(compare_result |> Q.to_float)
(compare_result |> Q.to_string)
let env : Aoo.Build.env =
{
cost_max = 1800
; max_tours = 5
; cout_sort = 8
; degat_sort = 6
; fm_oponent
; frequencies = Aoo.Build.buil_freq_table 9 fm_oponent
}
(* 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 score1 = Aoo.Build.score env default
let cost1 = Aoo.Build.cost default
let () = print_endline @@ Printf.sprintf "Score du build : %f" score1
let build3 = { default with fm = Aoo.Carac.incr ~step:1 fm }
let score3 = Aoo.Build.score env build3
let cost3 = Aoo.Build.cost build3
let () = print_endline @@ Printf.sprintf "Score du build : %f" score3
let () = print_endline @@ Printf.sprintf "%b" (score1 = score3)
let () = print_endline @@ Printf.sprintf "%b" (cost1 < cost3)
(*
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
*)
|