GithubHelp home page GithubHelp logo

tictactoe's Introduction

Esse é um projeto para o conteúdo da semana 16, sobre RTL.

Antes de iniciar

Crie um fork desse projeto e para isso siga esse tutorial de como realizar um fork.

Após feito o fork, clone o repositório criado para o seu computador.

Rode o npm install.

Vá para a branch master do seu projeto e execute o comando:

  • git branch

Verifique se as seguintes branchs apareceram:

exercise-one exercise-2 exercise-3

  • Cada branch dessas será um exercício.
  • Mude para a branch exercise-one com o comando git checkout exercise-one. É nessa branch que você realizará a solução para o exercício 1, e assim por diante.

Observe o que deve ser feito nas instruções para cada exercício.

Após a solução dos exercícios, abra um PR no repositório e se quiser mergear para a master, sinta-se a vontade!

Atenção! Quando for criar o PR você irá se deparar com essa tela:

PR do exercício

É necessário realizar uma mudança. Clique no base repository como na imagem abaixo:

Mudando a base do repositório

Mude para o seu repositório. Seu nome estará na frente do nome dele, por exemplo: antonio/TicTacToe. Depois desse passo a página deve ficar assim:

Após mudança

Agora basta criar o PULL REQUEST clicando no botão Create Pull Request.

Para cada PR realize esse processo.

COMEÇANDO OS EXERCÍCIOS

Exercício 1

Teste as configurações iniciais do jogo, como ele começa:

  • Campos vazios;
  • Sem mensagem de Fim de jogo;
  • 9 Casas renderizadas.

Fique livre para adicionar novos testes.


Exercício 2

Agora além de realizar alguns testes será necessário realizar algumas funcionalidades. O arquivo TicTacToe.js possuí algumas informações de como o jogo deve funcionar.

  • Dois jogadores jogaram o jogo;
  • A cada clique em uma casa o jogador deve ser mudado;
  • Para cada jogador deverá possuir uma marcação (as imagens que estão no repositório, x.png, o.svg);
  • Ao clicar na casa escolhida, a casa deve ser modificada e possuir a marcação do jogador, X ou O;
  • Ao clicar em uma casa já marcada, nada deve acontecer;
  • AS casas marcadas não podem ser modificadas;

Teste o comportamento de cada casa, alguns exemplos:

  • O símbolo mudar quando clica em uma e depois em outra, mostrando a troca do jogador;
  • Casa não pode ser mudada depois de escolhida por algum jogador;

Caso tenha dúvida volte no conteúdo ou olhe na documentação, lembre que abordamos apenas algumas querys, tem outras que podem ser utilizadas.


Exercício 3

Agora você fará funcionalidade de acordo com o teste já criado para ela. A funcionalidade deve ser criada no arquivo TicTacToe.js, boa parte dele já está criado, fique atento com as instruções passadas

Precisamos saber quando que o jogo acaba, os testes já foram realizados, mas se roda-lós verá que nenhum passa. Essa funcionalidade ainda não está pronta e precisa ser criada.

Crie a aplicação observando os teste, eles te guiaram para realiza-lá.

Bônus - Nossos testes não cobrem caso de empate ou quem foi o ganhador.

  • Crie uma mensagem para ver quem é o vencedor ou quando acontecer o empate.
  • Crie os teste para essa nova funcionalidade.
  • Adicione um botão para recomeçar o jogo. Crie os teste para ele.

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.