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 Float : -3.4*10-38 à 3.4*1038 bit Double -1.7*10-308 à 1.7*10308 bit Long double : -3.4*10-4932 à 3.4*104932 bit
algorithmique int a; int b; int c; a=1; b=2; c=a+b; a b c a b c 1 2 a 3
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 a=1; int c; c=toto+tata; Return c; } […] int a=1; int b=2; 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 int foo = 2; int bar = 3; switch (foo) { case 1: bar = 1; break; case 2: case 3: bar += foo; default: }
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(int eleve=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ètres privés Fonctions publiques Fonctions privées }
La classe Chien public class Chien { public double positionEnX, positionEnY; public Membre patteAvantG; private int nombreDePatte; private Organe intestin; 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 using UnityEngine; 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.