Challenge dont je ne trouve pas la reponse

Challenge dont je ne trouve pas la reponse - HTML/CSS - Programmation

Marsh Posté le 22-03-2005 à 18:58:42    

slt
 
un ami m'a posé une colle en me donnant ce programme et je n'arrive pas à trouver la solution (je suis plutot php  :) ) le voici :  
 

Code :
  1. <SCRIPT LANGUAGE='JavaScript'>
  2. <!--
  3. function speak() {
  4. var codenm = new String(document.codename.name.value);
  5. var i = 0;
  6. var len = codenm.length;
  7. var xor = 1;
  8. var sol = new Array(82, 113, 98, 100, 102, 78, 98, 111);
  9. var good = "Good to see you friend. Let's get on with this mission...";
  10. var bad = "I'm sorry, i dont recognise you. Goodbye.";
  11. var res = 1;
  12. if (len != 8) res = 0;
  13. for(i = 0; i < len; i++) {
  14.  if (res) {
  15.   if (sol[i] != (codenm.charCodeAt(i) - xor)) res = 0;
  16.   if (xor)
  17.    xor = -1;
  18.   else
  19.    xor = 1;
  20.  }
  21. }
  22. if (res)
  23.  res = good;
  24. else
  25.  res = bad;
  26. alert(res);
  27. }
  28. -->
  29. </script>


 
Si vous trouvez la solution veuillez bien repondre svp
 
merci d'avance
 
@+
TiDUS62

Reply

Marsh Posté le 22-03-2005 à 18:58:42   

Reply

Marsh Posté le 22-03-2005 à 19:04:17    

personne n'a d'idée ??

Reply

Marsh Posté le 22-03-2005 à 19:32:03    

personne ne veut m'aider ??

Reply

Marsh Posté le 23-03-2005 à 11:08:28    

Sans meme chercher a comprendre, en debobinant le truc a l'envers, c'est pas dur ... et en analysant un peu le code on voit ou est le probleme (le code est relativement transparent, y'a juste un truc qui m'a tilte)  
 
PS : la solution est le titre (identique) deux films sortis en 1997 et 1998 :)


Message édité par Gonzoide le 23-03-2005 à 11:14:11
Reply

Marsh Posté le 23-03-2005 à 11:43:14    

Tu peux expliquer Gonzoide, parce que là, je vois pas !
:(


Message édité par babar9160 le 23-03-2005 à 11:44:18
Reply

Marsh Posté le 23-03-2005 à 11:51:46    

Je pense avoir trouvé, mais je savais pas que c'était le titre de deux films...  
 
Ps : ce serait-y pas le titre d'une chanson aussi ?

Reply

Marsh Posté le 23-03-2005 à 12:35:02    

babar9160 a écrit :

Je pense avoir trouvé, mais je savais pas que c'était le titre de deux films...  
 
Ps : ce serait-y pas le titre d'une chanson aussi ?


 
Le coup du titre, j'ai cherche sur imdb a tout hasard, histoire de montrer que je trollais pas, mais sans spoiler.
 
PS : la ligne 18 est tres suspecte ...

Reply

Marsh Posté le 23-03-2005 à 14:15:08    

Vérification sur imdb, et c'est bien ce que j'avais trouvé...
Par contre t'es sur pour la ligne 18... celle où il n'y à rien ? Je vois rien de suspect, mais bon, je suis pas un pro de JS non plus ;)

Reply

Marsh Posté le 23-03-2005 à 14:56:57    

babar9160 a écrit :

Vérification sur imdb, et c'est bien ce que j'avais trouvé...
Par contre t'es sur pour la ligne 18... celle où il n'y à rien ? Je vois rien de suspect, mais bon, je suis pas un pro de JS non plus ;)


 
je voulais parler de : if (xor)

Reply

Marsh Posté le 23-03-2005 à 15:09:04    

Je comprends mieux, oui moi aussi c'est ça qui ma mis la puce à l'oreille et qui m'a fait trouver.
Sinon, Tidus n'a pas l'air très motivé pour venir voir les réponses ! Dommage on aurait pu lui donner des indices :p ;)

Reply

Marsh Posté le 23-03-2005 à 15:09:04   

Reply

Marsh Posté le 24-03-2005 à 14:34:09    

si si je suis la !!!

Reply

Marsh Posté le 24-03-2005 à 14:35:13    

allez y donnez moi des indices, j'adore les devinettes

Reply

Marsh Posté le 24-03-2005 à 14:42:33    

Ben on a déjà donné deux gros indices quand même...
En même temps faut que toi tu fasses des propositions :p
 
Je te dirais si ton raisonnement est correct.

Reply

Marsh Posté le 24-03-2005 à 14:44:04    

ecoute je ne m'y connais pas trop en javascript
attends je vais essayer de trouver une solution
en tout cas c'est une chanson et aussi un film

Reply

Marsh Posté le 24-03-2005 à 14:45:10    

la seule chose qui m'ennuie c'est ca  

Code :
  1. var codenm = new String(document.codename.name.value);

Reply

Marsh Posté le 24-03-2005 à 14:46:55    

Code :
  1. if (sol[i] != (codenm.charCodeAt(i) - xor))


 
ca aussi je comprends pas
si tu m'aides sur ces deux elements je pourrai trouver

Reply

