|
Université Paris 6 Licence d'informatique |
Module de Programmation Année 1999-2000 |
|---|
moveto x y; carré ();
moveto (x+p.(1).(6*i+1)) (y+p.(1).(6*i+2)); carré ();
moveto (x+p.(1).(6*i+3)) (y+p.(1).(6*i+4)); carré ();
moveto (x+p.(1).(6*i+5)) (y+p.(1).(6*i+5)); carré ();;
si la fonction carré dessine un carré de centre le point courant
par exemple.
#open "graphics";; et on ouvre une fenêtre
graphique sur l'écran par open_graph "";; (et on la fermera à
la fin par close_graph "";;).clear_graph: unit -> unit close_graph: unit -> unit moveto: int -> int -> unit lineto: int -> int -> unit current_point: unit -> int * int set_line_width: int -> unit fill_rect: int -> int -> int -> int -> unit draw_string: string -> unit key_pressed: unit -> bool read_key: unit -> char wait_next_event: event list -> status random_int
initialisée par la fonction random_init.#open "unix";;ligne_pleine qui détermine si la
i-ème ligne de l'espace de jeu est pleine ou non.
supprime_ligne qui supprime la ligne
numéro i de la représentation interne de l'espace de jeu
affiche_piece qui affiche la pièce numéro
pièce en position pos au point de coordonnées
(x, y) de la couleur couleur.
efface_piece qui efface la
pièce numéro pièce en position pos au point de
coordonnées (x, y) ainsi que la fonction
piece_descend qui affiche la pièce numéro pièce en
position pos qui se trouvait au point de coordonnées
(x, y) quand elle descend d'un cran.
mise_à_jour qui met à jour la représentation
interne de l'espace de jeu quand la pièce numéro pièce en
position pos au point de coordonnées (x, y) ne peut
plus descendre.
en_attendant_le_tic_suivant qui effectue la
gestion des événements (l'utilisation des touches par un joueur) en
attendant que le temps soit écoulé et que la pièce descende d'un
cran supplémentaire si c'est possible.
![]()
Si l'on fait tomber la pièce dans la situation représentée ci-dessus, alors le score est augmentée de 13 points car la pièce chute de 13 lignes. De plus une ligne est complètée, il faut donc ajouter 100 points de plus au score et par conséquent le score passe des 25 points affichés à 138 points.
Les éléments sont repèrés par les coordonnées suivantes:
![]()
élément 1: (-1, -1)
élément 2: (0, -1)
élément 3: (0, 1)
Pièce Position 0 Position 1 Position 2 Position 3 1 -1 0 1 0 1 -1 2 3 4 5 6 7
Niveau Période Niveau Période 1 1000 11 200 2 800 12 180 3 600 13 160 4 500 14 140 5 440 15 120 6 400 16 100 7 360 17 80 8 320 18 60 9 280 19 40 10 240 20 20
Ce document a été traduit de LATEX par HEVEA.