A flutter application that simulates the Indian game "Snakes and Ladders"

Seleção de Desenvolvedor de Software – Escribo

Teste Técnico 02

Instruções para Uso:

Para a segunda tarefa, foi solicitado o desenvolvimento de uma aplicação que simulasse
o jogo indiano “Cobras e Escadas”.

Nas instruções enviadas no guia para o teste, foi solicitado que a aplicação rodasse
em dispositivos Android. Levando em conta esta necessidade, aproveitei de uma das
vantagens do Flutter e desenvolvi um Web App, hospedei o mesmo em um projeto no FireBase
e dessa forma o resultado pode ser avaliado e testado em qualquer navegador, seja em
dispositivos Android, seja em dispositivos IOS.

Samsung Galaxy S8+

Google Pixel 5

Iphone XR

O link para o Web App: https://sds-escribo-teste02.web.app/

Mas caso desejem instalar a aplicação em um dispositivo ou em um emulador Android, segue o link com o APK:

https://drive.google.com/file/d/1VmWTcCKuUgNYX5m1xPQQZ5xsT3fYos-Z/view?usp=sharing

Como eu citei acima, uma das maiores vantagens do Flutter é a possibilidade de “buildarmos” a mesma aplicação
para diversos dispositivos, sem a necessidades de mudanças ou adições drásticas ao código.

Dentre outras exigências do guia para o teste, estava a criação de uma Classe “CobrasEscadas”.
A mesma pode ser encontrada no seguinte caminho:

lib/models/cobras_escadas.dart

Outra solicitação era exibir avatares que representam cada um dos dois jogadores.

Os jogadores são representados por cada uma das caixas, sendo que, na vez de determinado jogador, o ícone P1 ou
P2 é exibido e a caixa tem uma elevação. Indicando dessa forma de quem é a respectiva vez.

Outra solicitação era que houvesse um “Botão Jogar”:

Nesse caso o botão apresenta a cor de acordo com a vez de cada jogador, clicando no mesmo, ele gera os valores
dos dados e apresenta as informações da última jogada, ex: Resultado da jogada, casas deslocadas, encontros com
escadas ou cobras.

Por último, podemos acompanhar a evolução de cada jogador, indicado pelos ícone P1 e P2, no grid do App:

O Codigo foi refatorado de forma que a conferencia e avaliação fiquei mais pratica.

Toda a aplicação é composta somente pelos seguintes scripts:

lib/main.dart

lib/screens/home_screen/home_screen.dart

lib/models/cobras_escadas.dart

lib/models/player_model.dart

lib/widgets/dado_widget.dart

lib/widgets/dados_informacoes_widget.dart

lib/widgets/grid_widget.dart

lib/widgets/jogadoresInfo_widget.dart

lib/widgets/texto_jogador_widget.dart

GitHub

View Github