2048 para R

Um post completamente fora do padrão (grande padrão, com n = 3) do blog. Nesses últimos dias apareceu na internet o jogo 2048, onde o objetivo é ir somando quadrados iguais até chegar em 2048. Dai pensei: Por que não fazer uma versão em R? Afinal de contas, não seria o primeiro jogo que eu faria em R e seria uma boa maneira treinar algoritmos.


Pensamento vai, pensamento vem e voilà: temos um código! O jogo funciona da mesma maneira, a única alteração é que o jogo original junta as peças pelo lado que você movimentou, enquanto o meu junta pelo lado oposto (Se você tem as peças 2 2 2 4 e movimenta para esquerda, no jogo original termina com 4 2 4 _ e no meu termina com 2 4 4 _). Também acrescentei a opção de união sequencial: se você tem as peças 8 4 2 2 e movimenta para esquerda, termina com 16 _ _ _.

Para jogar, basta colar o código no R e chamar a função joga(). Ainda há os parâmetros opcionais:

  • mapa: Um vetor de tamanho 2 com o tamanho do mapa (padrão c(4, 4))
  • base: Qual a base a ser utilizada, para caso você não goste das potências de 2 (valor padrão)
  • máximo: A potência máxima (Padrão é 11 (2^11 = 2048)). Serve apenas para colorir os quadros
  • sorteio: As potências que serão sortedas (padrão c(1, 2))
  • multi: TRUE para permitir união sequencial e FALSE (padrão) para não permitir
  • cores: Caso você não goste das cores. As opções são rainbow, heat.colors, topo.colors (padrão) e cm.colors


Para quem não sabe jogar, a moral é chegar a um bloco com o número 2048. Para somar, basta 'chocar' 2 blocos com números iguais. O controle são os direcionais, que movem todas as peças na direção desejada.


Bom divertimento!

2 comentários:

Anônimo disse...

FIRST (heh)

Já dá para começar a fazer o package Coster.games para colocar no Cran. :)

Não consegui usar no mac, em casa testo de noite no meu pc com ruindows.

Rcoster disse...

Primeira e única né Aisha :P

Preciso arrumar o bug do Tanks antes de publicar ele :(