(* ===================================================== *)
(*      Apprentissage de la programmation avec OCaml     *)
(*      Catherine Dubois & Valérie Ménissier-Morain      *)
(*                Éditions Hermès Sciences               *)
(*                        Mars 2004                      *)
(* ===================================================== *)
(* Fichier MLSRC/CC/CC_temps/backtrack.ml                *)
(* ===================================================== *)

open Graphics;;
open Representation;;
open Affichage_base;;
open Affichage_jeu;;

let étape_backtrack () =
  match état.historique with
  | [] -> sound 440 100
  | i::_ ->
    (* on dépile cette étape de l'historique *)
    état.historique <- List.tl état.historique;
    let (c,l)=i.pièce1 in
    let
 (c',l')=i.pièce2 in
      état.zone_de_jeu.tableau.(c).(l) <- Occupée i.couleur;
      état.zone_de_jeu.tableau.(c').(l') <- Occupée i.couleur;
      dessiner_pièce
        (coordonnées_pièce i.pièce1) i.couleur;
      dessiner_pièce
        (coordonnées_pièce i.pièce2) i.couleur;;

Ce document a été traduit de LATEX par HEVEA.