Marsh Posté le 24-03-2005 à 14:57:41    

TiDUS62 a écrit :

ecoute je ne m'y connais pas trop en javascript
attends je vais essayer de trouver une solution
en tout cas c'est une chanson et aussi un film


 
Ben si tu ne t'y connais pas trop en javascript, tu pourras pas trouver de maniere "logique", puisque ca exploite un abus d'ecriture avec lequel tu n'es (visiblement) pas familier.

Reply

Marsh Posté le 24-03-2005 à 14:59:30    

moi aussi je suis curieux de savoir de quoi vous parlez...

Reply

Marsh Posté le 24-03-2005 à 15:01:01    

euh, juste pour dire, je n'ai jamais fait de JavaScript que dans le cadre d'un minuscule projet... Et ça a duré environ 1 minute 30, histoire de voir, j'ai vite laché et laissé la chose à mon collègue ;)
Donc si tu as l'esprit logique, et que tu es polyglotte programmation, tu devrais trouvé...
 
Après, dans mon cas, il y a google mon ami, qui m'a soufllé l'utilité des fonctions qui te posent problème.
 
Sur ce...

Reply

Marsh Posté le 24-03-2005 à 15:02:49    

si je reconnais certaines commandes utilisés dans php du style if for else array, ...
je me doute que var est l'attribution d'une valeur à une variable mais apres je ne comprends pas les lignes que je t'ai donné au dessus...

Reply

Marsh Posté le 24-03-2005 à 15:06:13    

sol[i] => variable au ième rang du tableau sol
codenm.charCodeAt(i) => donne le code ASCII du caractère qui se trouve à la ième position dans la string.
 
après c'est juste un test de différence !=
 
en ce qui concerne le - xor je pense que ce n'est pas la peine que je l'explique si ?
 
Je pense que là je t'ai donné un bon indice pour comprendre, non ? :sol:


Message édité par babar9160 le 24-03-2005 à 15:07:58
Reply

Marsh Posté le 24-03-2005 à 15:07:58    

merci
pour le - xor je confirme j'ai compris :)

Reply

Marsh Posté le 24-03-2005 à 15:19:33    

okay, en fait je cherchais pas le bon truc [:kiki]

Reply

Marsh Posté le 24-03-2005 à 15:23:33    

Tu cherchais quoi cosmo ?

Reply

Marsh Posté le 24-03-2005 à 15:26:03    

ben je savais pas [:dawa]
 
spour ca que je risquais pas de trouver :D
 
 
(edit : et puis j'avais super faim, ca m'empêchait de réfléchir :o)


Message édité par cosmoschtroumpf le 24-03-2005 à 15:26:32
Reply

Marsh Posté le 25-03-2005 à 10:54:10    

Beaucoup de monde passe, pas grand monde n'a la solution apparemment. Un indice serait-il nécessaire ? :o

Reply

Marsh Posté le 25-03-2005 à 21:01:14    

oui ca serait sympa
comme par exemple le nom du réalisateur, les acteurs ...

Reply

Marsh Posté le 26-03-2005 à 17:15:49    

TiDUS62 a écrit :

oui ca serait sympa
comme par exemple le nom du réalisateur, les acteurs ...


Ben non, ca serait vraiment prendre le probleme a l'envers ... l'idee du challenge original c'est de trouver ce qui va pas dans le javascript, pas de browser imdb :/ On te dit que c'est la ligne 'if (xor)' le probleme, tu peux peut-etre chercher un peu, non ?


Message édité par Gonzoide le 26-03-2005 à 17:16:42
Reply

Marsh Posté le 27-03-2005 à 13:40:55    

Disons que le problème, c'est ça en théorie : tu entres un nom dans un input, tu lances la fonction, et ca te dit si t'as trouvé le bon nom. Si tu comprends comment la fonction marche, tu devrais pas avoir de problème à faire l'inverse pour trouver le nom à partir du tableau de chiffres...

Reply

Marsh Posté le 27-03-2005 à 15:17:44    

Euh, j'ai un doute (bon, pis en plus, je suis à côté de mes pompes, je trouve pas le bon résultat (je pense savoir de quel film vous parlez, mais j'ai des fautes dedans :D)
 
Le if (xor), c'est bien vrai si xor > 0 et false si <= 0, c'est bien ça ?

Reply

Marsh Posté le 27-03-2005 à 15:25:12    

Argh, non, groumpf, j'y panne plus rien. J'ai bien trouvé le nom du film, mais xor ne semble devenir false que si le test = 0, ce qui n'est jamais le cas :D

Reply

Marsh Posté le 27-03-2005 à 19:22:17    

C'est pas trop compliqué pour trouver la soluce : il faut faire un script qui prend le tableau d'entiers et qui en fait le traitement inverse de cette fonction.

Reply

Marsh Posté le 29-03-2005 à 09:04:06    

Arjuna, t'as trouvé LE problème... enfin si c'est un problème, et le test if(xor) avec xor= -1 est un gros abus de programmation. pour qu'il soir FAUX il faudrait donc bien que xor = 0. ;)
 
Je pense que l'auteur de ce script l'a bien compris car le titre ne se trouve quand ayant vu cette fainte...
 
Enfin... je suis sûr que maintenant vous avez trouvé le titre :o non ?


Message édité par babar9160 le 29-03-2005 à 09:04:32
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed