필드카드선택과 턴오버

필드에서 카드를 선택하면 공격을 하는 것이다. 카드를 선택하면 해당 카드에 css 스타일로 표시를 해주고, 공격을 한 후에는 선택한 데이터는 null로 바꿔주고 클래스도 바꿔준다.

function 카드돔연결(데이터,,영웅){
    var 카드 = document.querySelector('.card-hidden .card').cloneNode(true);
    카드.querySelector('.card-cost').textContent = 데이터.cost;
    카드.querySelector('.card-att').textContent = 데이터.att;
    카드.querySelector('.card-hp').textContent = 데이터.hp;
    if(영웅) {
        카드.querySelector('.card-cost').style.display = true;
        var 이름 = document.createElement('div');
        이름.textContent = '영웅';
        카드.appendChild(이름);
    }
    카드.addEventListener('click',function(card){//카드를 클릭했을 때 옮기는 기능 구현, 카드를 선택할 때 내카드인지 상대카드인지
        if(턴) {//내턴
            if(!데이터.mine) {//내 카드를 선택하고 상대 카드를 선택하면 공격
                데이터.hp = 데이터.hp - 나.선택카드.att;
                나.선택카드.classList.remove('card-selected');
                나.선택카드.classList.add('card-turnover');
                나.선택카드 = null;//공격 끝나면 선택 해제
                return;
            }else if(!데이터.mine) {//상대카드를 누르면
                return;
            }
            if(데이터.field) {//카드가 필드에 있으면(공격!)
                카드.parentNode.querySelectorAll('.card-selected').forEach(function(card){//카드 중복선택을 막기 위해 선택된 카드만 해제해주면 되지만 선택된 카드를 찾기가 복잡하기 때문에 그냥 다 해제한다.
                    card.classList.remove('card-selected');
                });
                카드.classList.add('card-selected');
                나.선택카드 = 데이터;
                나.선택카드data = 데이터;
            }else {//카드가 덱에 있으면
                if(덱에서필드로(데이터, true) !== 'end') {//true가 아닐 때 덱생성
                    나.덱생성(1);//필드에 5장이 되도록 충족
                }
            }
        } else {//상대턴인데
            if(데이터.mine || 데이터.field) {//상대카드를 누르거나 카드가 필드에 있으면
                return;
            }
            if(덱에서필드로(데이터, false) !== 'end') {
                상대.덱생성(1);//필드에 5장이 되도록 충족
            }
            
        }
    });
.appendChild(카드);

}

Last updated