Module Gui


module Gui: sig  end
Interface graphique pour le jeu same game.


val gr_unit : int
Unité de longueur.
val gr_incr : int Pervasives.ref -> unit
Incrément d'une unité gr_unit.


Position et taille du tableau de jeu.


val gb_width : int
Largeur (en pixels).
val gb_height : int
Hauteur (en pixels).


Définition des boutons.



type bt_descr = {
   x0 : int;
   y0 : int;
   width : int;
   height : int;
   color : Graphics.color;
   label : string;
}
Structure descriptive d'un bouton.

val next_bt : bt_descr
Bouton "next": activé pour effacer une sélection ou jouer une nouvelle partie.
val quit_bt : bt_descr
Bouton "quit": activé pour quitter le jeu.


Taille de la fenêtre graphique.


val gw_width : int
val gw_height : int


Interaction.


val is_in_rect : int * int -> int -> int -> int -> int -> bool
Vaut true si la position (x,y) est dans le rectangle r_x r_y r_w r_h.
val is_in_gb : int * int -> bool
Vaut true si la position (x,y) est dans le tableau de jeu.
val is_in_next_bt : int * int -> bool
Vaut true si la position (x,y) est dans le bouton "next".
val is_in_quit_bt : int * int -> bool
Vaut true si la position (x,y) est dans le bouton "quit".
val gb_cell : int * int -> int * int
Convertit la position (x,y) en coordonnées colonne/ligne du tableau de jeu Glob.gb.
val click : unit -> Glob.action
Renvoie l'action liée à l'évènement souris correspondant à la position d'un "clic" (on a laissé des affichages sur la sortie standard pour debuggage).


Dessin.


val ucolor : Graphics.color array
Table des couleurs des pièces non marquées.
val mcolor : Graphics.color array
Table des couleurs des pièces marquées.
val draw_cell : int -> int -> int -> unit
Dessine une pièce de couleur c dans un rectangle de coin inférieur gauche en (x,y).
val draw_gb : int array array -> unit
Dessine le contenu du tableau de jeu Glob.gb.
val redraw_gb : int array array -> unit
Redessine le contenu du tableau de jeu Glob.gb.
val draw_bt : bt_descr -> unit
Dessine le bouton décrit par bt.
val draw_next_bt : unit -> unit
Dessine le bouton "next".
val draw_quit_bt : unit -> unit
Dessine le bouton "quit".