Vous allez compléter votre programme en ajoutant des ressources à aller chercher (nouveaux lutins) et en créant une variable pour leur score (ce score augmente lorsqu'on récolte des ressources).

Tâche 1 : importer une ressource (la glace[1]) sous la forme d'un nouveau lutin
Vous devez importer un nouveau lutin : la glace[1].
Vous devez pensez à initialiser manuellement la position de cette ressource, comme vous l'avez fait pour le rover. Vous pouvez positionner la glace n'importe où sur l'écran, pourvu que les lutins (glace et rover) ne se chevauchent pas.

Tâche 2 : faire dire « bravo » à la ressource lorsqu'elle est touchée par le rover
Vous devez modifier le programme de la glace pour que celle-ci dise « bravo » lorsqu'elle est touchée par le rover.
Cette tâche suppose :
De savoir faire dire « bravo » au lutin (tous les élèves savent le faire à ce stade)
De savoir déclencher une instruction uniquement lorsqu'une certaine condition est remplie. Cela se fait via la catégorie « contrôle », dans lequel on trouve l'instruction « si... alors... »
De savoir détecter quand un lutin en touche un autre. Cela se fait via la catégorie « capteurs » de la palette d'instructions (instruction « ... touché ? »). Une fois qu'on l'a sélectionné, un clic sur la petite flèche permet de faire défiler les lutins déjà créés. Ici, on est dans le programme de la glace et on veut tester si ce lutin touche le rover, on clique donc sur « rover ».

Tâche 3 : faire disparaître la ressource quand elle est touchée
Cette tâche nécessite simplement de remplacer, dans le programme de la glace, l'instruction « dire Bravo » par une instruction faisant disparaître ce lutin. Il s'agit de l'instruction « cacher » que l'on trouve dans la catégorie « apparence ».

Tâche 4 : créer une variable « score »
Vous devez créer un score et l'augmenter à chaque fois que la ressource est touchée, pour cela vous devez créer une variable.
Aide :
La variable ainsi créée peut être accessible par un seul lutin (celui dans le programme duquel elle est créée) ou par tous. On parle (dans d'autres langages de programmation) respectivement de variable locale ou de variable globale.
Pour qu'un programme soit facile à comprendre, il est important de donner des noms explicites aux variables que l'on crée. Cette bonne habitude limite également les bugs de programmation. Le nom de la variable peut donc être, tout simplement : « score ». Certains élèves utilisent des noms qui n'ont pas de sens, ou qui révèlent une confusion entre la variable et les manipulations de cette variable (par exemple, ils nomment la variable « ajouter 1 au score »).
On remarque que lorsque la variable est créée, elle est affichée à l'écran, ainsi que sa valeur. Pour faire disparaître cet affichage, il suffit de décocher la case à gauche du nom de la variable, dans la palette « données ».

Tâche 5 : augmenter le score lorsqu'on récolte une ressource
Vous devez décider de la façon dont le score doit être augmenté (par exemple, on l'augmente de 1 à chaque fois que le rover touche une ressource).
Dans un second temps, vous cherchez l'instruction permettant d'augmenter le score de 1 :

Tâche 6 : initialiser le score à zéro
Vous devez tester à plusieurs reprises ce qui se passe quand le rover touche la glace. Le programme semble bien fonctionner (la glace est présente, le rover la touche, elle disparait et le score est augmenté de 1). Cependant, si on arrête le programme et qu'on le relance, le score n'est pas remis à zéro.
Remettez le score à zéro

Tâche 7 : faire réapparaître une ressource à une position aléatoire
Le jeu peut être rendu plus amusant si les ressources réapparaissent, après avoir été récoltées, mais pas toujours au même endroit. Une position aléatoire est préférable. Pour cela, il faut, utiliser l'instruction « aller à... ».
Programmez cette fonction.

Tâche 8 : importer une nouvelle ressource (la végétation[2]) et refaire le même travail que pour la glace
Vous devez maintenant introduire une seconde ressource (la végétation) et refaire tout le travail effectué avec la glace :
Importer le lutin « végétation[2] »
Tester indéfiniment si ce lutin touche le rover et, si c'est le cas :
augmenter le score de 1
faire réapparaître le lutin ailleurs sur la carte (position aléatoire).

