Constantes des valeurs maximales

Définition Utilisation Exemple Côté technique
 

extern int LARGEUR; Largeur de l'écran en pixels (240 ou 320)
extern int HAUTEUR; Hauteur de l'écran en pixels (240 ou 320)
#define MAX_X (LARGEUR-1) Valeur maximale des abscisses (239 ou 319)
#define DEMI_LARGEUR (LARGEUR>>1) Abscisse du centre de l'écran (120 ou 160)
#define MAX_Y (HAUTEUR-1) Valeur maximale des ordonnées (239 ou 319)
#define DEMI_HAUTEUR (HAUTEUR>>1) Ordonnée du centre de l'écran (120 ou 160)
extern int MIN_X_DRAW; Abscisse minimale pouvant être dessiné
extern int MAX_X_DRAW; Abscisse maximale pouvant être dessiné
extern int MIN_Y_DRAW; Ordonnée minimale pouvant être dessiné
extern int MAX_Y_DRAW; Ordonnée maximale pouvant être dessiné
extern int MIN_X_TEXT; Abscisse minimale pouvant être écrit
extern int MAX_X_TEXT; Abscisse maximale pouvant être écrit
extern int MIN_Y_TEXT; Ordonnée minimale pouvant être écrit
extern int MAX_Y_TEXT; Ordonnée maximale pouvant être écrit

 

En réalité ce sont des variables. Ce ne peut pas être des constantes étant donné qu'elles peuvent changer au cours du programme. Mais pour des raisons pratiques elles sont définies comme telles. On ne doit pas les modifier.

Ces "constantes" permettent d'éviter d'utiliser les nombres 240 et 320. D'autre part le passage des modes paysages à portraits change la définition de ces mots. En les utilisant, on peut écrire des programmes qui fonctionnent sans changements dans les 4 modes.

Notez que MAX_X=LARGEUR-1 et DEMI_LARGEUR=LARGEUR/2, mais cela ne consomme pas plus de ressources d'utiliser dans un programme DEMI_LARGEUR ou LARGEUR/2.

Les mots LARGEUR, HAUTEUR, MAX_X, MAX_Y, DEMI_LARGEUR, DEMI_HAUTEUR concernent l'écran en entier. On peut changer la zone dans laquelle s'effectue les dessins par la fonction setLimites(); La zone dans laquelle on peut dessiner est alors définie par MIN_X_DRAW, MAX_X_DRAW, MIN_Y_DRAW et MAX_Y_DRAW. Comme on peut changer l'orientation des écritures, et que les coordonnées suivent l'orientation, les textes peuvent être écrits dans la zone définie par MIN_X_TEXT, MAX_X_TEXT, MIN_Y_TEXT et MAX_Y_TEXT. Si on écrit vers l'est les deux zones sont les mêmes.

 

 

Voir aussi:
- setLimites(); Limite la zone de dessin
- setGraphMode(); Initialisation de l'écran
- setTextOrient(); Direction d'écriture des textes
- clrscr(); Efface l'écran