let afficher_plateau (mon_plateau : Resolution.plateau ) =
let (c, n, m, p) = (mon_plateau.c, mon_plateau.n, mon_plateau.m, mon_plateau.p) in
(** p est une matrice de pièce *) |
(* On construit le quadrillage : fonction bijective (i,j) -> (x_i, y_j) qui indique les points ou tracer les pièces du plateau. *)
let s = taille_piece in
(** Largeur d'une pièce. Attention, cela implique qu'on ne sait pas tracer des plateaux trop gros. On va créer une fenètre 1000x700, donc on ne peut afficher que 14 x 14 pièces. *) |
if (m > (resolution_x / (2*taille_piece - 1))) then raise Erreur_trop_grand_h;
if (n > (resolution_y / (2*taille_piece - 1))) then raise Erreur_trop_grand_v;
let quadrillage ~i ~j =
((1 + (2*s+4)*i ),(1 + (2*s+4)*j ));
in
(** On initialise la fenètre. *) |
init_fenetre ~x:resolution_x ~y:resolution_y ();
Graphics.moveto 0 0;
(** Puis on trace chaque pièce. *) |
for i = 0 to (m-1) do
for j = 0 to (n-1) do
afficher_piece_option ~x:(10 + (2*s+4)*i ) ~y:(10 + (2*s+4)*j ) ~p:(p.(i).(j)) ~s:s ~c:c;
done;
done;
(** On pourrait raffiner en écrivant quelques infos dans le titre de la fenètre.. a voir ! *) |
()