Versão terminal do jogo "2048" escrita em C++.
? Apresentado nas páginas do Twitter e do Facebook do GitHub! ?
O jogo e o código são feitos para rodar nativamente nas plataformas GNU/Linux e MacOS, mas a compatibilidade entre plataformas para Windows também foi adicionada.
g++
, clang++
, pgc++
, icpc
, etc.)git clone https://github.com/plibither8/2048.cpp
cd 2048.cpp
Tanto para CMake quanto para Meson, o compilador C++ padrão em seu sistema será usado. Se você deseja selecionar manualmente um compilador C++, opcionalmente adicione CXX=clang++ cmake
ou CXX=clang++ meson
etc.
ctest -S setup.cmake
cmake --install build
2048 # run `build/2048` if game is not installed
OU
meson build
meson test -C build
meson configure build --prefix= $HOME /.local
meson install -C build
2048 # run `build/2048` if game is not installed
Primeiramente, obrigado por contribuir?! Algumas coisas a serem observadas:
Se você encontrou um bug ou tem um recurso que gostaria de implementar, levante um problema.
Se você propôs uma solicitação pull, certifique-se de executar clang-format
nos arquivos de código-fonte (ambos .cpp
e .hpp
) se tiver feito alterações neles.
Em seu repositório local, execute git update-index --skip-worktree ./data/*.txt
para garantir que as alterações nos arquivos de dados não sejam rastreadas pelo git e, portanto, não sejam preparadas.
Agradeço profundamente a ajuda das seguintes pessoas:
cstdlib rand
para gerador int aleatório C++.CMakeLists.txt
.1
fosse impresso.clang-format
implementado.Game
.CMakeLists.txt
e transformou a enumeração Color
em uma enumeração com escopo definido.const
s. [GameBoard].getTile(2,0)
refere-se ao 0º bloco (ou coluna) na 2ª linha, como neste caso, x = 0 e y = 2. O bloco específico é indicado pelo símbolo '@' no tabuleiro de jogo a seguir :
Nota: a indexação
row
ecolumn
começa em 0.
┌──────┬──────┬──────┬──────┐
│ │ │ │ │
├──────┼──────┼──────┼──────┤
│ │ │ │ │
├──────┼──────┼──────┼──────┤
│ @ │ │ │ │
├──────┼──────┼──────┼──────┤
│ │ │ │ │
└──────┴──────┴──────┴──────┘
Direitos autorais (c) Mihir Chaturvedi. Todos os direitos reservados.
Licenciado sob a licença MIT.