Code Hunt, le jeu de Microsoft Resarch qui vous apprend à programmer
à travers différents puzzles

Le , par Arsene Newman, Expert éminent sénior
Microsoft Resarch a annoncé ce 15 mai le lancement de Code Hunt, un jeu en ligne pour toute personne intéressée par la programmation informatique et qui souhaite en apprendre davantage d'une manière facile et amusante.

Le jeu se présente sous forme de puzzles à résoudre où le joueur doit écrire le code source permettant d'arriver au résultat escompté et donc de passer au puzzle suivant. Autre aspect important de la programmation informatique qui est repris dans Code Hunt : l'optimisation de la solution. En effet, un code optimisé permet au joueur de gagner plus de points.

De son côté, Microsoft a annoncé : « Aujourd'hui nous sommes heureux d'annoncer le lancement de Code Hunt, un jeu sur navigateur web pour quiconque intéressé par la programmation. Nous avons créé Code Hunt pour profiter du fait que toute tâche peut être plus efficace et plus durable quand cela est amusant ».

Ce projet a été mené à bien grâce à deux ingénieurs de Microsoft Research, Nikolai Tillmann et Peli de Halleux. Il est basé sur une précédente expérience, Pex4Fun, et sur la technologie Pex : l'implémentation Microsoft de l’exécution symbolique dynamique, qui permet d'analyser un programme et de déterminer l'impact de chaque entrée sur l’exécution du programme. Quant à la plateforme utilisée, il s'agit du cloud Microsoft Azure. Ce choix est dicté par la facilité du passage à l'échelle de la plateforme.

Par ailleurs, les chercheurs ont publié un papier pour expliquer l'approche utilisée. Ils présentent alors Code Hunt comme « un puzzle que les joueurs doivent explorer à l'aide d'indices présentés comme des cas de test. Les joueurs modifient leur code de manière itérative pour le faire correspondre au comportement fonctionnel des solutions secrètes ».

Enfin, il est à noter qu'à l'heure actuelle le jeu ne propose que deux langages de programmation : C# et Java. Mais il ne serait pas étonnant qu'il s’enrichisse d'autres langages dans un futur proche.

Source : blog.msdn.com

Et vous ?

Qu’en pensez-vous ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de temoanatini temoanatini - Membre averti https://www.developpez.com
le 22/05/2014 à 18:46
C'est marrant. Par contre, je dois être un peu débile, puisqu'après le tuto je bloque au niveau 1.6...
Avatar de Sirus64 Sirus64 - Membre éclairé https://www.developpez.com
le 22/05/2014 à 20:56
Code : Sélectionner tout
1
2
3
4
5
6
using System; 
public class Program { 
         public static int Puzzle(int x) { 
         return 4/x; 
         } 
}
Avatar de Jarodd Jarodd - Membre expérimenté https://www.developpez.com
le 22/05/2014 à 21:29
Pareil

On passe 20mn à faire des +2 et *3, et paf on se retrouve de suite avec un calcul bien bizarre

Edit : je 'navais pas actualisé donc pas vu la réponse de Sirus.
Avatar de 23JFK 23JFK - Membre éclairé https://www.developpez.com
le 22/05/2014 à 23:57
Amusant... Au bout de 10 exercices du même type, on est largement en zone d'agacement. En sus, le programme balance des erreurs de syntaxe quand on fait int L[] plutôt que int[] L .
Avatar de athlon64 athlon64 - Membre averti https://www.developpez.com
le 23/05/2014 à 3:16
C'est du Microsoft craché...
Avatar de Kylia Kylia - Nouveau membre du Club https://www.developpez.com
le 23/05/2014 à 8:59
Ce jeu est pas mal, par contre il peut mettre du temps avant de valider la réponse et ça devient agaçant.
Avatar de Delioneras Delioneras - Membre régulier https://www.developpez.com
le 23/05/2014 à 9:49
J'aime bien le concept du jeu, mais le moteur de calcul est débile.

