Documentation de la bibliothèque MLV-3.1.0

MLV_turtle.h
Aller à la documentation de ce fichier.
1/*
2 * This file is part of the MLV Library.
3 *
4 * Copyright (C) 2016 Adrien Boussicault
5 *
6 *
7 * This Library is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This Library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this Library. If not, see <http://www.gnu.org/licenses/>.
19 */
20
30#ifndef __MLV__MLV_TURTLE_H__
31#define __MLV__MLV_TURTLE_H__
32
33#include "MLV_color.h"
34#include "MLV_image.h"
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39
47
55
61void MLV_leonardo_forward( float distance );
62
73void MLV_leonardo_right( double angle );
74
85void MLV_leonardo_left( double angle );
86
97void MLV_leonardo_go_to( int x, int y );
98
114void MLV_leonardo_orient_to( double angle );
115
122
134void MLV_leonardo_write( int write );
135
142
149
159
166
173
180
188void MLV_leonardo_point_to( int x, int y );
189
200void MLV_leonardo_speed( int time );
201
212
222
231
240
247typedef struct _MLV_Turtle MLV_Turtle;
248
254
264
286
296
306
313void MLV_turtle_forward( MLV_Turtle* turtle, float distance );
314
326void MLV_turtle_right( MLV_Turtle* turtle, double angle );
327
339void MLV_turtle_left( MLV_Turtle* turtle, double angle );
340
352void MLV_turtle_go_to( MLV_Turtle* turtle, int x, int y );
353
368void MLV_turtle_orient_to( MLV_Turtle* turtle, double angle );
369
376void MLV_turtle_color( MLV_Turtle* turtle, MLV_Color color );
377
390void MLV_turtle_write( MLV_Turtle* turtle, int write );
391
400void MLV_turtle_point_to( MLV_Turtle* turtle, int x, int y );
401
409
417
428
436
444
452
453
464
465#ifdef __cplusplus
466}
467#endif
468
469#endif
Uint32 MLV_Color
Définit un type couleur pour la bibliothèque MLV.
Definition: MLV_color.h:54
Définit toutes les couleurs disponibles dans la bibliothèque MLV.
struct _MLV_Image MLV_Image
Définit le type Image dans la bibliothèque MLV.
Definition: MLV_image.h:53
Ce fichier définit tous les prototypes concernant les fonctions permettant d'insérer des images.
void MLV_turtle_orient_to(MLV_Turtle *turtle, double angle)
La tortue s'oriente vers la direction donné en parmètre.
struct _MLV_Turtle MLV_Turtle
Définit le type d'une tortue.
Definition: MLV_turtle.h:247
double MLV_leonardo_orientation_in_radian()
Renvoie l'orientation de la tortue Leonardo en radians.
void MLV_turtle_write(MLV_Turtle *turtle, int write)
La tortue pose le pinceau et écrit.
void MLV_draw_turtle_on_image(MLV_Turtle *turtle, MLV_Image *image)
Dessine la tortue sur une image passée en paramètre.
int MLV_leonardo_Y_coordinate()
Renvoie la coordonée en Y de la tortuei Leonardo.
int MLV_leonardo_is_writing()
Renvoie vrai si la tortue Leonardo est en train d'écrire.
void MLV_hide_leonardo()
Cache la tortue Leonardo.
void MLV_leonardo_left(double angle)
La tortue Leonardo tourne à gauche d'un angle donné en paramètre.
double MLV_leonardo_orientation()
Renvoie l'orientation de la tortue Leonardo.
void MLV_leonardo_radian()
La tortue Leonardo utilise désormais les angles en radian.
void MLV_show_leonardo()
Affiche à l'écran Leonardo.
void MLV_turtle_attach_on_image(MLV_Turtle *turtle, MLV_Image *image)
Attache la tortue sur une image passé en paramètre.
void MLV_leonardo_orient_to(double angle)
La tortue Leonardo s'oriente vers la direction donné en parmètre.
int MLV_turtle_is_writing(MLV_Turtle *turtle)
Renvoie vrai si la tortue est en train d'écrire.
int MLV_leonardo_X_coordinate()
Renvoie la coordonée en X de la tortue Leonardo.
void MLV_turtle_right(MLV_Turtle *turtle, double angle)
La tortue à droite d'un angle donné en paramètre.
void MLV_free_turtle(MLV_Turtle *turtle)
Libère la mémoire de la tortue.
int MLV_turtle_X_coordinate(MLV_Turtle *turtle)
Renvoie la coordonée en X de la tortue.
void MLV_draw_leonardo_on_image(MLV_Image *image)
Dessine la tortue Leonardo sur une image passée en paramètre.
void MLV_turtle_point_to(MLV_Turtle *turtle, int x, int y)
Tourne la tortue pour qu'elle regarde vers le point passé en paramètre.
void MLV_leonardo_speed(int time)
Modifie la vitesse de la tortue Leonardo.
void MLV_leonardo_color(MLV_Color color)
Change la couleur du pinceau de la tortue Leonardo.
void MLV_turtle_go_to(MLV_Turtle *turtle, int x, int y)
La tortue se déplace à la position passé en paramètre, sans changer son orientation.
double MLV_turtle_orientation_in_degree(MLV_Turtle *turtle)
Renvoie l'orientation de la tortue en degré.
double MLV_leonardo_orientation_in_degree()
Renvoie l'orientation de la tortue Leonardo en degré.
void MLV_turtle_forward(MLV_Turtle *turtle, float distance)
La tortue avance d'un nombre de pixel donnée en paramètre.
void MLV_leonardo_should_update_window(int yes)
Demmande à la tortue Leonardo de mettre à jour l'affichage à chaque déacement.
void MLV_leonardo_point_to(int x, int y)
Tourne la tortue Leonardo pour qu'elle regarde vers le point passé en paramètre.
void MLV_leonardo_forward(float distance)
La tortue Leonardo avance d'un nombre de pixel donnée en paramètre.
void MLV_leonardo_go_to(int x, int y)
La tortue Leonardo se déplace à la position passé en paramètre, sans changer son orientation.
void MLV_leonardo_right(double angle)
La tortue Leonardo tourne à droite d'un angle donné en paramètre.
void MLV_turtle_color(MLV_Turtle *turtle, MLV_Color color)
Change la couleur du pinceau de la tortue passée en paramètre.
double MLV_turtle_orientation_in_radian(MLV_Turtle *turtle)
Renvoie l'orientation de la tortue en radians.
void MLV_turtle_degree(MLV_Turtle *turtle)
La tortue passée en paramètre utilise désormais les angles en degrés.
double MLV_turtle_orientation(MLV_Turtle *turtle)
Renvoie l'orientation de la tortue.
int MLV_turtle_Y_coordinate(MLV_Turtle *turtle)
Renvoie la coordonée en Y de la tortue.
void MLV_turtle_left(MLV_Turtle *turtle, double angle)
La tortue tourne à gauche d'un angle donné en paramètre.
void MLV_leonardo_degree()
La tortue Leonardo utilise désormais les angles en degrés.
void MLV_turtle_radian(MLV_Turtle *turtle)
La tortue passée en paramètre utilise désormais les angles en radian.
void MLV_leonardo_write(int write)
La tortue Leonardo pose le pinceau et écrit.
MLV_Turtle * MLV_create_turtle()
Créer une tortue qui dessine sur la fenêtre d'affichage.