Voilà une trouvaille bien sympathique glanée chez Korben, qui va vous permettre de tâter de l’intelligence artificielle et de la programmation Ruby tout en vous amusant. Le but du jeu est simple et consiste en gros à mener votre vaillant guerrier en haut d’une tour, à l’aide des compétences en programmation que vous possédez ou que vous allez acquérir au fil des niveaux. Pour comprendre le principe il suffit de jeter un œil à la capture ci-dessus, où vous pouvez voir votre guerrier trépigner d’impatience à l’idée de monter les marches situées à droite de l’écran. Pour qu’il puisse le faire il va falloir que vous entriez la portion de code adéquate dans la console située plus bas, ce qui vous mènera au niveau suivant.
Comme on n’est pas vache dans l’étable je vais vous aider un peu à l’aide de la capture ci-dessous, où vous pouvez voir qu’une nouvelle ligne a été ajoutée au code de base :
L’instruction « warrior.walk! » a eu pour but d’indiquer au personnage qu’il était temps de se mettre en marche et à ce stade du jeu le level 1 sera bouclé. La prochaine étape vous mènera à un autre niveau où vous devrez marcher et tabasser une drôle de bestiole. Un autre instruction a donc été ajoutée « warrior.feel », mais je vous le dis tout de suite celle-ci ne sera pas suffisante pour clore le level. Vous devrez trouver le reste par vous même :D …
Rassurez-vous car même si vous n’y connaissez rien vous aurez toujours de quoi trouver la solution, grâce à une fenêtre apparaissant à la fin d’un test (Need a CLUE) ou en vous rendant sur cette page.
Si vous voulez en voir un peu plus vous pouvez également visionner cette petite vidéo :
Alors j’ai vraiment trouvé le concept très sympa, car il permet de mieux comprendre certain aspects de l’IA et qu’il permet en prime d’apprendre un langage de programmation de manière ludique.
Si ça vous tente vous pouvez vous y mettre en y jouant en ligne, ou encore mieux, en l’installant sur votre distributions GNU/Linux à l’aide des sources. Oui, c’est libre \o/
Amusez-vous bien et bonne prog.
PS : L’histoire ne nous dit pas si une princesse nous attends en haut de la tour, alors si vous y arrivez ne nous laissez pas dans l’ignorance et venez nous rencarder :)
Comme d’habitude, en elaguant le code , je suis arive a :
Level 1: S
Level 2: A
Level 3: S
Level 4: S
Level 5: A
Level 6: S
Level 7: S
Level 8: S
Level 9: S
La structure reste la meme, mais il y amoins de « gras »
Je vais dormir, la.
Apres avoir fait les etapes une a une , on peut relancer le script pour tout tenter en une fois.
Le scoring se fait avec une echelle de SABCDF. S pour super, jusqu’a F pour ce que vous voulez.
J’ai :
Level 1: S
Level 2: B
Level 3: A
Level 4: A
Level 5: A
Level 6: A
Level 7: A
Level 8: S
Level 9: A
avec
class Player
def play_turn(warrior)
@myreverselook = warrior.look(:backward)
for i in 0..2
non_nothing= »#{@myreverselook[i]} »
@sens = :backward
if non_nothing != « nothing »
break
end
end
if non_nothing == « nothing » or non_nothing == « wall »
@mylook = warrior.look
for i in 0..2
non_nothing= »#{@mylook[i]} »
@sens = :forward
if non_nothing != « nothing »
break
end
end
end
case non_nothing
when « nothing »
if warrior.health < 20
warrior.rest!
else
warrior.walk!(@sens)
end
when "wall"
if warrior.feel(@sens).empty?
warrior.walk!(@sens)
else
warrior.pivot!
end
when "Sludge"
if warrior.feel(@sens).empty?
if warrior.health < 20
warrior.rest!
else
warrior.walk!(@sens)
end
else
warrior.attack!
end
when "Wizard", "Thick Sludge","Archer"
warrior.shoot!(@sens)
when "Captive"
if warrior.feel(@sens).empty?
warrior.walk!(@sens)
else
warrior.rescue!(@sens)
end
else
puts "Si t'es la, c'est que t'as merde un truc…"
puts " CORRIGE"
end
end
end
Concernant la princesse cachee dans le donjon, j’ai eu cette reponse en version facile :
CONGRATULATIONS! You have climbed to the top of the tower and rescued the fair maiden Ruby.
Je pense que ce repond a la question.
PS: en version locale, car flash me mange la batterie a un rhythme …
PPS: pour compiler le code ruby, il suffit de lire les recommendations dans le fichier README. On reste en ruby. c’est independant des versions de linux.
Merci, c’est cool. Au moins on est fixés :)
Excellent :)
Dans le même genre, mais avec javascript : http://alexnisnevich.github.io/untrusted
Huuum, je vais l’installer parce que dans le navigateur je n’arrive pas a faire bouger mon perso !
En tout cas c’est une belle découverte.
Double poste désolé !
Peux-tu m’expliquer comment le compiler sous arch ?
Voici ce que j’ai fait:
1.git clone https://github.com/ryanb/ruby-warrior
2. cd ruby-warrior
3. sudo makepkg –asroot
=> ==> ERREUR : PKGBUILD n’existe pas.
Désolé, je suis une tanche en compilation :)
C’est du ruby, y’a rien à compiler…
Sans vouloir paraître désagréable, il y a un fichier readme, il n’est pas là pour rien.
Installe ruby sur ton Arch ( sur ton terminal ça doit être un truc du genre « sudo pacman -S ruby » ) et la gem rubywarrior ( « gem install rubywarrior » ) et c’est réglé.
Documentez-vous un minimum avant de vouloir faire n’importe quoi ! ;) Si vous cherchez à compiler du ruby c’est que vous ne savez clairement pas ce que c’est, être curieux c’est bien, mais soyez curieux de façon efficace, sinon ça sert pas à grand chose.
Tu parais désagréable et autoritaire mais c’est pas méchant j’imagine. En tout cas merci. J’ai quelques bases en C et je pensais que c’était pareil : fallait compiler.
Si j’en crois le smilley je dirais que ce n’est pas méchant, mais juste un peu agacé. Après c’est un peu mérité quand même car j’ai eu la flemme de le télécharger pour voir et que tu n’as pas lu le readme ;)