Giter VIP home page Giter VIP logo

cefet-front-end-edukids's Introduction

EduKids Animals

Seus pais vão viajar e você deve cuidar do seu mini irmãozinho de 3 anos.

Com um comportamento de anjinho (#sqn), o pequeno Joãozinho vai precisar ser entretido por um bom tempo. Você, como um ótimo irmã(ão) e programador(a) exímio, decide que é hora de criar um jogo Web para, além de entreter seu mini-irmão, ensiná-lo como falar o nome de alguns animais.

Atividade

O jogo funciona assim:

  • Assim que apertar play, o jogo começa
  • A cada ~2s, um animal é sorteado e começa a ficar agitado, com fome
  • Você deve clicar no animal agitado para alimentá-lo antes que ele coma alguém
    • Fazendo isso, ganha-se 1 ponto
  • Se um animal não é clicado, perde-se 2 pontos
  • Se um animal que estava sossegado é perturbado fora de hora, perde-se 1 ponto

Toda essa funcionalidade já está implementada. O que está faltando:

  1. O jogo ainda não dá um feedback visual interessante para o jogador
    • Apenas o nome do animal aparece escrito e seu irmão ainda não sabe ler
  2. O arquivo javascript jogo.js controla o jogo. Ele tem um temporizador que fica adicionando e removendo classes dos elementos dos animais
    • com-fome, quando o animal está com fome
    • satisfeito, quando o animal acabou de comer
    • com-raiva, quando um animal sossegado é perturbado
    • atacando, quando um animal com fome não é alimentado a tempo

Exercício 1

Criar uma transição para quando o mouse estiver em cima dos botões play/stop (para que o elemento se revele lentamente)

Exercício 2

Você deve implementar uma metáfora visual para cada um dos 4 estados dos animais. Algumas sugestões (mas não se atenha a elas):

  • a) com-fome, animal piscando (opacidade variando)
  • b) satisfeito, uma borda verde no animal e o animal fica girando de alegria
  • c) com-raiva, animal vai crescendo, ou fica pulsando
  • d) atacando, animal dá um salto e cresce, com uma borda vermelha

Desafios:

  • Faça uma das situações ter mais de uma animação (veja no FAQ)
  • Coloque um efeito tridimensional (de profundidade) em alguma animação (veja no FAQ)

FAQ

  1. Qual a diferença entre transition e animation?
  2. O que é uma transformação?
    • É uma operação de translação (deslocamento), escala (dimensionamento) ou rotação (giro) que pode ser aplicada aos elementos da página. Veja sobre transformações nos slides.
  3. Como posso criar uma animação? Uma animação é composta por uma sequência de quadros (@keyframes) e uma propriedade animation em um elemento. Veja mais nos slides sobre como criar animações.
  4. Posso fazer mais de uma animação em sequência?
    • Sim! Basta colocar duas animações, separadas por vírgula, como valor da propriedade animation. Além disso, a segunda animação deve ter um animation-delay igual à duração da primeira. Veja no slide sobre mais de uma animação.

cefet-front-end-edukids's People

Contributors

fegemo avatar silviasfon avatar

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.