Você está visualizando atualmente 2048 em PHP
Fonte: Autoria Própria - Licença (CC-BY-SA 4.0)

2048 em PHP

O jogo 2048 foi criado inicialmente por um desenvolvedor web chamado Gabrielle Cirulli e disponibilizado no GitHub sob a licença do MIT. Esse jogo é facilmente reproduzido no browser e é muito divertido e matematicamente interessante. Sua lógica está em uma matriz simples de 4 por 4 onde números “2” surgem e aqueles que são semelhantes são somados.

Vamos a um exemplo, imagine o tabuleiro inicial:

   2      –      2      –   
   –      –      –      –   
   –      –      –      –   
   –      –      –      –   

Nesse caso o jogado poderá executar um movimento para esquerda ou para direita, então, todos os números são “empurrados” para esquerda ou direita, além disso, os números semelhantes (2) são somados formando um “4”. Ficando assim:

   4      –      –      –   
   –      –      –      –   
   –      –      2      –   
   –      –      –      –   

Note que quando existe uma movimentação, um novo número “2” surge aleatoriamente no tabuleiro. Isso possibilita que o jogador siga “agregando” os valores e criando valores cada vez maiores.

O maior desafio do jogo é movimentar o tabuleiro de forma que sempre exista espaço para novas inserções e também que os valores possam ser agrupados. O jogo acaba em duas situações: 1) o jogador consegue construir um bloco que vale 2048, ou 2) o jogador preenche o tabuleiro com números onde não é possível mais se movimentar nem inserir novos números.

Como codificar

O jogo 2048 é relativamente simples e dá ao programador a oportunidade de aumentar seus conhecimentos sobre matrizes. O jogo inteiro se passa sobre uma matriz e a sua movimentação, sendo assim, o programador deve:

  • Construir uma interface que possibilite “mostrar” sua matriz em formato de tabela – ok
  • Construir controles para o jogador movimentar para direita/esquerda – cima/baixo – ok
  • Construir um botão para iniciar e reiniciar o jogo quando desejado – ok
  • Ao movimentar para qualquer uma das direções o jogo deverá empurrar todos os números e somar aqueles que são semelhantes – ok
  • Ao realizar uma movimentação o jogo deverá inserir um novo número aleatoriamente no tabuleiro – ok
  • Quando um bloco tiver o valor 2048 o jogo deverá acabar
  • Quando não houver mais movimentos possíveis o jogo deverá acabar.

O que nós usamos?

Para implementar esse projeto nós utilizamos duas ferramentas open-source:

• PHP 7.3 

PHP é uma linguagem open-source e pode ser utilizada livremente desde que siga os termos da licença “PHP license 3.01“. Se você quer saber mais sobre a linguagem acesse o manual aqui.

• Bootstrap

O Bootstrap é um framework front-end disponibilizado pelo Twitter e fornece elementos de interface para construção de websites. Para saber mais sobre esse framework acesse sua documentação aqui. Lembre-se que ele está sob a licença apache, saiba mais sobre essa licença aqui.

Live demo

Nosso website disponibilizou uma versão desse game já implementado e “funcionando” pra você testar:

http://jogos.computersciencemaster.com.br/2048/index.php

Os comandos são bem simples, utilize as setinhas do seu teclado para movimentar a matriz e tente chegar ao 2048 🙂

Licença e contribuições

Se você gostou do projeto e gostaria de contribuir melhorando nosso game, você pode acessá-lo no Github do CSM:

O jogo está sob a licença do MIT e caso você queira utilizar esse código é só respeitar as cláusulas da licença. Você pode entender melhor sobre o que você precisa fazer acessando esse site.

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e a forma com que ela pode transformar vidas!

Deixe um comentário

quatro × um =