Illustration visuelle du challenge de code : WALL-E #1
Comportemental Intermédiaire

WALL-E #1

Wall-E est un petit robot chargé de nettoyer la planète. Il fait face à un tas de déchets divers. Tu dois programmer son fonctionnement pour qu’il traite correctement les déchets. Mais attention à ne pas tomber en manque de batterie !

Code : WALL_E

Concept(s) informatique(s) à utiliser pour résoudre ce challenge : Conditions, POO

Mission

Wall-E est tout seul sur Terre pour nettoyer toute la pagaille qu’on a laissé…

Il faut que tu l’aide à gérer tous les déchets !

Voici les règles pour controler ce petit robot !

Wall-E démarre avec les caractéristiques suivantes :

  • Une force qui permet de déterminer comment il porte les déchets (un entier entre 10 et 20).
  • Une vitesse qui permet de savoir s’il déplace rapidement (un entier entre 5 et 15).
  • Un niveau de batterie, qui va évoluer dans le temps (au départ un entier entre 70 et 100).

Wall-E doit traiter chaque déchet présents dans la liste. Chaque valeur de la liste représente le poids du déchet à traiter.

Règles

Et voici les règles pour traiter les déchets.

  • Chaque traitement de déchet va coûter de la batterie.
  • Si la force de Wall-E est supérieure ou égale au poids du déchet, Wall-E le traite sans soucis. Cela ne lui coute que 1% de batterie.
  • Si Wall-E n’a pas assez de force, il peut puiser dans sa batterie pour augmenter sa force initiale (seulement pour le déchet en cours de traitement) :
    • 1 pt de force supplémentaire coute 2% de batterie.
    • Wall-E ne peut pas dépenser + de la moitié de sa batterie courante pour augmenter sa force.
    • S’il manque 4pt de force à Wall-E, il dépensera donc 8% de batterie pour traiter le déchet (s’il a assez de batterie)
  • Si malgré la batterie, il n’a pas assez de force pour traiter le déchet, Wall-E perd 2% de batterie et ne traite pas le déchet. Il ne sera plus jamais traité.
  • Si la batterie de Wall-E passe sous les 20%, il doit aller se recharger. Cela lui coute autant de batterie qu’il a de vitesse. Si sa vitesse est de 8, il utilise 8% de batterie pour aller se recharger. Il se recharge à 100% et utilise à nouveau de la batterie pour revenir, le même montant. Dans l’exemple, il revient avec 92% de batterie (100 – 8). Mais si la vitesse de Wall-E est supérieure à la batterie restante, alors il tombe en panne et le petit robot s’arrête.

Tu dois renvoyer le niveau de batterie final de Wall-E. Ou alors « KO » si Wall-E a puisé la totalité de sa batterie.

Le niveau de batterie final ne peut pas être inférieur à 20, il sera forcément allé se recharger avant.

Exemple de données et déroulé ↓ Afficher

Par défaut on le cache parce que ça peut prendre de la place. Tu n'es pas obligé de regarder le déroulé, qui peut te donner trop d'indices sur la résolution du challenge...

Corrigés du challenge

Ne va pas trop vite

Les corrigés te permettent de découvrir certains concepts techniques mais vont aussi te donner une solution au challenge. Code le challenge par toi même avant de consulter les corrigés ;)

Tests unitaires en PHP #3 : TDD avec PHPUnit et des dataprovider

On résout un challenge en TDD, pas à pas, avec PHPUnit et des dataprovider.

Crée un compte ou connecte-toi pour suivre ta progression.

Keep coding

Autres challenges à réaliser

Comment noter une classe d’étudiants ?
Comportemental Intermédiaire

Comment noter une classe d’étudiants ?

Aide un jeune professeur à noter rapidement une classe d’étudiants.

Attaque des Titans
Comportemental Avancé

Attaque des Titans

Le caporal Levi doit affronter des Titans dans le district de Trost. Aide-le à venir à bout de tous les Titans !

WALL-E #2
Comportemental Avancé

WALL-E #2

Wall-E est un petit robot chargé de nettoyer la planète. Il fait face à un tas de déchets divers. Tu dois programmer son fonctionnement pour qu’il traite correctement les déchets. Mais attention à ne pas tomber en manque de batterie !


Ta newsletter chaque mois

Corrigés, challenges, actualités, veille technique... aucun spam.