Aliendreamer

cards 01

Jan 19th, 2019
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     // <section class="cards"> - това е parenta в нашия template
  3.     let workingDiv = document.getElementById("exercise");
  4.     const elTagSearched="IMG";
  5.     const playerOneDiv="player1Div";
  6.     const playerTwoDiv="player2Div";
  7.     workingDiv.addEventListener("click",(e)=>ClickOnCard(e));
  8.     let cardHand=[];
  9.         function ClickOnCard(event)
  10.         {
  11.             let card=event.target;
  12.             let cardElementTag=card.tagName;
  13.             let parent=card.parentNode.id;
  14.             card.src="images/whiteCard.jpg";
  15.             cardHand.push(card);
  16.             if(cardElementTag==elTagSearched){
  17.                 let value=Number(card.name);
  18.                 let round= SetCardValueInResult(value,parent);
  19.                 SetTimeOutFinishRoundSetBorders(round);
  20.             }
  21.         }  
  22.         function SetCardValueInResult(value,parent){
  23.             let resultDiv=document.getElementById("result");
  24.             let resultSpans=resultDiv.children;
  25.             if(parent==playerOneDiv){
  26.                 resultSpans[0].innerText=value;
  27.             }
  28.             if(parent==playerTwoDiv){
  29.                 resultSpans[2].innerText=value;
  30.             }
  31.             if(resultSpans[0].innerText!=="" && resultSpans[2].innerText!==""){
  32.                 return true;
  33.             }
  34.             return false;
  35.         }
  36.         function SetTimeOutFinishRoundSetBorders(round){
  37.             if(round==false){return;}
  38.             let resultDiv=document.getElementById("result");
  39.             let resultSpans=resultDiv.children;
  40.             let resultPlayerOne=Number(resultSpans[0].innerText);
  41.             let resultPlayerTwo=Number(resultSpans[2].innerText);
  42.             // честно тук не тримваме очаквания резутат и трябва да добавям space в стринга
  43.             let result=`[${resultPlayerOne} vs ${resultPlayerTwo}] `;
  44.             // border case you hit equal cards and only loser get colored so changed to >=
  45.             let winner=resultPlayerOne>=resultPlayerTwo;            
  46.             SetCardBorders(winner,cardHand);
  47.             //[x vs y]
  48.             let historyDiv=document.getElementById("history");
  49.             let newHistoryDiv=document.createElement("span");
  50.             newHistoryDiv.innerText=result;
  51.             //тук се оказа че просто добавяме стринга,не деца та да и това беше забавно.
  52.            //historyDiv.appendChild(newHistoryDiv);
  53.             historyDiv.innerHTML+=result;
  54.             let clearHand=clearResult();
  55.             setTimeout(clearHand,2000);
  56.            
  57.         }
  58.         function clearResult(){
  59.             let resultDiv=document.getElementById("result");
  60.             let resultSpans=resultDiv.children;
  61.             resultSpans[0].innerText="";
  62.             resultSpans[2].innerText="";
  63.         }
  64.         function SetCardBorders(winner,cardHand){
  65.            
  66.             if(winner){
  67.                 cardHand[0].style.border="2px solid green";
  68.                 cardHand[1].style.border="2px solid darkred";
  69.             }
  70.             else{
  71.                 cardHand[1].style.border="2px solid green";
  72.                 cardHand[0].style.border="2px solid darkred";
  73.             }
  74.             cardHand.length=0;
  75.         }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment