Le jeu est jouable mais il manque d'intérêt car il ne présente pas de difficulté majeure. Si l'on fait attention aux obstacles, le jeu peut ne jamais s'arrêter.
Plusieurs options sont possibles pour introduire de la difficulté:
option 1 : ajouter un compte à rebours. Quand le temps imparti est écoulé, le jeu s'arrête. La performance du joueur s'apprécie au nombre de « vies » qu'il lui reste et au nombre de ressources qu'il a récoltées (son « score »).
option 2 : ajouter un nouvel élément qui va rendre le jeu de plus en plus difficile, et y mettre fin à un moment donné. Par exemple, on peut introduire un nouveau piège (une tornade, en écho aux problèmes météorologiques évoqués précédemment, sur le codage binaire). La tornade se déplace de plus en plus vite, et on ne peut pas prévoir sa direction. À un moment ou un autre, on ne pourra plus l'éviter et le jeu prendra alors fin.
Tâche 1 : faire apparaître un compte à rebours au lancement du jeu.
Programmer le jeu de façon qu'il ne démarre qu'après un décompte 5, 4, 3, 2, 1, partez !
Tâche 2 : limiter la durée du jeu.
Limiter la durée du jeu est une façon très simple de le rendre plus intéressant. A la fin de la durée du jeu le message "game over" apparaît.
Tâche 3 : ajouter une tornade qui se déplace aléatoirement
Vous devez trouver une façon de déplacer la tornade[1] vers un endroit aléatoire. Lorsque la tornade touche le rover le joueur perd une vie.
Tâche 4 : faire grossir la tornade
Pour corser encore un peu le jeu, on peut faire en sorte que la tornade grossisse au fur et à mesure que des ressources sont récoltées.
Tâche 5 : faire accélérer la tornade au fur et à mesure
Il s'agit de faire en sorte que la tornade accélère à chaque fois que l'on a récolté une ressource (glace ou végétation). Pour faire accélérer la tornade, il faut créer une variable « vitesse_tornade » (initialisée à 1, dans le même programme que pour les autres variables) et l'augmenter, par exemple de 10% à chaque événement (astuce : augmenter de 10% la vitesse revient à la multiplier par 1,1).
Tâche 6 : simuler un monde torique (joindre les côtés de la scène)
Le jeu serait plus amusant si le rover n'était pas bloqué par les bords de la scène. Il faudrait faire en sorte que, lorsqu'il atteint le bord droit de la scène, il continue sa course et réapparaisse sur le bord gauche, et inversement. Même chose avec les bords haut et bas.
Notes scientifiques
Un espace plan que l'on plie de façon à ce que le bord gauche et le bord droit se rejoignent s'appelle un espace « cylindrique ». Si l'on rajoute un second pliage permettant de joindre le bord haut et le bord bas, on parle alors d'un espace « torique ». Cet espace ressemble à un donut ou une chambre à air.
Beaucoup de jeux vidéo sont basés sur un monde torique, même si un tel monde ne ressemble pas à une planète réelle (sur Terre, lorsqu'on atteint le pôle Nord, on ne se retrouve pas au pôle Sud !).
Aide :
Commencer par réfléchir à l'algorithme : si l'abscisse X du rover dépasse 240 (extrémité droite), alors elle doit passer à -240 (extrémité gauche). Ensuite, vous pouvez montrer les différents blocs nécessaires à la construction du programme : une boucle «répéter indéfiniment», une structure de contrôle « si ... alors », un opérateur « supérieur à », la valeur de la variable X (bloc bleu « abscisse X »), et l'instruction permettant de changer cette valeur (bloc bleu « donner la valeur ... à X »).
Tâche 7 : éviter que les ressources et les pièges ne se superposent
Lorsque les ressources (glace, végétation) sont récoltées, elles réapparaissent aléatoirement sur la scène. Il est parfaitement possible qu'une ressource réapparaisse à l'endroit où un piège (dune ou lave) se trouve déjà, ce qu'il faut éviter car on ne peut pas avoir 2 objectifs contradictoires : récolter la ressource et éviter l'obstacle.
Comment faire en sorte que ce cas de figure ne puisse pas se produire ? Il faut tirer au hasard une nouvelle position tant que la ressource touche un piège. Mais, comme initialement la ressource ne touche pas un piège, la boucle ne va pas s'exécuter.