(* ===================================================== *)
(* Apprentissage de la programmation avec OCaml *)
(* Catherine Dubois & Valérie Ménissier-Morain *)
(* Éditions Hermès Sciences *)
(* Mars 2004 *)
(* ===================================================== *)
(* Fichier MLSRC/CC/CC_niveaux/lancement.ml *)
(* ===================================================== *)
open Graphics;;
open Representation;;
open Affichage_jeu;;
open Action;;
let niveau_maximum = 6;;
let jeu () =
Random.self_init ();
état.sélection <- None;
état.niveau <- 0;
état.sélection <- None;
état.niveau <- 0;
open_graph "";
set_window_title "Court circuit";
while état.niveau <= niveau_maximum do
état.niveau <- état.niveau+1;
nouvelle_zone_de_jeu ();
clear_graph ();
dessiner_zone_de_jeu ();
dessiner_cartouche ();
while not (zone_de_jeu_vide ()) do
let s = wait_next_event [ Key_pressed; Button_down] in
if s.button then
begin
let (c,l) = position_zone_de_jeu (s.mouse_x,s.mouse_y) in
if position_pièce_zone_de_jeu_valide (c, l)
then
match état.sélection with
| None -> sélectionner (c,l)
| Some (c',l') ->
if (c',l') = (c,l)
then désélectionner (c,l)
else éliminer (c,l) (c',l')
end
else if s.keypressed && s.key = 'q' then exit 0
done;
done;
exit 0;;
jeu();;
Ce document a été traduit de LATEX par
HEVEA.