IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

Cr�er un jeu avec Unity 3D

Solution exercice 1

L'auteur

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Navigation

   

Sommaire

   
   

�nonc�exercice�1

   

I. Vid�o


Cliquez pour lire la vid�o


II. Exercice

Vous pouvez lire l'�nonc� de l'exercice ici.

III. Solution

La solution utilise l'h�ritage, donc n'h�sitez pas � revoir la vid�o d�di�e � ce sujet.

III-A. La classe ��Personnage��

La classe ��Personnage�� constitue la classe de base de tous nos personnages, que ce soit Link (un Heros) ou Armos (un Ennemi). Pour cela, elle contient deux variables membres�:

  • le nom du personnage�;
  • la vie du personnage (d�finie par d�faut � 100).

Son constructeur est simple et ne fait que copier le nom pass� en param�tre � celui-ci.

 
Sélectionnez
class Personnage
{
    var nomPersonnage:String;
    var viePersonnage:int = 100;
    
    function Personnage(nom:String){
        nomPersonnage = nom;
    }
}

III-B. La classe ��Heros��

 
Sélectionnez
class Heros
{
    var chance:int;
    
    function Heros(nom:String){
        super(nom);
        Debug.Log("Je suis un h�ros : " + nomPersonnage);
    }
    
    function Attaquer(){
        Debug.Log(nomPersonnage + " attaque !");
        
        chance = Random.Range(1,6);
        if (chance == 1){
            return true;
        }else{
            return false;
        }
    }
}

III-C. La classe ��Ennemi��

 
Sélectionnez
class Ennemi
{
    var chance:int;
    
    function Ennemi(nom:String){
        super(nom);
        Debug.Log("Je suis un m�chant : " + nomPersonnage);
    }
    
    function Attaquer(){
        Debug.Log(nomPersonnage + " attaque !");
        
        chance = Random.Range(1,6);
        if (chance == 1){
            return true;
        }else{
            return false;
        }
    }
}

III-D. La fonction Start()

La fonction Start() est l'endroit o� le combat se d�roule.

 
Sélectionnez
function Start(){
    var heros:Heros = new Heros("LINK");
    var ennemi:Ennemi = new Ennemi("ARMOS");
    
    while(heros.viePersonnage > 0 && ennemi.viePersonnage > 0){
    
        Debug.Log("�tat des vies : " + heros.nomPersonnage + " : " + heros.viePersonnage +
        " ------- " + ennemi.nomPersonnage + " : " + ennemi.viePersonnage);
        
        var attaqueLink = heros.Attaquer();
        
        if (attaqueLink)
        {
            ennemi.viePersonnage -= 10;
            Debug.Log(heros.nomPersonnage + " fait perdre -10  " + ennemi.nomPersonnage);
        }else{
            Debug.Log(heros.nomPersonnage + " �choue");
        }
        
        var attaqueArmos = ennemi.Attaquer();
        
        if(attaqueArmos)
        {
            heros.viePersonnage -= 10;
            Debug.Log(ennemi.nomPersonnage + " fait perdre -10  " + heros.nomPersonnage);
        }else{
            Debug.Log(ennemi.nomPersonnage + " �choue");
        }
    }
    
    Debug.Log("Fin de partie ! ");
    
    if(heros.viePersonnage > ennemi.viePersonnage){
        Debug.Log(heros.nomPersonnage + " gagne!");
    }else{
        Debug.Log(ennemi.nomPersonnage + " gagne!");
    }
}

IV. Am�liorations des classes

Ici, les deux classes sont tr�s semblables, voire trop. En effet, le code des deux fonctions ��Attaquer��, que ce soit dans Heros ou dans Ennemi est identique. Le code aurait pu �tre impl�ment� une unique fois, dans la classe Personnage.

L'avantage des classes est de permettre de cr�er de nouvelles aptitudes qui ne seraient disponibles, soit que pour les Heros, soit que pour les Ennemis. N'h�sitez pas � exp�rimenter avec le code et � rajouter des am�liorations dans ce combat.

V. Commenter

Vous pouvez commenter et donner vos avis dans la discussion associ�e sur le forum, ou encore, poser vos questions dans le forum Unity.

VI. Remerciements

Nous remercions ��ToutApprendre�� pour l'�laboration et la r�alisation de ces vid�os. Vous pouvez retrouver sa cha�ne YouTube en suivant ce lien.

Navigation

   

Sommaire

   
   

�nonc�exercice�1

   

Vous avez aim� ce tutoriel�? Alors partagez-le en cliquant sur les boutons suivants�: Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 �quipe rubrique 2D/3D/Jeux. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.