Jump to content

Recommended Posts

Estou criando um jogo de cartas em web, o jogo é bem estilo HS, e estou tendo problemas para adicionar condições de movimentação no drag and drop. Como vocês podem ver eu tenho uma variável mana, e a movimentação das cartas só seria possível de acordo com ela, porém quando adiciono as condições o D&D acaba nem se movimentando mais, pensei em chamar cada função do d&d dentro de uma condição, mas também não funcionou, alguém pode ajudar?

 

JS

// Jogador 1

const fillplace1 = document.querySelector('#fillplace1');
const fillplace2 = document.querySelector('#fillplace2');
const fillplace3 = document.querySelector('#fillplace3');
var fill;

const empties = document.querySelectorAll('.empty');

fillplace1.addEventListener('dragstart', enterstart);
fillplace2.addEventListener('dragstart', enterstart);
fillplace3.addEventListener('dragstart', enterstart);

for (const empty of empties) {
    empty.addEventListener('dragover', dragOver);
    empty.addEventListener('dragenter', dragEnter);
    empty.addEventListener('dragleave', dragLeave);
    empty.addEventListener('drop', dragDrop);
}

function enterstart(){
    fill = this;
}

function dragOver(e) {
    e.preventDefault();
}

function dragEnter(e) {
    e.preventDefault();
    this.className += ' hovered';
}

function dragLeave() {
    this.className = 'empty';
}

function dragDrop(id) {
    this.className = 'empty';
    this.append(fill);
}

 

HTML

<link rel="stylesheet" href="../css/jogar.css" />

 

<div id="barraGeneral">
    <img src="../imagens/Campo/barraGeneralalfa.png" id="imggeneral" />
</div>

 

<div id="persona">
    <img src="../imagens/Personagem/cucapersonagem.png" id="imgpersonagem" />
</div>

 

<button id="btpassar" onclick="cont();">Passar Rodada</button>


<H1 id="campomana">1</H1>

 

<!-- Mesa das cartas jogador 1-->
<div class="empty" id="emptyplace1">
</div>

<div class="empty" id="emptyplace2">
</div>

<div class="empty" id="emptyplace3">
</div>

<div class="empty" id="emptyplace4">
</div>

<div class="empty" id="emptyplace5">
</div>

 

<!-- Mão do jogador 1 -->
<div class="emptyhand1">
    <div class="fill" draggable="true" id="fillplace1">
        <img src='../imagens/Sorteio/aa.png' draggable='true'>
    </div>
</div>

 

<div class="emptyhand2">
    <div class="fill" draggable="true" id="fillplace2">
        <img src='../imagens/Sorteio/aa2.png' draggable='true'>
    </div>
</div>

 

<div class="emptyhand3">
    <div class="fill" draggable="true" id="fillplace3">
        <img src='../imagens/Sorteio/aa2.png' draggable='true'>
    </div>
