Avant-propos : Si tu n’as jamais vu l’Attaque des Titans, voici une vidéo très courte qui te permettra de comprendre de quoi il est mention dans l’énoncé ci-dessous : https://www.youtube.com/watch?v=fHvqaBQhZhw&t=70
Mission
Le caporal Levi doit affronter plusieurs Titans. Heureusement, il est entouré d’habitations et il va pouvoir utiliser son équipement tridimensionnel pour se déplacer et attaquer les titans avec ses épées.
Pour se déplacer, Levi consomme le gaz de son équipement tridimensionnel. Il y fait attention pour être sûr de ne pas se retrouver sans gaz lorsqu’il approche un Titan.
Levi va essayer de venir à bout de tous les Titans présents, mais selon son gaz, il ne pourra peut-être pas tous les éliminer…
Règles
Les Titans ont 3 caractéristiques :
Taille
Vitesse
PV (Points de Vie)
Les habitations ont 2 caractéristiques :
Hauteur
Distance
On considère que les Titans se trouvent sur la position « 0 » en permanence, et donc toujours à une distance fixe d’une habitation.
Levi respecte ces règles pour attaquer les Titans :
Il attaque les Titans dans l’ordre décroissant de leur taille, le + grand en premier donc.
Pour affronter un Titan, il va chercher à se positionner sur une habitation qui se trouve au-dessus du Titan, tout en étant le + proche possible. Par exemple, si un Titan a un une taille de 20 m, et qu’il y a 2 habitations de 21 m et 23 m. Levi ira sur celle de 21 m. Peu importe la distance.
S’il n’y a pas d’habitation + haute que la taille du Titan, il va sur l’habitation la + haute possible.
Quand il affronte un Titan, il fait des allers-retours entre l’habitation et le Titan, mais ne change pas d’habitation.
Quand un Titan meurt, il choisit alors le nouveau Titan à affronter et peut donc changer d’habitation à ce moment-là.
Pour réussir le challenge, Il faut compter les coups portés par Levi : (et retourner le total)
1 coup d’épée = 1 pt (même si c’est le coup fatal).
1 titan abattu = 100 pts
S’il faut 3 coups pour tuer un Titan, Levi engrange 103pts.
Voici les formules qui permettent de calculer la puissance des coups de Levi, et le gaz consommé à chaque fois :
Si Levi se trouve au-dessus du Titan :
Puissance = (hauteur de l’Habitation – taille du Titan) * 10 + distance de l’Habitation * 2 – vitesse du Titan.
Gaz consommé = (hauteur de l’Habitation – taille du Titan + distance de l’Habitation)
Si Levi se trouve en dessous du Titan :
Puissance = Abs(hauteur de l’Habitation – taille du Titan) * 5 + distance de l’Habitation * 2 – vitesse du Titan.
Gaz consommé = Abs(hauteur de l’Habitation – taille du Titan + distance de l’Habitation)
Abs représente la fonction « Valeur Absolue ».
Derniers éléments :
La puissance correspond au nombre de PV que perdra le Titan à chaque coup. Le Titan meurt lorsque ses PV tombent à zéro (ou moins).
2 Titans n’ont jamais la même taille.
2 Habitations n’ont jamais la même hauteur.
Pour monter sur une Habitation, Levi consomme en Gaz l’équivalent de la hauteur de l’Habitation
Si Levi change d’Habitation, il consomme en Gaz l’équivalent de la différence de hauteur entre les 2 Habitations. Pour passer d’une Habitation de 27 m à une Habitation de 20 m, Levi consomme 7 de Gaz.
Jetez un œil aux jeux de données pour être sûr de bien tout comprendre
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...
Quelques indications et indices sur la résolution du challenge.
Je commence par attaquer le Titan 0 Je m'envole sur l'habitation 0. Ca me coute 24 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Je frappe le Titan avec mes épées, il perd 102 PV (+ 1pt). Cette frappe me coute 31 de gaz. Le Titan 0 est vaincu ! (+ 100pts) Je vais maintenant attaquer le Titan 1 Je reste sur l'habitation 0 Je frappe le Titan avec mes épées, il perd 125 PV (+ 1pt). Cette frappe me coute 33 de gaz. Je frappe le Titan avec mes épées, il perd 125 PV (+ 1pt). Cette frappe me coute 33 de gaz. Je frappe le Titan avec mes épées, il perd 125 PV (+ 1pt). Cette frappe me coute 33 de gaz. Je frappe le Titan avec mes épées, il perd 125 PV (+ 1pt). Cette frappe me coute 33 de gaz. Je frappe le Titan avec mes épées, il perd 125 PV (+ 1pt). Cette frappe me coute 33 de gaz. Je frappe le Titan avec mes épées, il perd 125 PV (+ 1pt). Cette frappe me coute 33 de gaz. Le Titan 1 est vaincu ! (+ 100pts) Je vais maintenant attaquer le Titan 2 Je passe de l'habitation 0 à l'habitation 1. Ca me coute 9 de gaz Je frappe le Titan avec mes épées, il perd 140 PV (+ 1pt). Cette frappe me coute 46 de gaz. Je frappe le Titan avec mes épées, il perd 140 PV (+ 1pt). Cette frappe me coute 46 de gaz. Je frappe le Titan avec mes épées, il perd 140 PV (+ 1pt). Cette frappe me coute 46 de gaz. Je frappe le Titan avec mes épées, il perd 140 PV (+ 1pt). Cette frappe me coute 46 de gaz. Je n'ai plus assez de gaz pour frapper le Titan L'attaque des Titans m'a rapporté 223 pts.
Bon à savoir
Les données changent à chaque affichage de la page.
Cet échantillon de données te permet de tester le challenge.
Une fois connecté, tu auras à disposition des jeux de données + complets.
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 ;)
Python
Les dev ont du talent #1 – Objets en Python
Résolution du challenge en Python : création d’objets, constructeurs, méthodes, et utilisation de la fonction sorted
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 !
Comportemental
Intermédiaire
WALL-E #4 : un peu de rangement
Wall-E s’ennuie un peu et décide de ranger tous les blocs de déchets qu’il a construit.
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 !