01.10, il me pose le problème suivant
Code : Sélectionner tout
1
2
3
4
5
6
using System; 
public class Program { 
    public static int Puzzle(int x, int y) { 
        return 0; 
    } 
}
Avec dans le tableau de résultats:
X = 1, Y = 1, Expected = 1, Your Result = 0, Mismatch
X = 2, Y = 2, Expected = 2, Your Result = 0, Mismatch

Réponse de ma part
Code : Sélectionner tout
1
2
3
4
5
6
using System; 
public class Program { 
    public static int Puzzle(int x, int y) { 
        return x; 
    } 
}
Ce qui répond au problème
Et là, il me sort "Wrong answer"
Et il affiche le tableau
X = 1, Y = 1, Expected = 1, Your Result = 1, Check
X = 2, Y = 2, Expected = 2, Your Result = 1, Check
X=2, Y = 65, Expected = 23, Your Result = 2, Mismatch

C'est complètement idiot, et certainement pas fait pour apprendre à coder.
Apprendre à conceptualiser et résoudre des équations, je veux bien, mais développer sûrement pas.

Ou alors si, à développer avec un client de mauvaise foi.
Client: Mais ça marche pas votre truc, ça fait pas ce que je demande.
Dev: Mais si, regardez, c'est sur le cahier des charges.
Client: Mais il est pas bon votre cahier des charges, l'appli doit faire ça.
Dev: C'est VOTRE cahier des charges, et votre besoin là, il est pas noté.

Comment on peut résoudre un problème dont on n'a pas toutes les problématiques ? C'est idiot, et donc, pas au point.

Je peux comprendre que ma solution proposée soit pas la bonne, très clairement.
Mais que l'énoncé soit pas complet dès le départ, ça biaise le truc.

- Choisis un nombre entre 1 et 10
- Bah 7
- Raté, c'était 15

Avatar de SQUAL SQUAL - Membre habitué https://www.developpez.com
le 23/05/2014 à 10:50
Hello world,

déjà, il y a une erreur dans le titre et l'article (ResEarch) ^^.

J'ai essayé hier le jeu en voulant le proposer à mon petit frere pour esperer qu'il apprenne en s'amusant. Il a quand même été pris au jeu en essayant de résoudre les éénigmes proposées.
La question qui demandait les matchings sivants : 29 -> 0; 2->4; 3->1; 1->4 n'était pas évident et pourtant il a trouvé, car il a longtemps cherché car je pense qu'il y a inconsciemment l'esprit jeu video qui revient (passer absolument un niveau).

Je n'ai pas fait encore tout les niveaux, mais pour la "débilité" du programme, pour la 01.10, il s'agit de trouver une relation entre x et y, donc ne retourner que x semble ne pas répondre à la consigne ...

Sinon, je trouve que c'est une bonne initiative et qu'il est normal que ca ne marche pas trés bien, ils ont du faire ca trés vite.
Avatar de tomlev tomlev - Rédacteur/Modérateur https://www.developpez.com
le 23/05/2014 à 10:51
Citation Envoyé par 23JFK  Voir le message
En sus, le programme balance des erreurs de syntaxe quand on fait int L[] plutôt que int[] L .

Peut-être parce que c'est une erreur de syntaxe (en C# en tous cas)
Avatar de Delioneras Delioneras - Membre régulier https://www.developpez.com
le 23/05/2014 à 11:39
Citation Envoyé par SQUAL  Voir le message
Hello world,
Je n'ai pas fait encore tout les niveaux, mais pour la "débilité" du programme, pour la 01.10, il s'agit de trouver une relation entre x et y, donc ne retourner que x semble ne pas répondre à la consigne ...

Sinon, je trouve que c'est une bonne initiative et qu'il est normal que ca ne marche pas trés bien, ils ont du faire ca trés vite.

On est bien d'accord, ma solution était idiote.
Mais ma remarque est sur le fait de changer la consigne d'un exercice APRES que le joueur ait donné sa réponse.
Ce qui est aberrant en terme de développement (même si ça se fait souvent).

J'avais aussi proposé 2x-y comme solution à ce même puzzle, et ça a aussi été refusé.
Offres d'emploi IT
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Chef projet big data - pse flotte H/F
Safran - Ile de France - Évry (91090)
Ingénieur développement fpga (traitement vidéo) H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil