Advertisement
Guest User

Untitled

a guest
Apr 10th, 2020
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Variable globales, à ne pas changer !!
  2. var tableauImage = { "B":'photos\\biblio.png', "D":'photos\\dirt.png', "S":'photos\\sand.png',"G":'photos\\glowstone.png', "R":'photos\\redstone.png',"E":'photos\\emerald.png',
  3. "I":'photos/diamond.png', "C":'photos/cobble.png', "M":'photos/magma.gif', "P":'photos/pumpkin.png', "O":'photos/command.gif'};
  4. var Lignes = 1;
  5.  
  6. /* /!\ TRES IMPORTANT /!\
  7. ICI SE TROUVE UN LISTENER, ON S'ASSURE QUE LA PAGE SOIT COMPLETEMENT CHARGER AVANT DE LOAD LES FONCTIONS */
  8. $( document ).ready(function() {
  9.  
  10.     $(".placebloc img").on('click', addItem);
  11.  
  12.     $(document).keypress(function (e) {
  13.         if (e.which == 13) {
  14.             valider();
  15.         }
  16.     });
  17.  
  18.  
  19.     $(document).on('keydown', function(event) {
  20.        if (event.key == "Escape") {
  21.          window.location.href = 'Accueil.html';
  22.         }
  23.    });
  24.  
  25.  
  26.     setCode();
  27. });
  28.  
  29.  
  30.  
  31. //---- HTML : LECTURE DES VALEURS INSCRITES DANS LES CLASSE OU ID DU HTML, POUR POUVOIR LIRE LES NUMEROS DE CASES, LIGNES
  32. function getHtmlLigne() {
  33.     return $("#ligne").val();
  34. }
  35.  
  36. function getHtmlCase() {
  37.     return $("#case").val();
  38. }
  39.  
  40. //---- LIGNE : LECTURE DU CODE
  41. function getLine(i){
  42.     var case1=$('.ligne'+i+' #case1').attr('class');
  43.     var case2=$('.ligne'+i+' #case2').attr('class');
  44.     var case3=$('.ligne'+i+' #case3').attr('class');
  45.     var case4=$('.ligne'+i+' #case4').attr('class');
  46.     return case1+case2+case3+case4;
  47. }
  48.  
  49. function setLine(line,code){
  50.     var letters=code.split('');
  51.     console.log(letters);
  52.     for(i=1;i<=letters.length;i++){
  53.         console.log('.ligne'+line+" "+'#case'+i);
  54.         console.log(tableauImage[letters[i]]);
  55.         //$('.ligne'+line+" "+'#case'+i).attr('src',tableauImage[letters[i-1]]);
  56.         setLineCase(line,i,letters[i-1]);
  57.     }
  58.     $("#ligne").val(parseInt(getHtmlLigne())+1);
  59.    
  60. }
  61.  
  62. function setLineCase(line,node,letter){
  63.     $('.ligne'+line+" "+'#case'+node).attr('src', tableauImage[letter]);
  64.     $('.ligne'+line+" "+'#case'+node).addClass(letter);
  65. }
  66.  
  67. function setLineCaseRes(line,node,letter){
  68.     $('.ligneRes'+line+" "+'#caseRes'+node).attr('src', tableauImage[letter]);
  69.     $('.ligneRes'+line+" "+'#caseRes'+node).addClass(letter);
  70. }
  71.  
  72. function setCase(value) {
  73.     //$("#case").val(value);
  74.     $("#case").attr('value', value);
  75. }
  76.  
  77. function addItem() {
  78.     //console.log($(this).attr('id'));
  79.     if (handleError()) return;
  80.    
  81.     switch($(this).attr('id')){
  82.         case "biblio_item" :
  83.             setLineCase(0,getHtmlCase(),'B');
  84.             break;
  85.         case "dirt_item" :
  86.             setLineCase(0,getHtmlCase(),'D');
  87.             break;
  88.         case "sand_item" :
  89.             setLineCase(0,getHtmlCase(),'S');
  90.             break;
  91.         case "glowstone_item" :
  92.             setLineCase(0,getHtmlCase(),'G');
  93.             break;
  94.         case "cobble_item" :
  95.             setLineCase(0,getHtmlCase(),'C');
  96.             break;
  97.         case "magma_item" :
  98.             setLineCase(0,getHtmlCase(),'M');
  99.             break;
  100.         case "pumpkin_item" :
  101.             setLineCase(0,getHtmlCase(),'P');
  102.             break;
  103.         case "command_item" :
  104.             setLineCase(0,getHtmlCase(),'O');
  105.             break;
  106.     }
  107.     setCase(parseInt(getHtmlCase())+1);
  108.  
  109. }
  110.  
  111. function handleError() {
  112.     if (parseInt(getHtmlCase()) === 5) {
  113.         return true;
  114.     }
  115.     return false;
  116. }
  117.  
  118. function clearLine(line){
  119.     for(i=1;i<=4;i++){
  120.         $('.ligne'+line+" "+'#case'+i).attr('src',"photos/transparent.png");
  121.         $('.ligne'+line+" "+'#case'+i).attr('class','');
  122.     }
  123.    
  124. }
  125.  
  126. function versAccueil(){
  127.     location.href = "Accueil.html";
  128. }
  129.  
  130.  
  131. //En cliquant sur le coffre, valide le choix du joueur
  132. function valider(){
  133.         if (parseInt(getHtmlLigne()) >= 11 && parseInt(getHtmlLigne()) < 12 ) {
  134.             $('#steve #panal').attr('src', 'photos/signEssai.png');
  135.         }
  136.  
  137.         if (parseInt(getHtmlLigne())>=12) {
  138.                 $('#steve #panal').attr('src', 'photos/signPerdu.png');
  139.                 $('#steve #lien').attr('href', 'Accueil.html');
  140.         }
  141.  
  142.         console.log($(this).attr('id'));
  143.         if (parseInt(getHtmlCase()) >= 5) {
  144.             afficheResultat();
  145.             setCase(1);
  146.             setLine(getHtmlLigne(),getLine(0));
  147.             clearLine(0);
  148.             checkCode(getLine(getHtmlLigne()-1));
  149.            
  150.             return true;
  151.         }
  152.         return false;
  153. }
  154.  
  155. //----CODE :  CREATION, SETTER, GETTER, CHECK
  156.  
  157. //Création du code aléatoirement à partir des lettres BDSG
  158. function createCode() {
  159.    var result           = '';
  160.    var characters       = 'BDSGCMPO';
  161.    var charactersLength = characters.length;
  162.    for ( var i = 0; i < 4; i++ ) {
  163.       result += characters.charAt(Math.floor(Math.random() * charactersLength));
  164.    }
  165.    return result;
  166. }
  167.  
  168. //Setter du code aléatoire dans l'input destiné à cela, ligne 184 - MasterCraftHard.HTML
  169. function setCode() {
  170.     masterMindCode = createCode(); // TODO random
  171.     $("#code").val(masterMindCode);
  172. }
  173.  
  174. //Getter du code aléatoire dans l'input destiné à cela, ligne 184 - MasterCraftHard.HTML
  175. function getCode(){
  176.     return $("#code").val();
  177. }
  178.  
  179. //Test si le code aléatoire correspond au code proposé par le Joueur                  ----GAGNÉ
  180. function checkCode(testCode) {
  181.     //return testCode==getCode();
  182.     if (testCode == getCode()) {
  183.         $('#steve #panal').attr('src', 'photos/signGagne.png');
  184.  
  185.         $('#steve #lien').attr('href', 'Accueil.html');
  186.         $(".placebloc img").remove()
  187.     } else {
  188.         return false;
  189.     }
  190. }
  191.  
  192.  
  193.  
  194.  
  195. //----RESULTAT : CHECK, AFFICHAGE
  196.  
  197. function afficheResultat(){
  198.     //var caseS = 1;
  199.     var codeJoueur = getLine(0).split('');
  200.     var codeATrouver = getCode().split('');
  201.  
  202.     for (var i = 0; i < 4; i++) {
  203.         if (codeATrouver.includes(codeJoueur[i])) {
  204.             if(codeJoueur[i] == codeATrouver[i]){
  205.             setLineCaseRes(Lignes,i+1,'I');
  206.             } else {
  207.                 setLineCaseRes(Lignes,i+1,'E');
  208.             }
  209.         } else{
  210.             setLineCaseRes(Lignes,i+1,'R');
  211.         }
  212.     }  
  213.     Lignes++;
  214.     //caseS = 1;
  215. }
  216.  
  217. function annuler(){
  218.     $('.ligne'+0+" "+'#case'+parseInt(getHtmlCase()-1)).attr('src',"photos/transparent.png");
  219.     $('.ligne'+0+" "+'#case'+parseInt(getHtmlCase()-1)).attr('class','');
  220.  
  221.     if ($('.levier img').attr('src') == 'photos/levierDown.png'){
  222.         $('.levier img').attr('src', 'photos/levierUp.png');
  223.     } else {
  224.         $('.levier img').attr('src', 'photos/levierDown.png');
  225.     }
  226.  
  227.     if ((parseInt(getHtmlCase())-1) >=1) {
  228.         setCase(parseInt(getHtmlCase())-1);
  229.     }
  230. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement