Piloter un tank
Piloter un tank
Pour commencer, enlever le code qui se situe entre
to myCode1
end ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Comme vous l'avez peut-être compris, chaque unité peut être controlée individuellement grâce à la fonction qui lui est associée.
"to myCode1" est le début de la fonction controllant l'unité 1, "end" marque la fin de cette fonction. Il en va de même pour les 4 autres unités.
Intéressons-nous maintenant aux instructions qui servent à controler l'unité 1, qui est actuellement un tank.
Insérez la fonction move dans la fonction myCode1, de façon à obtenir ceci :
to myCode1
move
end ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
"move" est la fonction qui sert à faire avancer le tank. Ainsi, si vous retournez dans l'interface, et que vous faites "reset"
(pour réinitialiser les paramètres du jeu, ainsi que prendre en compte les modifications effectuées sur votre code) et "go",
vos tanks (les bleus) avancent.
Certes, ils avancent bêtement tout droit, mais c'est un début.
J'imagine que maintenant, vous voulez faire tirer vos tanks. Rien de plus facile, il faut utiliser la fonction "fire" avec comme
argument un chiffre entre 1 et 3 qui correspond au nombre de missiles tirés. Par exemple :
to myCode1
move
fire 1
end ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Voilà, maintenant, nos tanks avancent et tirent en même temps. Cependant, en plus de se faire détruire par les tanks ennemis, nos tanks se détruisent eux-même lorsqu'ils tirent sur un obstacle qui est trop près d'eux :
**IMAGE ICI**
Pour résoudre ce problème, il suffit de vérifier si il n'est pas dangereux de tirer. Pour cela, il suffit d'utiliser la fonction "safe-fire?" qui renvoie faux si tirer est dangereux, vrai sinon.
to myCode1
move
if safe-fire?
[
fire 1
]
end ;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
De la même façon, quand vos tanks avancent dans une explosion, ils perdent de leur bouclier. Vous pouvez vérifier qu'il est sûr d'avancer de la même façon grâce à la fonction "safe-move?".
Avancer c'est bien, se diriger, c'est mieux. Vous pouvez orienter votre tank de façon absolue :
right 180
Ce code fait tourner votre tank de 180° par la droite, vous pouvez bien sûr tourner d'un angle différent, ou choisir de tourner à gauche. Par exemple :
left 90
Vous pouvez également vous orienter de façon relative, par rapport à un élément du jeu. Par exemple, il peut être intéressant (voir indispensable) de pouvoir faire face au drapeau ennemi de cette façon :
face enemy-flag
Ainsi, pour faire face à un élément particulier, nous utilisons la fonction "face" suivi de l'élément auquel faire face.
Repérer les unités
Avec ce qu'on a vu précédemment, vous êtes maintenant capable de faire pas mal de choses. Voici cependant quelques fonctions qui pourront vous être utiles :
let missilesEnApproche rockets in-radius 10
Ici, nous déclarons (let) la variable "missilesEnApproche" comme étant le nombre de missiles dans un cercle de rayon de 10 ayant pour centre votre unité.
let missilesEnFace rockets in-cone 25 45
De la même façon, nous déclarons la variable "missilesEnFace" comme étant le nombre de missiles dans un cône face à l'unité, d'angle 45 et de longueur 25.