</div>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By lezão
      Boa tarde, a todos!
      encontrei esse codigo na internet esta sendo muito util, eu só tem um item q eu gostaria de mudar.
      e qnd entra na pagina naun aparecer o conteudo q esta em block, só aparecer qnd clicar na opção?
      veja como fica qnd entra na pagina:
      mostrar/ocultar.php
      <select id="tipo_pessoa" onchange="exibir_ocultar(this)"> <option value="Dinheiro">Dinheiro</option> <option value="Cartão">Cartão</option> </select> <br /><br /> <div id="Dinheiro">Troco Para?: <br /><input type="number"></div> <div id="Cartão">Aceitanos: <br /><img src="http://marmitexgranjaviana.com.br/wp-content/uploads/2020/07/aceitamos_todos_os_cart%C3%B5es_de_d%C3%A9bito_e_cr%C3%A9dito.png" width="400" height="100"/></div> <script type="text/javascript"> function exibir_ocultar(val) { if(val.value == 'Cartão') { document.getElementById('Dinheiro').style.display = 'none'; document.getElementById('Cartão').style.display = 'block'; } else { document.getElementById('Dinheiro').style.display = 'block'; document.getElementById('Cartão').style.display = 'none'; } }; </script>  
    • By ernestovm
      Bom dia.
      Descobri, depois de muito trabalho, um problema esquisito. Tenho duas imagens que chamam funções JavaScript determinadas. Uma funciona e a outra não. Isso no Firefox. No Chrome as duas funcionam perfeitamente. Alguém conhece alguma gambiarra para fazer o Firefox funcionar? Segue os códigos:
      HTML:
      <img src="images/ic_abrir.png" width="70" height="70" onClick="abre_notificacao(<? echo "'".$us_codigo."','".$item."'"; ?>);" style="cursor:pointer" id="p_imagem-<? echo $item; ?>" name="p_imagem-<? echo $item; ?>">
       <img src="images/ic_excluir.png" width="70" height="70" onClick="excluir_notificacao(<? echo "'".$us_codigo."'"; ?>);" style="cursor:pointer">
      JAVASCRIPT:
      <script type="text/javascript">
          function abre_notificacao(codigo,indice) {
              $("#p_imagem-"+indice).attr("src","images/ic_abrir_ok.png");
              $("#ver-"+indice).css("display", "block");
          }
          function excluir_notificacao(codigo) {
              $.post("excluir_notificacao.php", {codigo: codigo}, function(resposta) {
                  confirm(resposta+" ("+codigo+")");
              });
              location.reload();
          }

      </script>
      A Função abre_notificacao(codigo,indice)  funciona perfeitamente nos dois browsers.
      A Função excluir_notificacao(codigo) só funciona no Chrome.
      Obrigado pela luz
    • By _marlon307
      Boa noite. Bom Dia.
      Estou com um problema com meu menu hover em React. quando eu passo o mouse em cima do elemnto para abrir o menu le renderiza todas as abas e quando passo o mouse sobre o menu ele fica bugado.
       
      import React, { useState } from 'react'; import { Link } from 'react-router-dom'; //import DropModMn from '../../Helper/DropModMn'; import { ReactComponent as Respponse } from '../../icons/respponse.svg'; import styles from '../css/search.module.css'; import SubMenuCtg from './SubMneu/SubMenuCtg';   const Search = () => {       const menu = [         {             nctg: 'Masculino',             ctg: ['Categoria', 'Categoria', 'Categoria 3', 'Categoria 4', 'Categoria 5'],         },         {             nctg: 'Femenino',             ctg: ['Categoria 3', 'Categoria 4', 'Categoria 5', 'Categoria 6', 'Categoria 7'],         },         {             nctg: 'Criança',             ctg: ['Categoria 8', 'Categoria 9', 'Categoria 10', 'Categoria 11', 'Categoria 12'],         },         {             nctg: 'Acessórios',             ctg: ['Categoria 13', 'Categoria 14', 'Categoria 15', 'Categoria 16', 'Categoria 17'],         },         {             nctg: 'Promoção',             ctg: ['Categoria 18', 'Categoria 19', 'Categoria 20', 'Categoria 21', 'Categoria 22', 'Categoria 22', 'Categoria 22', 'Categoria 22', 'Categoria 22', 'Categoria 22', 'Categoria 22'],         }       ];      const [expand, setExpand] = useState(false);       function MouseOver(event){         event.preventDefault();                  console.log(event);           if(expand) setExpand(!expand);         else setExpand(!expand);     }       return (           <nav className={styles.search}>               <div className={styles.ct}>                 <Link to="/" className={styles.index}>                     <Respponse aria-label="Respponse"/>                 </Link>               </div>               <div className={styles.ct}>                   <ul className={styles.ldep}>                       {menu.map((m) =>                                                  <li className={styles.ictg} key={m.nctg} onMouseOver={MouseOver} onMouseLeave={MouseOver}>                               <Link className={`${styles.lctg} imh`} to={m.nctg}>{m.nctg}</Link>                                                          <SubMenuCtg gl={m.ctg} exp={expand} />                                                    </li>                     )}                                      </ul>             </div>         </nav>     ) }   export default Search
    • By Fluk
      Bom dia Galera, 
      Sou novo por aqui, estou estudando um pouco sobre o Google Script e Java Script. 

      Estou tentando criar um programinha que lê e exibe em tela os dados que estão armazenados em minha Base (FibreBase). 
      Mas quando tento puxar através da API Google google.script.run.minhaFunção() e salvar em uma variável o JavaScript passa direto não aguardando o fim da leitura de arquivo. 
      Dei uma lida sobre ser assíncrona a requisição que estou fazendo, mazers tentei de varias forma fa aguardar mas não consegui. 

       
      document.getElementById('ConsultarClientes').addEventListener( 'click',   function (){     // Buscar dados  FireBase Lista de Clientes     const clientes = getFireBase('Clientes/Arquivos');     clientes.then(retorno => console.log(retorno));   } ,false);   async function getFireBase(chave){   return google.script.run.withSuccessHandler().getFireBase(chave); };   Console log retorno
       
    • By SingleSistemas
      Olá, estou escrevendo um código aonde preciso colocar o JSON dentro de uma array, porém, o JSON foi parciado utilizando o JSON.parse, para atribuir o conteudo do document.todosOsFretes, segue o exemplo:  
      Queria saber qual alternativa que pode ser feita para mim poder colocar o document.todosOsFretes dentro de uma array e pesquisar nele, algum campo...
      Desde já agradeço.
       
       
       
       

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.