Este projeto foi desenvolvido visando aprender mais sobre a linguagem de programação Ruby e seus conceitos, por meio da aplicação dos mesmos na construção do famoso jogo da velha. O programa imprime na tela um tabuleiro e pede pelas entradas do usuário, a cada entrada, o tabuleiro é atualizado com a respectiva forma do jogador. Assim que uma das condições de vitória é atingida, o programa imprime quem foi o vencedor, ou se foi empate, e oferece ao usuário a possibilidade de reiniciar o jogo ou de sair do programa.
ruby-tic-tac-toe.mp4
- OOP(Object Oriented Programming)
- Conventional commits
- Encapsulamento
- Escrevendo melhores mensagens de commit com os padrões do conventional commits.
- Loops em Ruby.
- Manipulação de strings com regex.
- Heredoc
- Manipulação de arrays.
- No início do projeto, atualizar o estado do tabuleiro antes de exibi-lo no terminal. Isso ocorreu devido ao mau planejamento de como seria armazenado os caracteres que compunham o tabuleiro e dos números que definiriam as posições onde as formas dos jogadores seriam colocadas quando uma jogada fosse realizada.
Após o repositório estar em sua máquina, entre no diretório recém clonado.
Para executar este projeto em sua própria máquina, você pode escolher entre as opções:
- Executar o projeto usando Docker.
- Executar o projeto instalando as dependências.
- Ter o Docker instalado e configurado em sua máquina.
docker build -t ruby-tic-tac-toe .
A imagem criada terá o mesmo nome do projeto.
docker run -it --name ruby-tic-tac-toe ruby-tic-tac-toe
O comando acima utilizará a imagem criada anteriormente para criar um contêiner com o nome do projeto.
Após rodar o comando acima, o terminal do contêiner deve abrir automaticamente, já executando o código do projeto.
Para executar o projeto novamente, sem criar um novo contêiner, basta rodar o seguinte comando:
docker start -i ruby-tic-tac-toe
- Ter o Ruby instalado em sua máquina
- Aconselho a utilizar ferramentas como RVM ou rbenv para permitir a instalação de Gems sem permissão de administrador.
ruby tic_tac_toe.rb