
Complémentarité
Bon on a toute nos mécaniques de base pour le jeu, il nous faut maintenant complémenter le jeu avec des cartes variées. Déjà pour les sorts, je dénombre actuellement 3 sort :
-Fauchage : sort consistant à supprimer ses unités afin de récolter des ressources. Pour ce faire, dans la fonction Fauchage(), je lance une boucle et met à 0 la vie de toute mes unités active et pour chacune de ces unités, je rajoute 1 de ressource II au Joueur.
-Récolte d'os : (à savoir, les unités squelette laisse un tas d'os sur la case de leur mort) ce sort permet de récolter tout les tas d'os d'une case choisie. Pour cela je lance une boucle pour chaque case du terrain, je compare les coordonnées de la case de la boucle avec celle de la souris, si les coordonnées concordent et que la souris est pressée, j'ajoute à la variable des ressource I du joueur le nombre de tas d'os de la case (tas d'os qui sont supprimé du terrain juste après).
-Nécromancie : Le sort sert à transformer un tas d'os du terrain en guerrier squelette. Le principe de la fonction est le même que le sort précédant, sauf qu'on n'agit pas sur les ressources, on créer une unité particulière (comme fait lors d'une invocation d'unité avec les cartes) et on enlève 1 tas d'os à la case.
Ensuite vienne les améliorations :
-Boyau ferme : On augmente la portée des archers de 1 (ils passent de 2 à 2-3). La même méthode que celle utilisé en exemple plus tôt.
-Projection acide : Augmentation de la portée des zombies (de 1 à 1-2). C'est l'amélioration qui est utilisé en exemple.
-Durcissement des Os : Augmente la défense de toute les unités squelettique. Même méthode que les deux précédent sauf qu'au lieu de changer la portée c'est la variable défense qui augmente d'un cran.
-Soin Nécrotique : Ici, on ne change rien aux unités ou aux cartes, on active juste une variable booléenne pour un joueur permettant à ces nécromancien de soigner ces unités (la méthode pour soigné sera expliqué lorsque j'évoquerais les nécromants).
Pour les bâtiments il n'y en a qu'un seul qui est déjà expliqué.
On passe maintenant aux unités (pour des infos précises veuillez vous référer au tableur des cartes) :
-Archer et Guerrier squelette : à leur mort ces unités laisse un tas d'os sur place. Ils ont besoin pour ça de la variable NumCase qui enregistre le numéro de la case sur laquelle ils sont et à leur mort on rajoute donc à cette case +1 dans la variable tas_d_os.
-Champion squelette : lorsqu'il tue une unité il gagne 0.5 d'attaque (les dégâts sont arrondie à l'entier inférieur). Pour ce faire dans la fonction attaque je rajoute une condition juste après l'affectation des dégâts sur la cible, cette condition est si la vie de l'attaqué est inférieur ou égale à 0, si c'est le cas on vérifie que l'unité attaquante est bien un champion squelette et on lui rajoute 0.5 de dégât en plus.
-Zombie et goule : lorsqu'il tue un ennemi, celui devient un zombie qui sert l'attaquant. On se sert de la même méthode que celle du champion sauf que ici à la place d'augmenter nos dégâts, on créer une unité zombie à l'emplacement de la victime.
-Liche : juste une unité à distance qui fait mal.
-Nécromancien : possède deux capacité, la première : celle de créer un guerrier squelette à partir d'un tas d'os sur le terrain. le fonctionnement est similaire que celui d'une attaque sauf qu'on demande au programme de chercher une case vide et possédant au moins 1 tas d'os le tout à proximité de l'unité. Après l'appel de fonction n'est pas degat(), mais Releve_Mort() qui agit de la même manière que le sort de nécromancie. La deuxième capacité du nécromant est celle que l'on débloque via une amélioration, elle permet de soigner une unité. Même fonctionnement que précédemment mais on fait appel à la fonction SoinNecro() qui marche pareil que la fonction degat() mais qui rajoute des PV au lieu d'en enlever.
-Fossoyeur : récolte un tas d'os au sol pour en faire une ressource. Un mixe entre le nécromancien et le sort récolte d'os.
-Chien Zombie : rien de particulier si ce n'est qu'il va vite.