Giter VIP home page Giter VIP logo

memory-game's Introduction

Memory Game

Índice

Sobre o Memory Game

O jogo possui pares de cartas que estão embaralhadas. Para jogar, é necessário escolher duas cartas e caso as cartas combinem (sejam do mesmo tipo), ambas ficaram em evidência, até que o jogador encontre todas os outros pares de cartas.

Para embaralhar, foi utilizado as funções abaixo:

function shuffle(array) {
        let currentIndex = array.length,
            temporaryValue, randomIndex;
        while (currentIndex !== 0) {
            randomIndex = Math.floor(Math.random() * currentIndex);
            currentIndex -= 1;
            temporaryValue = array[currentIndex];
            array[currentIndex] = array[randomIndex];
            array[randomIndex] = temporaryValue;
        }
        return array;
    }

e esta:

function shuffleCards() {
    cards = shuffle(cards);
    $('.deck .fa').each(function(index, elemento) {
        $(this).addClass(cards[index]);
    });
}

shuffleCards();

Está função já começa a rodar assim que a página é carregada, ou quando o botão de reiniciar o jogo é clicado.

Referência do código principal: stackoverflow.

Começando a jogar

  • Para iniciar o jogo, clique no botão start game.
  • O cronometro começará a contar a partir do 00:00:00.
  • Há 3 estrelas, depois de 16 movimentos, o jogador perde uma, depois de mais 8 (24 movimentos) o jogador perde mais uma e depois de mais 8 (32 movimentos), não sobram nenhuma estrela.

Para a execução do código e iniciar do cronometro, há um event listener dentro da função repeat():

function repeat() {
    $('.repeat').click(function() { //linha do event listener 'click'
        startCounting();
        a = 0;
        b = 0;
        $('.start-box').addClass('start-game')
        $('.deck').children().removeClass('show match open');
        $('.deck .fa').removeClass().addClass('fa');
        $('#star1').removeClass('white');
        $('#star2').removeClass('white');
        $('#star3').removeClass('white');
        $('.modal').removeClass('modal-show');
        counter = 0;
        $('.moves').text(counter);
        shuffleCards();
    });
}

Para selecionar as cartas, também é usado um event listener, como no código abaixo:

$('.deck').on('click', '.card', selectCard);

Dependências

Biblioteca utilizada

  • Para a criação do código, foi utilizado javascript e a biblioteca jQuery 3.3.1.

Estilização

  • A estilização da jogo está no arquivo css/app.css.
  • Para a criação das figuras como avião, estrelas, bombas, etc. foram foi utilzado um arquivo css da FontAwesome: link. Este arquivo (ou <link ...>), encontrasse no head do arquivo.
  • A fonte utilizada, obtida no Google Fonts pode ser encontrada aqui.

memory-game's People

Contributors

oseiasal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.