Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. var coup=document.getElementById("coup");
  2. var jouer=document.getElementById("jouer");
  3.  
  4. jouer.onclick=function(){
  5. jouerCoup(coup.value);
  6. attenteCoup();
  7. }
  8.  
  9. coup.onkeypress=function(event){
  10. if(event.keyCode==13){
  11. jouer.onclick(); //entrée c'est l'équivalent d'un clic sur le bouton
  12. }
  13. }
  14.  
  15. function attenteCoup(){
  16. coup.value="";
  17. coup.focus();
  18. }
  19. conversion(position)
  20.  
  21. function conversion(position){
  22.  
  23. var colonne=position.charCodeAt(0)-65;
  24. var ligne=parseInt(position.slice(1))-1;
  25.  
  26. return {colonne:colonne, ligne:ligne};
  27. }
  28. getCodeCase(position)
  29.  
  30. function getCodeCase(position){
  31. var c=conversion(position);
  32. return plateau[c.ligne][c.colonne];
  33. }
  34. setCodeCase(position,valeur)
  35.  
  36. function setCodeCase(position,valeur){
  37. var c=conversion(position);
  38. plateau[c.ligne][c.colonne]=valeur;
  39. }
  40. majVueJeu(position,situation)
  41.  
  42. function majVueJeu(position,situation){
  43.  
  44. if(finPartie){
  45. alert(message[situation]+"\nVous avez coulé tous les navires en "+nbCoups+" coups");
  46. location.reload();
  47. }else{
  48. alert(message[situation]);
  49. }
  50.  
  51. var couleur="#FF0000";
  52. if (getCodeCase(position)==-6){couleur="#BBBBFF";}
  53. document.getElementById(position).style.backgroundColor=couleur;
  54. }
  55. jouerCoup(position)
  56.  
  57.  
  58. function jouerCoup(position){
  59. nbCoups++;
  60. var codeCase=getCodeCase(position);
  61.  
  62. var situation=codeCase;
  63.  
  64. switch(codeCase){
  65. case 0:
  66. setCodeCase(position,-6);
  67. break;
  68. case 1: case 2: case 3: case 4: case 5:
  69. navires[codeCase]--;
  70. if(navires[codeCase]==0){situation+=10;}
  71. setCodeCase(position,-codeCase);
  72.  
  73. touches++;
  74. if(touches==17){finPartie=true;}
  75. break;
  76. default:
  77. situation=6;
  78. }
  79.  
  80. majVueJeu(position,situation);
  81. }
  82. placeBateau(ligneDepart,colonneDepart,vertical,code,longueur)
  83. function placeBateau(ligneDepart,colonneDepart,vertical,code,longueur){
  84. var incrementLigne,incrementColonne;
  85. var succes=true;
  86.  
  87. if(vertical){
  88. incrementLigne=1;
  89. incrementColonne=0;
  90. }else{
  91. incrementLigne=0;
  92. incrementColonne=1;
  93. }
  94.  
  95. for(var i=0;i<longueur;i++){
  96. if(plateau[ligneDepart+i*incrementLigne][colonneDepart+i*incrementColonne]!=0){
  97. succes=false;
  98. break;
  99. }
  100. }
  101.  
  102. if(succes){
  103. for(var i=0;i<longueur;i++){
  104. plateau[ligneDepart+i*incrementLigne][colonneDepart+i*incrementColonne]=code;
  105. }
  106. }
  107.  
  108. return succes;
  109. }
  110. positionHasardBateau(code,longueur)
  111.  
  112. function positionHasardBateau(code,longueur){
  113. var departLimite,depart;
  114. var succes=false;
  115.  
  116. while(!succes){
  117.  
  118. departLimite=Math.floor(Math.random()*(11-longueur));
  119. depart=Math.floor(Math.random()*10);
  120.  
  121. if(Math.random()<0.5){
  122. succes=placeBateau(departLimite,depart,true,code,longueur);
  123. }else{
  124. succes=placeBateau(depart,departLimite,false,code,longueur);
  125. }
  126. }
  127. }
  128. placeBateaux()
  129.  
  130. function placeBateaux(){
  131. for(var ligne=0;ligne<=9;ligne++){
  132. plateau[ligne]=[0,0,0,0,0,0,0,0,0,0];
  133. }
  134.  
  135. positionHasardBateau(5,2);
  136. positionHasardBateau(3,3);
  137. positionHasardBateau(4,3);
  138. positionHasardBateau(2,4);
  139. positionHasardBateau(1,5);
  140. }
  141.  
  142. attenteCoup();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement