Ir ao conteúdo
  • Cadastre-se

Marcelo Calazans

Membro Pleno
  • Posts

    218
  • Cadastrado em

  • Última visita

posts postados por Marcelo Calazans

  1. 9 minutos atrás, ol1iveir4 disse:

    Essa questão da saída em 115v, o que significa? Sou bastante leigo nesse assunto. Aqui em casa a rede é 220v, teria problema?

     

    Significa que ele aceita 115V, 127V ou 220V na entrada da rede elétrica (na tomada), mas a saída que vai para o computador será sempre 115V.

     

    Não teria problema no seu caso, mas você precisa ver os dispositivos que serão ligados ao Nobreak, pois eles terão que funcionar em 115V, e não em 220V como você está acostumado.

  2. 15 minutos atrás, ol1iveir4 disse:

    @Ricardov Pois é, vi que essa marca de fontes não é das melhores hahaha, paciência. 
    Obrigado pelas sugestões, porém gostaria de tirar outra dúvida.

     

    - Nobreaks como esse https://www.kabum.com.br/produto/72083/nobreak-sms-manager-iii-senoidal-puro-nova-geração-dsp-700-bifx-115-bivolt-27570 ainda sim não seriam ideais pelo caso do estabilizador interno. Porém por serem Senoidal Puro, poderiam minimizar os problemas?

    Eu tenho um problema parecido com o seu.

     

    Trabalho com Desenvolvimento Web e não gosto de quedas de energia.

     

    Não tenho no momento dinheiro para comprar um senoidal puro online dupla conversão (mas terei no futuro), que seria o ideal no meu caso e na minha opinião.

    Portanto comprei um modelo igual a este que você cita, só que foi o de 1500VA, abaixo:

     

    https://www.kabum.com.br/produto/171282/nobreak-1500va-sms-manager-iii-entrada-bivolt-saida-115v-senoidal-puro-eng-bateria-externa-27572

     

    Na época paguei R$ 1500,00 na loja física da Kalunga.

     

    Meu problema são as quedas e não as oscilações de energia, tanto é que raramente escuto o chaveamento do relé do estabilizador interno do No Break (tlec tlec).

     

    Ter um estabilizador interno não é o ideal, mas por enquanto isso é tudo que meu dinheiro pode comprar, e acaba sendo uma opção não ideal para mim, mas menos ruim.

     

    Analise e veja a relação custo X benéfico X risco que isso teria para você.

     

    Abraços.

  3. Olá, colegas.

     

    Falando agora de forma específica sobre sites Benchmark para CPU, o que eu recomendo para as pessoas é que façam inicialmente as testagens em vários sites diferentes.

     

    Por exemplo, eu quando vou fazer isso, uso geralmente 3 sites de Benchmark diferentes.

     

    Nesta amostragem de 3 sites diferentes, os valores entre eles nunca são exatamente iguais, porque sabemos que essas medições não são precisas.

     

    Eu comparo as medições e fico atento às divergências para analisar e tentar chegar a uma conclusão.

     

    Algumas divergências as vezes são bizarras mesmo, e fica claro que alguns destes sites possuem problemas, mas com análise, discernimento e bom senso, eu creio que é perfeitamente possível usar estes sites como um ponto inicial de pesquisa.

     

    Abraços e fiquem na paz colegas!

  4. @KairanD

    Existem bom reviews realmente, como aqui no Clube do Hardware, por exemplo.

     

    Mas mesmo com bons reviews, o ideal na minha opinião, é ter o ponto de vista baseado na análise de várias fontes. Como eu já havia feito no caso de I5 12400, quando eu citei acima que havia cogitado comprá-lo.

     

    Mas a minha opinião pessoal mesmo, eu apenas daria se eu comprasse e eu mesmo pudesse testar.

     

    Fora isso, usar Benchmarks para ter um ponto de partida para uma análise, eu acho válido, como bem colocou o colega @Lenhal

     

    Abraços e fiquem na paz colegas!

  5. 1 hora atrás, KairanD disse:

    É importante tomar cuidado ao utilizar esses sites buscando comparações...

     

    Existem algumas discrepâncias em sites de Benchmark sim, e isso não é nada fora do normal.

     

    mais próximo da realidade seria ter em mãos os dois processadores em questão, hardware semelhante para fazer pessoalmente os testes e verificar os resultados nós mesmos. Mas isso nem sempre é possível, pois é surreal pensar na ideia de ter todos os processadores do mundo ao nosso dispor.

     

    Portanto, na incapacidade de realizar testes com todos os processadores existentes, as ferramentas (sites) de Benchmark podem ser muito úteis.

     

    No caso citado do I5 12400 vs Ryzen 5600G, eu acredito que os Benchmarks que pontuam o I5 12400 com melhor desempenho, não estão equivocados. Mas um panorama melhor mesmo, apenas o futuro poderá nos dizer, quando a 12ª geração da Intel se popularizar e vermos na prática os relatos das pessoas no dia a dia.

     

    Abraços e fiquem na paz colegas!

    • Curtir 1
  6. Eu não pegaria uma H610, eu esperaria uma B660.

     

    Estava até pensando em pegar um processador i5 12400 para mim, que na comparação com um AMD semelhante, apresenta a seguinte informação:

     

    815032190_telabench.jpg.9156613380df2210e40f41ef8e38f0bc.jpg

    (fonte: https://nanoreview.net/en/cpu-compare/intel-core-i5-12400-vs-amd-Ryzen-5-5600g)

     

    O preço do I5 12400 também é melhor:

     

    I5 12400 R$ 1.499,90;

     

    Ryzen 5 5600G R$ 1.739,90.

     

    https://www.kabum.com.br/produto/181088/processador-amd-Ryzen-5-5600g-3-9ghz-4-4ghz-max-turbo-am4-vídeo-integrado-6-núcleos-100-100000252box

     

    https://www.kabum.com.br/produto/283713/processador-intel-core-i5-12400-cache-18mb-2-5ghz-4-4ghz-max-turbo-LGA-1700-bx8071512400

     

    Mas o problema é a placa-mãe, elas estão caras demais. E este na realidade é um problema recorrente da linha Intel.

     

    Por isso eu resolvi adiar meus planos de montar uma máquina nova para o final do ano, talvez em novembro na Black Friday.

     

    Não acho que a 12ª geração da Intel compensa no momento.

     

    Abraços colegas, e fiquem na paz!

  7. Olá, colegas.

     

    O Eraser (https://eraser.heidi.ie/), como citado no material oferecido pela matéria (https://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html), parece ser uma boa opção via software para eliminar arquivos.

     

    Destruir arquivos é uma prática recomendada em alguns casos. Eu costumo fazer isso as vezes com arquivos de clientes que eu não preciso mais armazenar.

     

    Geralmente eu abro o arquivo com algum editor que me permita edita-lo no formato hexadecimal (https://pt.wikipedia.org/wiki/Editor_hexadecimal); costumo usar o RJ TextEd (https://www.rj-texted.se/).

     

    Meu procedimento é abrir o arquivo que eu desejo destruir no formato hexadecimal, apagar o seu conteúdo deixando o arquivo corrompido, e depois eu apago o arquivo corrompido.

     

    Mas admito que este meu procedimento não tem a mesma segurança de programas como o Eraser.

     

    • Boa matéria, acho que vou adotar o Eraser a partir de hoje.

    • Curtir 3
  8. Olá, colegas.

     

    Se o problema do amigo for driver mesmo, é só ter um pouco de paciência.

     

    No caso da minha placa (que não é nova), uma H370 da Gigabyte, já tem a maioria dos drivers para Windows 11 no site do fabricante.

     

    Aos poucos as coisas vão se acertando para quem se aventurou a instalar o Windows 11.

     

    Problemas com drivers nas atualizações do Windows não são exclusividade do Windows 11, acompanho problemas assim desde a década de 90 quando o Windows 95 foi substituído pelo Windows 98.

     

    Abraços colegas, e fiquem na paz!

     

     

    • Curtir 2
  9. Olá, colegas.

     

    Eu acho que vale a pena migrar para o Windows 11, mas cada um deve analisar a sua situação em particular.

     

    Na primeira semana em que o Windows 11 foi disponibilizado pela Microsoft, eu instalei ele em um SSD de testes, criei neste SSD de teste todo meu ambiente de trabalho que uso (Desenvolvimento Web), e testei por três dias.

     

    Nesses três dias não tive nenhum problema, e tudo que funcionava comigo antes no Windows 10, estava funcionando sem problemas no Windows 11.

     

    Depois desse teste bem-sucedido comigo, instalei o Windows 11 no meu NVMe (SSD) que eu usava anteriormente diariamente com o Windows 10.

     

    Até agora tudo perfeito comigo.

     

    Eu acompanho todas as atualizações do Windows 11 e os relatos de bugs, e até agora, parece que a Microsoft lançou atualizações para todos os bugs mais comentados.

     

    Bug sempre vai ter, todo sistema tem bugs, e conforme eles vão aparecendo, nós que trabalhamos com desenvolvimento, temos que ir arrumando e resolvendo eles. É assim com todo mundo, inclusive com a Microsoft e demais empresas.

     

    O Windows 10, que foi lançado há muitos anos, ainda está sujeito a ter bugs.

     

    Mas recomendo fortemente que só instalem de forma oficial e em máquinas compatíveis, e que antes de instalar, analisem bem o seu caso em particular.

     

    Abraços e fiquem na paz.

    • Curtir 1
  10. @kifirefox

    No passado eu já senti a necessidade e já tive um PC de mesa e um notebook. Mas nesta época, eu usava o notebook porque eu visitava clientes e precisava de mobilidade.

     

    Nos dias de hoje eu não preciso de mobilidade, pois meu trabalho não exige mais isso de mim, portanto, tudo que eu tenho de recurso para investir em hardware atualmente, eu gasto com o meu PC de mesa.

     

    Agora isso é uma opção de cada um, e creio que teremos outras situações diferentes de outros colegas de fórum.

     

    Abraços colegas.

  11. 10 minutos atrás, kifirefox disse:

    Em caso de compra de hardware, vale a pena seguir essa filosofia? Por notebook fraco e pc potente?

    Notebook tem suas vantagens e desvantagens comparado ao pc.

    Para tarefas básicas usar o notebook, e para tarefas que exigem mais de processador, memória e armazenamento em HD, o pc vence.

    Vale a pena? Parece que é bom para questão de preço, para não precisar comprar um notebook de 15 mil reais.

    Olá, colega.

     

    Os notebooks hoje em dia, com o real desvalorizado, se tornaram um custo-benefício muito ruim em comparação aos PC´s de mesa.

     

    Na realidade, os notebooks sempre tiveram um custo-benefício pior na minha opinião. Os notebooks são bons para quem deseja ter mobilidade, ou para quem usa o mesmo computador em casa e no trabalho.

     

    Tem gente que compra um notebook, coloca nele um teclado, um mouse e um monitor, e nunca tira ele da mesma posição, transformando o notebook em um notebook de mesa.

     

    Isso para mim não é uma boa prática, pois neste caso, o melhor é um PC de mesa, devido ao custo-benefício.

     

    Não sei qual é o seu caso específico, portanto, aguarde mais opiniões para ver qual se encaixa melhor na sua situação.

     

    Abraços colega.

  12. Em 30/10/2021 às 09:20, nilzon disse:

    Estava editando uma imagem, quando cliente no menu 3D no photoshop. Ele carregou todas as janelas, e ferramentas para uma edição 3D. 

     

    Porém, eu não fiz modificação alguma na imagem, desisti. 

     

    Só que algumas ferramentas minhas, mudaram. Estão com uma pequena "bandeira" do lado, e as ferramentas originais, aparecem por último, (destaquei com a seta). 

    Como faço para voltar ao normal??

    ps.PNG

    Olá colega.

     

    Já faz um tempo que você perguntou, e, portanto, suponho que você já deva ter resolvido o problema, mas caso contrário, observe com atenção a imagem abaixo que creio que ele pode ajudar a resolver sua dúvida.

     

    3d.thumb.jpg.69a169e580fcf2c859840f428d74f7cf.jpg

     

    Abraços e espero ter ajudado.

    • Curtir 1
  13. Eu já acompanho as versões do Windows trabalhando na área de informática desde a década de 90, com a introdução do Windows 95.

     

    Usei em ambiente de trabalho, instalei e pude testar todas elas, sem exceção até hoje (nem todas foram boas).

     

    Percebi, todavia, que sempre existem pessoas receosas dizendo que precisa esperar pelo menos um ano para “amadurecer” a versão nova do Windows, para poder instalar e usar. Desde essa época (década de 90), foi assim com todas as versões novas liberadas pela Microsoft (as pessoas sempre dizem isso).

     

    Respeito a opinião de todos, mas penso diferente neste caso atual.

     

    No caso atual, com o Windows 11, instalei e estou usando. Migrei todo meu ambiente de trabalho de Desenvolvimento Web que uso para trabalhar hoje em dia, e estou usando tudo no Windows 11.

     

    Não tive nenhum problema até agora. Mas cada caso é um caso, e não tem como afirmar que seria assim com todas as pessoas.

     

    Cada um deve analisar isoladamente seu caso para ver a conveniência de mudar para o Windows 11 neste momento.

     

    As melhores versões do Windows de todos os tempos na minha opinião são: Windows XP, Windows 7 e Windows 10, e creio que o Windows 11 seguirá no mesmo caminho.

    As piores são sem dúvida o Windows ME, Windows Vista e o Windows 8.

     

    Abraços colegas!

    • Curtir 5
  14. Se a Microsoft aponta, tendo como base seus critério de avaliação, que um computador não é compatível com o Windows 11, o melhor é não forçar uma instalação na minha opinião.

     

    Agora se o computador é compatível, e uma atualização for proposta pela Microsoft, a proposta deve ser aceita e a atualização para o Windows 11 realizada.

     

    Assim como é errado ficar forçando uma atualização em computadores incompatíveis, também é errado na minha visão, ficar adiando a atualização quando possível até 2025 por medos de BUGS.

     

    Fiz uma instalação limpa do Windows 11 e migrei todo meu ambiente de trabalho para a instalação nova. Não me arrependo de nada, pois aqui para mim pelo menos, o Windows 11 está rodando perfeitamente. Mas claro que cada caso é um caso.

    • Curtir 1
  15. 7 minutos atrás, Joel Martins disse:

    Eu fui fazer a estrutura da página sign_up_ e quando voltei para a página de login já estava a funcionar. O que poderá ter acontecido?

    PS: Isto já me aconteceu várias vezes

     

    Sempre que eu vou testar algo, para não recair neste erro, eu uso Chrome DevTools.

     

    Aperte F12 no Google Chrome e na aba NetWork marque disable cache, como na imagem abaixo:

     

     

    erro.thumb.jpg.59beb263164210a5671fd2021701c3b7.jpg

     

    Essa é a melhor forma de se previnir durante o desenvolvimento, de não ser pego pelo cache antigo do navegador em arquivos e imagens.

     

    Abraços colega.

  16. @Joel Martins Olá colega.

     

    Vejamos da seguinte maneira, com o código abaixo aqui comigo, funciona:

     

    <html>
    
    <head>
    <title>Login</title>
            
    <style>
    .panda
    {
        position: relative;
        top: 10px;
        width: 70%;
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    
    .geral
    {
        top:30px;
        position:relative;
        text-align:center;
        height:30%;
        width:20%;
        margin-left: auto;
        margin-right: auto;
        border:black solid 2px;
        box-shadow:0 0 1em grey;
        border-radius:5px;
        background-color:#39803c;
        text-decoration:none;
    }
    
    .text
    {
        top:15px;
    }
    .text input[type="text"] {
      border-radius:5px;
      border:solid 1px;
      border-color:grey;
    }
    
    .pass
    {
        top:15px;
    }
    .pass input[type="password"] {
      border-radius:5px;
      border:solid 1px;
      border-color:grey;
    }
    
    .send
    {
        top:15px;
        position:relative;
        
    }
    .send input[type="submit"]
    {
      border-radius:5px;
    }
    /*este ↓ não funciona*/
    .signup
    {
        top:155px;
        position:relative;
        text-decoration:none;
        color:red;
        font-weight: bold;
    }
    </style>
    </head>
        
        <body>
            <img src="img/yuyuyu.png" class="panda">
            <div class="geral">
                    <form action="escola_project_/login/login.php" method="POST" autocomplete="off">
                        <div class="text">
                            <strong><label>Username</label></strong>
                                <br>
                            <input type="text" placeholder="[email protected]" name="username">
                        </div>
                            <br>
                        <div class="pass">
                            <strong><label class="labelpassword">Password</label></strong>
                                <br>
                            <input type="password" placeholder="●●●●●●" class="inpupassword" name="password" >
                        </div>
                            <br>
                        <input type="submit" value="Iniciar Sessão" class="send" name="submit" >
                      <br>
                        <a href="escola_project_/sign_up_/sign_up_.php" class="signup">Sign Up</a><!-- *<--Este* -->
                    </form>
            </div>
        </body>
        
    </html>

     

    Tanto é que funciona, que mudei a cor do Sign Up para vermelho, como pode ser visto na imagem abaixo:

    siig.jpg.b66bc8daad262663d11c701fa9c1ae07.jpg

     

    No meu caso pode estar funcionando, porque no meu código de teste acima, o CSS está junto com o HTML.

     

    Sendo assim, constatamos que o erro pode estar aqui no seu código, logo abaixo:

     

    <link rel="stylesheet" href="escola_project_/login/login.css">

     

     No caso, ou o caminho que leva ao CSS está errado, ou o nome do arquivo que contém o CSS está errado ou ausente.

     

    Veja se corrigindo isso resolve.

     

    Abraços colega.

  17. @Swalls

    Desculpe me intrometer no assunto, mas queria dar uma opinião.

     

    <article> <aside> <details> <figcaption> <figure> <footer> <header>


    Esses acima, são Elementos Semânticos em HTML.


    O programador ou desenvolvedor é uma pessoa “as vezes desleixada”, e digo isso porque eu fui assim por muito tempo.


    É comum vermos códigos totalmente desorganizados e sem padrão.


    Os Elementos Semânticos em HTML foram criados para “disciplinar” um pouco o desenvolvedor, e convence-lo a criar códigos mais organizados.


    Um elemento semântico, pode descrever claramente seu significado para o navegador, para outros desenvolvedores e para os motores de busca.


    Algumas pessoas citam que quando os Elementos Semânticos em HTML são usados de maneira correta, isso ajuda o SEO do site e colabora com a classificação dele na busca do Google, pois facilita o entendimento da página. ( https://searchengineland.com/seo-advantages-of-machine-readable-html5-semantic-markup-314455 )

     

    Referência geral abaixo:
    https://www.w3schools.com/html/html5_semantic_elements.asp

     

    <div class="header">
         <!-- Conteúdo -->
    </div>
    
    <header>
         <!-- Conteúdo -->
    </header>

     

    No exemplo acima, ambos os casos vão funcionar, mas devemos procurar usar sempre os Elementos Semânticos em HTML.

     

    Abraços e espero ter colaborado.

    • Amei 1
  18. @Joel Martins

    Olá colega.

     

    Testando apenas a sua "navegation bar" aqui, no código abaixo ela funciona, pelo menos ela aparece com a formatação:

     

    <html>
    
    
    <style>
    body
    {
        margin:0;
        font-family:Arial;
    }
    
    .topnav
    {
        overflow: hidden;
        background-color: #333;
    }
                    
    .topnav a
    {
        float: left;
        display: block;
        color: #f2f2f2;
        text-align: center;
        padding: 14px 16px;
        text-decoration: none;
        font-size: 17px;
    }
                    
    .active
    {
        background-color: #04AA6D;
        color: white;
    }
                    
    .topnav .icon
    {
        display: none;
    }
                    
    .dropdown
    {
        float: left;
        overflow: hidden;
    }
                    
    .dropdown .dropbtn
    {
        font-size: 17px;
        border: none;
        outline: none;
        color: white;
        padding: 14px 16px;
        background-color: inherit;
        font-family: inherit;
        margin: 0;
    }
                    
    .dropdown-content
    {
        display: none;
        position: absolute;
        background-color: #f9f9f9;
        min-width: 160px;
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
        z-index: 1;
    }
                    
    .dropdown-content a
    {
        float: none;
        color: black;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
        text-align: left;
    }
                    
    .topnav a:hover, .dropdown:hover .dropbtn
    {
        background-color: #555;
        color: white;
    }
                    
    .dropdown-content a:hover
    {
        background-color: #ddd;
        color: black;
    }
                    
    .dropdown:hover .dropdown-content
    {
        display: block;
    }
                    
    @media screen and (max-width: 600px)
    {
        .topnav a:not(:first-child), .dropdown .dropbtn
        {
            display: none;
        }
        .topnav a.icon
        {
            float: right;
            display: block;
        }
    }
                    
    @media screen and (max-width: 600px)
    {
        .topnav.responsive
        {
            position: relative;
        }
        
        .topnav.responsive .icon
        {
            position: absolute;
            right: 0;
            top: 0;
        }
        
        .topnav.responsive a
        {
            float: none;
            display: block;
            text-align: left;
        }
        
        .topnav.responsive .dropdown
        {
            float: none;
        }
        
        .topnav.responsive .dropdown-content
        {
            position: relative;
            
        }
        .topnav.responsive .dropdown .dropbt
        {
            display: block;
            width: 100%;
            text-align: left;
        }
    }
    </style>
    
    <body>
    
                <div class='topnav' id='myTopnav'>
                    <a href='../../' class='active'>Home</a>
                    <a href='../sobre.html'>Sobre</a>
                    <a href='../redessociais.html'>Redes Sociais</a>
                    <div class='dropdown'>
                        <button class='dropbtn'>Escola 
                            <i class='fa fa-caret-down'></i>
                        </button>
                        <div class='dropdown-content'>
                            <a href='ano1.php'>1º Ano</a>
                            <a href='../ano2/ano2.php'>2º Ano</a>
                            <a href='../ano3/ano3.php'>3º Ano</a>
                        </div>
                    </div> 
                    <a href='javascript:void(0);' style='font-size:15px;' class='icon' onclick='myFunction()'>&#9776;</a>
                </div>
                <div style='padding-left:16px'>
                </div>
                <script>
                    function myFunction() {
                      var x = document.getElementById('myTopnav');
                      if (x.className === 'topnav') {
                        x.className += ' responsive';
                      } else {
                        x.className = 'topnav';
                      }
                    }
                </script>
                
    </body>            
    
    
    </html>

     

    Vejo portanto, que o problema deve estar nas suas chamadas:

     

    <?php require"../Navigation_Bar_/navegation_bar_.php"; ?>
    
    <link rel='stylesheet' href='navegation_bar_.css'>
    
    require"../Navigation_Bar_/navegation_bar_.html";

     

    Veja se os caminhos estão corretos e tente estruturar melhor isso.

     

    Sugestão para testar:

     

    Deixe o CSS junto com o arquivo para testar, como está no meu codigo acima, e faça apenas uma chamada para esse código usando:

     

    <?php include_once("arquivo da barra com o caminho CORRETO");?>

     

    Veja se funciona.

     

    Abraços e espero ter ajudado.

    • Curtir 1
  19. 5 horas atrás, Xispeh disse:

    Marcelo, muito obrigado mesmo você me ajudou bastante mesmo, obrigado realmente. Não querendo ser chato, mas eu também descobrir que quando você atira com o dragão na nave com o dragão muito perto da nave, o disparo destroí a nave mas ele continua na tela, sendo que quando o disparo abate a nave era pra ele sumir, assim como funciona de longe, mas percebi que de perto acontece esse bugzinho.

    E marcelo vei, muito obrigado mesmo, só de já ter corrigido esse bug da explosão já me ajudou demais.

     

    Quando eu testei, eu não percebi que esse erro estava dando também quando a nave estava muito perto do dragão, como você citou agora.

     

    Como você fez novas mudanças e aumentou a velocidade do jogo, agora isso apareceu para mim também.

     

    Fiz novas alterações:

     

    function start(){
        $("#inicio").hide();
    
    
        $("#fundoGame").append("<div id='jogador' class='anima1'></div>");
        $("#fundoGame").append("<div id='inimigo1' class='anima2'></div>");
        $("#fundoGame").append("<div id='inimigo2'></div>");
        $("#fundoGame").append("<div id='amigo' class='anima3'></div>");
        $("#fundoGame").append("<div id='placar'></div>");
        $("#fundoGame").append("<div id='energia'></div>");
    
    
        var wentrou_colisao2 = 0;
        var wentrou_colisao3 = 0;
        var podeAtirar=true;
        var fimdejogo=false;
        var pontos=0;
        var salvos=0;
        var perdidos=0;
        var energiaAtual=3;
        var jogo = {}
        var velocidade=4;
        var posicaoY = parseInt(Math.random() * 280);
        var TECLA = {
            W: 87,
            S: 83,
            D: 68
            
        }
        jogo.pressionou = {};
        $(document).keydown(function(e){jogo.pressionou[e.which] = true;});
        $(document).keyup(function(e){jogo.pressionou[e.which] = false;});
    
    
        jogo.timer = setInterval(loop,15);
    
        function loop() {
            movefundo();
            movejogador();
            moveinimigo1();
            moveinimigo2();
            moveamigo();
            colisao();
            placar();
            energia();
        }
    
        function movefundo(){
            esquerda = parseInt($("#fundoGame").css("background-position"));
            $("#fundoGame").css("background-position",esquerda-1);
        }
    
        function movejogador(){
            if (jogo.pressionou[TECLA.W]){
                var topo = parseInt($("#jogador").css("top"));
                $("#jogador").css("top",topo-7);}
                 if (topo<=-50){
                     $("#jogador").css("top",topo+6);
                 }
    
            if (jogo.pressionou[TECLA.S]){
                var topo = parseInt($("#jogador").css("top"));
                $("#jogador").css("top",topo+7)}
                if (topo>=390){
                    $("#jogador").css("top",topo-6)
                }
    
            if (jogo.pressionou[TECLA.D]){
            disparo();
            }
        }
    
        function moveinimigo1(){
            posicaoX = parseInt($("#inimigo1").css("left"));
            $("#inimigo1").css("left",posicaoX-velocidade);
            $("#inimigo1").css("top",posicaoY);
            if (posicaoX<=0){
                posicaoY = parseInt(Math.random() * 280);
                $("#inimigo1").css("left",800);
                $("#inimigo1").css("top",posicaoY);
            }
        }
    
        function moveinimigo2(){
            posicaoX = parseInt($("#inimigo2").css("left"));
            $("#inimigo2").css("left",posicaoX-2);
            if (posicaoX<=0){ $("#inimigo2").css ("left", 785);}
    
    
        }
    
        function moveamigo(){
            posicaoX = parseInt($("#amigo").css("left"));
            $("#amigo").css("left",posicaoX+1);
            if (posicaoX>850){ $("#amigo").css("left",0);}
        }
    
        function disparo(){
            if (podeAtirar==true) {
    
                podeAtirar=false;
    
                topo = parseInt($("#jogador").css("top"))
                posicaoX= parseInt($("#jogador").css("left"))
                tiroX = posicaoX + 180;
                topoTiro=topo+105;
                $("#fundoGame").append("<div id='disparo' class='anima4'></div");
                $("#disparo").css("top",topoTiro);
                $("#disparo").css("left",tiroX);
    
                var tempoDisparo=window.setInterval(executaDisparo, 30);
    
                function executaDisparo(){
                    posicaoX = parseInt($("#disparo").css("left"));
                    $("#disparo").css("left",posicaoX+15);
                    if (posicaoX>880){
                        window.clearInterval(tempoDisparo);
                        tempoDisparo=null;
                        $("#disparo").remove();
                        podeAtirar=true;
                    
                    }
                }
            }   
        }
    
        function colisao() {
            var colisao1 = ($("#jogador").collision($("#inimigo1")));
            var colisao2 = ($("#jogador").collision($("#inimigo2")));
            var colisao3 = ($("#disparo").collision($("#inimigo1")));
            var colisao4 = ($("#disparo").collision($("#inimigo2")));
            var colisao5 = ($("#jogador").collision($("#amigo")));
            var colisao6 = ($("#inimigo2").collision($("#amigo")));
            
                
            if (colisao1.length>0 && wentrou_colisao3 == 0) {
            energiaAtual--;      
            inimigo1X = parseInt($("#inimigo1").css("left"));
            inimigo1Y = parseInt($("#inimigo1").css("top"));
            explosao1(inimigo1X,inimigo1Y);
            
            posicaoY = parseInt(Math.random() * 280);
            $("#inimigo1").css("left",800);
            $("#inimigo1").css("top",posicaoY);
            wentrou_colisao3 = 1;
            }
            
            
            if (colisao2.length>0 && wentrou_colisao2 == 0) {
    	    energiaAtual--;
            inimigo2X = parseInt($("#inimigo2").css("left"));
            inimigo2Y = parseInt($("#inimigo2").css("top"));
            
            explosao2(inimigo2X,inimigo2Y);               
            $("#inimigo2").remove();            
            reposicionaInimigo2();
            wentrou_colisao2 = 1;
            }	
    
            
            if (colisao3.length>0  && wentrou_colisao3 == 0) {
    		
            velocidade=velocidade+0.2;
            pontos=pontos+10;
    		  inimigo1X = parseInt($("#inimigo1").css("left"));
            inimigo1Y = parseInt($("#inimigo1").css("top"));
                            
            explosao1(inimigo1X,inimigo1Y);
            $("#disparo").css("left",950);
                            
            posicaoY = parseInt(Math.random() * 280);
            $("#inimigo1").css("left",800);
            $("#inimigo1").css("top",posicaoY);
            wentrou_colisao3 = 1; 
               
            }
                        
            if (colisao4.length>0 && wentrou_colisao2 == 0) {
            pontos=pontos+5;
            inimigo2X = parseInt($("#inimigo2").css("left"));
            inimigo2Y = parseInt($("#inimigo2").css("top"));
            $("#inimigo2").remove();
    
            explosao2(inimigo2X,inimigo2Y);
            $("#disparo").css("left",950);
    
            reposicionaInimigo2()
            wentrou_colisao2 = 1;
            }
    
            if (colisao5.length>0){
                salvos++;
                reposicionaAmigo();
                $("#amigo").remove();
            }
    
            if (colisao6.length>0) {
                perdidos++;
                amigoX = parseInt($("#amigo").css("left"));
                amigoY = parseInt($("#amigo").css("top"));
                explosao3(amigoX,amigoY);
                $("#amigo").remove();
                        
                reposicionaAmigo();
                        
                }
                
                
            } //Fim da função colisao()
            
            function explosao1(inimigo1X,inimigo1Y) {
                $("#fundoGame").append("<div id='explosao1' class='anima5'></div");
                $("#explosao1").css("background-image", "url(img/explosion.png)");
                var div=$("#explosao1");
                div.css("top", inimigo1Y+20);
                div.css("left", inimigo1X+50);
                
                var tempoExplosao=window.setInterval(removeExplosao, 500);
                
                    function removeExplosao() {
                        
                        div.remove();
                        window.clearInterval(tempoExplosao);
                        tempoExplosao=null;
                        wentrou_colisao3 = 0;
                        
                    }
                    
            } // Fim da função explosao1()
    
            function explosao2(inimigo2X,inimigo2Y) {
    	
                $("#fundoGame").append("<div id='explosao2' class='anima6'></div");
                $("#explosao2").css("background-image", "url(img/explosion.png)");
                var div2=$("#explosao2");
                div2.css("top", inimigo2Y+15);
                div2.css("left", inimigo2X+50);
                
                var tempoExplosao2=window.setInterval(removeExplosao2, 500);
                
                    function removeExplosao2() {
                        
                        div2.remove();
                        window.clearInterval(tempoExplosao2);
                        tempoExplosao2=null;
                        wentrou_colisao2 = 0;
                        
                    }    
                }
    
                function explosao3(amigoX,amigoY) {
    
                    $("#fundoGame").append("<div id='explosao3' class='anima7'></div");
                    $("#explosao3").css("top",amigoY);
                    $("#explosao3").css("left",amigoX);
                    var tempoExplosao3=window.setInterval(resetaExplosao3, 500);
                    function resetaExplosao3() {
                    $("#explosao3").remove();
                    window.clearInterval(tempoExplosao3);
                    tempoExplosao3=null;
                        
                }
            }
    
                function reposicionaInimigo2() {
    	
                    var tempoColisao4=window.setInterval(reposiciona4, 5000);
                        
                        function reposiciona4() {
                        window.clearInterval(tempoColisao4);
                        tempoColisao4=null;
                            
                            if (fimdejogo==false) {
                            
                            $("#fundoGame").append("<div id=inimigo2></div");
                            
                            }
                            
                        }	
                    }	
    
            function reposicionaAmigo(){
                var tempoAmigo=window.setInterval(reposiciona6, 6000);
    
                function reposiciona6(){
                    window.clearInterval(tempoAmigo);
                    tempoAmigo=null;
    
                    if (fimdejogo==false){
                        $("#fundoGame").append("<div id='amigo' class='anima3'></div>")
                    }
                }
            }        
        
            function placar() {
            $("#placar").html("<h2> Pontos: " + pontos + "\nSalvos: " + salvos + "\nPerdidos: " + perdidos + "</h2>");
            }        
    
            function energia(){
                if (energiaAtual==3){
                    $("#energia").css("background-image", "url(img/energia3.png");
                }
                if (energiaAtual==2){
                    $("#energia").css("background-image", "url(img/energia2.png");
                }
                if (energiaAtual==1){
                    $("#energia").css("background-image", "url(img/energia1.png");
                }
                if (energiaAtual==0){
                    $("#energia").css("background-image", "url(img/energia0.png");
                }
    
            }
                
    
    
    }  

     

    Testei aqui e parece estar funcionando, mesmo com a nave perto do dragão.

     

    Mas em algo assim, é normal aparecerem bugs ao longo do caminho enquanto testamos e desenvolvemos algo. Creio que outros bugs irão aparecer também com o tempo, a medida que as pessoas forem jogando o seu jogo; é um processo normal esse.

     

    Seu jogo está ficando muito legal amigo. Parabéns pela iniciativa.

     

    Abraços.

  20. @Xispeh

    Olá colega.

     

    Eu acho que eu arrumei.

     

    Testei jogando uns 5 minutos e não deu mais erro comigo. Segue abaixo o JS que eu alterei:

     

    function start(){
        $("#inicio").hide();
    
    
        $("#fundoGame").append("<div id='jogador' class='anima1'></div>");
        $("#fundoGame").append("<div id='inimigo1' class='anima2'></div>");
        $("#fundoGame").append("<div id='inimigo2'></div>");
        $("#fundoGame").append("<div id='amigo' class='anima3'></div>");
    
    
        var wentrou_colisao2 = 0;
        var wentrou_colisao3 = 0;
        var podeAtirar=true;
        var fimdejogo=false;
        var jogo = {}
        var velocidade=4;
        var posicaoY = parseInt(Math.random() * 280);
        var TECLA = {
            W: 87,
            S: 83,
            D: 68
            
        }
        jogo.pressionou = {};
        $(document).keydown(function(e){jogo.pressionou[e.which] = true;});
        $(document).keyup(function(e){jogo.pressionou[e.which] = false;});
    
    
        jogo.timer = setInterval(loop,15);
    
        function loop() {
            movefundo();
            movejogador();
            moveinimigo1();
            moveinimigo2();
            moveamigo();
            colisao();
        }
    
        function movefundo(){
            esquerda = parseInt($("#fundoGame").css("background-position"));
            $("#fundoGame").css("background-position",esquerda-1);
        }
    
        function movejogador(){
            if (jogo.pressionou[TECLA.W]){
                var topo = parseInt($("#jogador").css("top"));
                $("#jogador").css("top",topo-7);}
                 if (topo<=-50){
                     $("#jogador").css("top",topo+6);
                 }
    
            if (jogo.pressionou[TECLA.S]){
                var topo = parseInt($("#jogador").css("top"));
                $("#jogador").css("top",topo+7)}
                if (topo>=390){
                    $("#jogador").css("top",topo-6)
                }
    
            if (jogo.pressionou[TECLA.D]){
            disparo();
            }
        }
    
        function moveinimigo1(){
            posicaoX = parseInt($("#inimigo1").css("left"));
            $("#inimigo1").css("left",posicaoX-velocidade);
            $("#inimigo1").css("top",posicaoY);
            if (posicaoX<=0){
                posicaoY = parseInt(Math.random() * 280);
                $("#inimigo1").css("left",800);
                $("#inimigo1").css("top",posicaoY);
            }
        }
    
        function moveinimigo2(){
            posicaoX = parseInt($("#inimigo2").css("left"));
            $("#inimigo2").css("left",posicaoX-2);
            if (posicaoX<=0){ $("#inimigo2").css ("left", 785);}
    
    
        }
    
        function moveamigo(){
            posicaoX = parseInt($("#amigo").css("left"));
            $("#amigo").css("left",posicaoX+1);
            if (posicaoX>850){ $("#amigo").css("left",0);}
        }
    
        function disparo(){
            if (podeAtirar==true) {
    
                podeAtirar=false;
    
                topo = parseInt($("#jogador").css("top"))
                posicaoX= parseInt($("#jogador").css("left"))
                tiroX = posicaoX + 180;
                topoTiro=topo+105;
                $("#fundoGame").append("<div id='disparo' class='anima4'></div");
                $("#disparo").css("top",topoTiro);
                $("#disparo").css("left",tiroX);
    
                var tempoDisparo=window.setInterval(executaDisparo, 30);
    
                function executaDisparo(){
                    posicaoX = parseInt($("#disparo").css("left"));
                    $("#disparo").css("left",posicaoX+15);
                    if (posicaoX>880){
                        window.clearInterval(tempoDisparo);
                        tempoDisparo=null;
                        $("#disparo").remove();
                        podeAtirar=true;
                    
                    }
                }
            }   
        }
    
        function colisao() {
            var colisao1 = ($("#jogador").collision($("#inimigo1")));
            var colisao2 = ($("#jogador").collision($("#inimigo2")));
            var colisao3 = ($("#disparo").collision($("#inimigo1")));
            var colisao4 = ($("#disparo").collision($("#inimigo2")));
            var colisao5 = ($("#jogador").collision($("#amigo")));
            var colisao6 = ($("#inimigo2").collision($("amigo")));
            
                
            if (colisao1.length>0 && wentrou_colisao3 == 0) {
                    
            inimigo1X = parseInt($("#inimigo1").css("left"));
            inimigo1Y = parseInt($("#inimigo1").css("top"));
            explosao1(inimigo1X,inimigo1Y);
            
            posicaoY = parseInt(Math.random() * 280);
            $("#inimigo1").css("left",800);
            $("#inimigo1").css("top",posicaoY);
            }
            
            
            if (colisao2.length>0 && wentrou_colisao2 == 0) {
    	
            inimigo2X = parseInt($("#inimigo2").css("left"));
            inimigo2Y = parseInt($("#inimigo2").css("top"));
            
            explosao2(inimigo2X,inimigo2Y);               
            $("#inimigo2").remove();            
            reposicionaInimigo2();
            wentrou_colisao2 = 1;
            }	
    
            
            if (colisao3.length>0  && wentrou_colisao3 == 0) {
    		
    		  inimigo1X = parseInt($("#inimigo1").css("left"));
            inimigo1Y = parseInt($("#inimigo1").css("top"));
                            
            explosao1(inimigo1X,inimigo1Y);
            $("#disparo").css("left",950);
                            
            posicaoY = parseInt(Math.random() * 280);
            $("#inimigo1").css("left",800);
            $("#inimigo1").css("top",posicaoY);
            wentrou_colisao3 = 1; 
               
            }
                        
            if (colisao4.length>0 && wentrou_colisao2 == 0) {
            inimigo2X = parseInt($("#inimigo2").css("left"));
            inimigo2Y = parseInt($("#inimigo2").css("top"));
            $("#inimigo2").remove();
    
            explosao2(inimigo2X,inimigo2Y);
            $("#disparo").css("left",950);
    
            reposicionaInimigo2()
            }
    
            if (colisao5.length>0){
                reposicionaAmigo();
                $("#amigo").remove();
            }
                           
            } //Fim da função colisao()
            
            function explosao1(inimigo1X,inimigo1Y) {
                $("#fundoGame").append("<div id='explosao1' class='anima5'></div");
                $("#explosao1").css("background-image", "url(img/explosion.png)");
                var div=$("#explosao1");
                div.css("top", inimigo1Y+20);
                div.css("left", inimigo1X+50);
                
                var tempoExplosao=window.setInterval(removeExplosao, 500);
                
                    function removeExplosao() {
                        
                        div.remove();
                        window.clearInterval(tempoExplosao);
                        tempoExplosao=null;
                        wentrou_colisao3 = 0;
                        
                    }
                    
            } // Fim da função explosao1()
    
            function explosao2(inimigo2X,inimigo2Y) {
    	
                $("#fundoGame").append("<div id='explosao2' class='anima6'></div");
                $("#explosao2").css("background-image", "url(img/explosion.png)");
                var div2=$("#explosao2");
                div2.css("top", inimigo2Y+15);
                div2.css("left", inimigo2X+50);
                
                var tempoExplosao2=window.setInterval(removeExplosao2, 500);
                
                    function removeExplosao2() {
                        
                        div2.remove();
                        window.clearInterval(tempoExplosao2);
                        tempoExplosao2=null;
                        wentrou_colisao2 = 0;
                        
                    }    
                }
    
                function reposicionaInimigo2() {
    	
                    var tempoColisao4=window.setInterval(reposiciona4, 5000);
                        
                        function reposiciona4() {
                        window.clearInterval(tempoColisao4);
                        tempoColisao4=null;
                            
                            if (fimdejogo==false) {
                            
                            $("#fundoGame").append("<div id=inimigo2></div");
                            
                            }
                            
                        }	
                    }	
    
            function reposicionaAmigo(){
                var tempoAmigo=window.setInterval(reposiciona6, 6000);
    
                function reposiciona6(){
                    window.clearInterval(tempoAmigo);
                    tempoAmigo=null;
    
                    if (fimdejogo==false){
                        $("#fundoGame").append("<div id='amigo' class='anima3'></div>")
                    }
                }
            }        
                
                     
                
    
    
    }    

     

    Eu percebi que estava entrando no IF da colisão duas vezes em alguns momentos. Então eu coloquei duas variáveis a mais para controlar.

     

    Teste para ver se funciona.

     

    Pode ser que tenha uma forma melhor de fazer isso, mas parece que o erro sumiu aqui nos meus testes.

     

    Abraços e espero ter ajudado.

  21. @EddK

    Olá colega.

     

    Deixei o box centralizado para você, e estou mostrando como deixar o box responsivo usando CSS Media Queries ( https://www.w3schools.com/css/css3_mediaqueries_ex.asp ). 

     

    Agora cabe a você acertar o texto dentro do box usando a mesma ideia do Media Queries.

     

    Existiria outras formas de deixar o box responsivo, mas no desenvolvimento web é difícil fugir totalmente das Media Queries, e elas são muito úteis.

     

    Segue o código:

     

    <!DOCTYPE html>
    <html lang="">
    
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ" crossorigin="anonymous">
        <title>Modal</title>
    
    <style>
            .modal-wrap {
                position: fixed;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                background: rgba(0, 0, 0, 0.7);
                z-index: 99999;
                opacity: 0;
                -webkit-transition: opacity 400ms ease-in;
                transition: opacity 400ms ease-in;
                pointer-events: none;
            }
    
            .modal-wrap:target {
                opacity: 1;
                pointer-events: auto;
            }
    
            .modal-wrap>div {
                width: 560px;
                position: absolute;
                top: 50%;
                left: 50%;            
                transform: translate(-50%, -50%);
                padding: 20px 10px;
                background: #fff;
            }
    
            .modal-content__descript {
                display: block;
                width: 100%;
            }
    
            .modal-content__descript p {
                color: #666;
                font-size: 12px;
                margin: 10px 0;
                height: 50px;
                padding: 30px 10px;
            }
    
            .close {
                position: absolute;
                width: 30px;
                right: 20px;
                top: 20px;
                text-align: center;
                line-height: 30px;
                font-size: 20px;
                color: #333;
                text-decoration: none;
            }
    @media (max-width: 1367px){
    .modal-wrap>div {
      width: 480px;            
    }
    }
    
    @media (max-width: 1150px){
    .modal-wrap>div {
      width: 400px;            
    }
    }
    
    @media (max-width: 901px){
    .modal-wrap>div {
      width: 380px;            
    }
    }
    
    @media (max-width: 640px){
    .modal-wrap>div {
      width: 350px;            
    }
    }
    
    @media (max-width: 480px){
    .modal-wrap>div {
      width: 320px;            
    }
    }
    
    @media (max-width: 360px){
    .modal-wrap>div {
      width: 300px;            
    }
    }
    
    @media (max-width: 320px){
    .modal-wrap>div {
      width: 280px;            
    }
    }
          
    </style>
        
    </head>
    
    <body>
        <div>
            <a href="#code-1">acessar modal</a>
        </div>
        
        
    
        <div class="modal">
            <div id="code-1" class="modal-wrap">
    
                <div class="modal-content">
    
                    <div class="modal-content__descript">
                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in not only five</p>
                    </div>
    
                    <a href="#close" title="Fechar" class="close"><i class="faz fa-times"></i></a>
    
                </div>
    
            </div>
        </div>
    
    </body>
    
    </html>

     

     

    Abraços.

    • Curtir 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...