eltonfonseca / boliche Goto Github PK
View Code? Open in Web Editor NEWDesenvolvimento de um jogo de Boliche para realização de um trabalho da disciplina Engenharia de Software
Desenvolvimento de um jogo de Boliche para realização de um trabalho da disciplina Engenharia de Software
O sistema de login deve ser personalizável, com isso deve-se gerar as views customizadas pelo Devise.
Implementação do teste de frame.
O projeto será desenvolvido em Rails utilizando Docker como ferramenta de desenvolvimento, para facilitar a configuração dos ambientes de desenvolvimento.
Criar o controller Match com as ações; index, new, destroy, create
Criar uma classe Jogada, onde o jogador e os BOTs farão um lançamento da bola de boliche, contabilizando cada pino derrubado como sendo a pontuação. Nesta classe os atributos deverão contabilizar os pinos derrubados e os pinos restantes.
No momento do lançamento da bola, deve-se gerar, conforme a dificuldade, um número aleatório de pinos derrubados que sejam menores ou igual ao número de pinos restantes.
Essa classe será responsavel por realizar o intermédio entre a Visão e os Modelos, onde nela será instanciada os objetos referentes aos modelos e a view.
O Frame é composto por 2 jogadas que cada jogador poderá realizar. Essas jogadas somadas terão como resultado os pinos derrubados que transformarão em uma pontuação. Se a quantidade de pinos derrubados na primeira jogada for 10, teremos um Strike e se a quantidade de pinos derrubados na segunda jogada somados com os pinos derrubados da primeira for igual a 10, teremos um Spare. Se não for nem Strike e nem Spare, somente é somados os pinos derrubados e atualizado na pontuação do frame.
Implementação de testes de partida.
Inicialmente criar dois tipos de perfis de Jogadores, uma será o usuário e a outra será a máquina ou BOT. O perfil deve contém os seguintes atributos:
O BOT deverá variar conforme a dificuldade escolhida pelo usuário, sendo eles:
Cada um, também com os atributos citados acima.
Criação de métodos para a definição de dificuldade, criação de jogadores (jogador real e bot), jogadas por jogadores e calculo de bonus na pontuação
Este teste testa o redirecionamento para a página home/index se o usuário estiver logado, caso contrário ele é regirecionado para a página de login.
Deve ser inserido na classe jogadores uma flag que irá determinar se o jogador é um bot ou um jogador real. A flag será útil para calcular os pinos derrubados para o jogador e para o BOT, variando conforme a dificuldade.
A classe placar deverá conter 10 frames.
O placar irá apresentar informações a cerca dos frames de cada jogador contidas nos frames
Realizar a criação do arquivo Gemfile para que possa conter todas as bibliotecas que o projeto irá utilizar, assim facilitando na hora de colocar em produção.
Nesta classe deverá ser implementada toda lógica principal do jogo, onde cada partida terá especificações definidas pelo jogador, como nível de dificuldade.
Aqui se define como será atribuído o bônus em cada frame quando há um Strike ou Spare, utilizando uma função bonus().
Os níveis de dificuldade são Muito fácil, Fácil, Médio, Difícil e Muito Difícil, onde cada dificuldade terá 3 BOTs que podem assumir aleatoriamente para jogar. Cada BOT poderá assumir essa dificuldade onde torna a experiência do jogador conforme os níveis de dificuldade.
Cada partida contém 10 frames por jogador, as jogadas máximas de cada jogador podem ser 12, sendo que no último frame teremos +2 jogadas se for realizado um Strike.
Essa classe será responsável por exibir todas as informações do jogo, bem como o placar, status do jogo.
Criar a tabela Match e relacionar com a tabela Users utilizando relacionamento muitos para muitos.
Testar o método lancarBola da classe Jogada, a fim de conseguir a maior cobertura de testes que estejam de acordo com a especificação:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.