370 likes | 456 Views
Base de programmation. Script unity en c#. Déclaration de variable. Nombre : Int : nombre naturel (entier positif ou négatif) Double : réel (donc avec virgule, sur 8 octets) Float : réel (donc avec virgule sur 4 octets) Autres Char : caractère (a, b, c, ; , @…)
E N D
Base de programmation Script unity en c#
Déclaration de variable • Nombre : • Int : nombre naturel (entier positif ou négatif) • Double : réel (donc avec virgule, sur 8 octets) • Float : réel (donc avec virgule sur 4 octets) • Autres • Char : caractère (a, b, c, ; , @…) • Bool : booléen : vrai ou faux
algorithmique int a; int b; int c; a=1; b=2; c=a+b;
Exercice 4.1 • Que vaut c ? int a =2; int b=3; a=3; int c; c=a+b;
Exercice 4.2 • Que vaut c ? int a =2; int b; a=3; int c; c=a+b;
fonction int addition (int a, int b) { int c; c=a+b; Return c; }
Appel de fonction int addition (int toto, int tata) { int c; c=toto+tata; Return c; } […] int a=1; int b=2; int c; c=addition (a,b); […]
Règle de bonnes pratiques • Nom qui signifie quelque chose • Le nom des variable commence par une minuscule • Majuscule au changement de mot • Le nom des classes commence par une majuscule • Majuscule à chaque nouveau mot • Le nom des fonctions/méthodes commence par une minuscule • Discutable sous unity
Règle de bonnes pratiques • Les indentations doivent être lisibles et tabulées correctement • Le nombre d’espace importe peu MAIS il doit être homogène • Partout c=a+b • Ou partout c = a + b • Commentez votre code • Explication de subtilité • Explication des méthodes • Tout en anglais ou tout en français, mais pas de franglais
Exercice 4.3 • Écrivez une fonction qui prends deux float et qui les multiplie, écrivez également l’appel à la fonction
Fonction dans C# unity // Use this for initialization void Start () { } // Update is called once per frame void Update () { }
Le if(){} if (condition){ action } Exemple if (pas bien fait){ Refaire }
If exemple Exemple if (a>b){ c=a; } Bool a =true; if (a){ c=b; }
Les opérateurs logiques • == • Est égale à • != • Est différent de • > • Plus grand • >= • Plus grand ou égal • < • Plus petit • <= • Plus petit ou égal • && • Et • || • ou
Exercice 4.3 • Faites une fonction qui compare deux float et qui ressort le plus grand des deux
Exercice 4.4 • Écrivez une fonction qui prends deux floats et un int qui désigne l’opération (addition, soustraction, multiplication et division) et qui applique l’opération voulue sur les variables, écrivez également l’appel à la fonction
Exercice 4.5 • Écrivez une fonction qui prends deux floats et un int qui désigne l’opération (addition, soustraction, multiplication et division) et qui applique l’opération voulue sur les variables en prenant soin de ne jamais diviser par 0, écrivez également l’appel à la fonction
Le switch intfoo = 2; int bar = 3; switch (foo) { case 1: bar = 1; break; case 2: case 3: bar += foo; break; default: break; }
Le while (){} while (condition d’arrêt){ action } Exemple while(Jimmy pas assis){ La maitresse le gronde }
While exemple int a=0; while(a<=10){ a=a+1; } Que vaudra a en sortie de while ?
Le for(;;){} for (initialisation; condition d’arrêt; incrémentation){ action } Exemple for (0 élèves en classe; tous les élèves ne sont pas en classe; un élève de plus qui rentre){ La maitresse prend son nom pour les présences }
For exemple for(inteleve=0; eleve<35; eleve++){ maitresse.AjouteUnEleve(); }
Exercice 4.6 • Faites un for qui additionne toujours la même valeur à une variable jusqu’à ce qu’elle ait atteint 20. • Comparez à l’exercice précédant
Exercice 4.7 • Faites un while qui additionne toujours la même valeur à une variable jusqu’à ce qu’elle ait atteint 20.
Notion de classe • Différence entre objets et classes Classe Chien Objet ruffus, de la classe Chien
La classe Chien public class Chien { Paramètres publics Paramètresprivés Fonctionspubliques Fonctionsprivées }
La classe Chien public class Chien { public double positionEnX, positionEnY; public MembrepatteAvantG; private intnombreDePatte; private Organeintestin; public void assis(){…} private void digere(){….} }
Du coté objet public class Chien{…} public class Membre{…} […] int a; Chien ruffus; ruffus = new Chien(); Membre patteARRuffus; ruffus.pattearriereG=pattteARRuffus; ruffus.assis(); […]
Des « packages » de classes using Animaux; […] Chien ruffus; Ruffus.assis(); […]
Classe unity très utiles • Vector 3 • Classe qui gère les vecteur de 3 float • http://docs.unity3d.com/Documentation/ScriptReference/Vector3.html • Transform • Classe des objets à modifier (ou transformer) basiquement • http://docs.unity3d.com/Documentation/ScriptReference/Transform.html • Math • Classe de fonction mathématiqu de base • http://docs.unity3d.com/Documentation/ScriptReference/Mathf.html
Classe Transform usingUnityEngine; public class test : MonoBehaviour { public Transform cube; public Vector3 pos; void Start () {} void Update () { pos=cube.position; pos.y=pos.y+0.1f; cube.position=pos; } }
Exercice 4.8 • Créer un projet • Créer un cube • Créer un script C# • Afficher sa position dans l’inspector
Exercice 4.9 • Créer un projet • Créer une sphère • Créer un script C# • La placer par script en 0,2,0
Exercice 4.10 • Créer un projet • Créer une capsule • Créer un script • Faire en sorte qu’on puisse modifier sa position par l’inspector, mais dans le script.
Exercice 4.11 • Créer un projet • Créer un cube • Créer un script • Faire tourner le cube
Exercice 4.12 • Créer un projet • Créer un cube • Créer un script • Appliquer une translation continue en se servant de la fonction « translate »
Exercice 4.13 • Créer un projet • Créer un cube • Créer un sphère • Faire en sorte qu’un script appliqué sur la sphère déplace le cube.