Mistura de Prática Deliberada e Gamefication
JavaScript Scala CSS Other
Latest commit c218986 Mar 6, 2015 @jonasabreu jonasabreu Merge pull request #302 from vyper/patch-2
Tag correta para o rodapé de tabela na explicação

README.markdown

VidaGeek Games

Uma forma mais simples de aprender

Build Status

Licenças

O código fonte de nossa autoria (arquivos .scala, .sh, .sbt e outros) estão licenciados sob GPLv3, exceto o código contido na pasta games/game, que é licenciado sob MIT.

O conteúdo das explicações dos exercícios (encontrado em src/main/resources/desc de cada jogo) está licenciado sob CC-BY.

Como preparar o Ambiente

  • Instale o sbt
  • Clone o projeto git@github.com:vidageek/games.git
  • Se for utilizar o Eclipse:
    • Instale uma versão recente do Scala IDE para Scala 2.10
    • Execute sbt eclipse dentro da pasta do projeto
    • Importe o projeto no Eclipse
    • Acrescente -language:_ em Propriedades do Projeto > Scala Compiler > Additional command line parameters. Isso desabilita os feature warnings de Scala (Não vamos restringir o uso de nenhuma feature).
  • Se for utilizar o NetBeans:

Para Executar Localmente

Rodar SBT

Basta entrar pelo console no diretório do projeto:
$ sbt
$ > container:start

Como criar um jogo

  1. Caso não esteja familiarizado com o código, dê uma olhada em como o RegexGame é implementado
  2. Declare o seu jogo no arquivo de build lazy val ${path}Game = gameProject("${PATH}") , sendo que ${PATH} é o que determina a url onde o jogo fica (por exemplo, em /aprenda/regex, o ${PATH} é regex)
  3. Coloque o seu projeto como dependência do projeto web e como agregado do projeto root
  4. No sbt, rode eclipse with-sources=true para que o sbt prepare o seu projeto.
  5. Crie uma classe que estenda a trait GameEngine. O nome completo dessa classe deve ser vggames.${PATH}.${PATH_COM_PRIMEIRA_LETRA_MAIUSCULA}Game.
  6. Crie uma classe que estenda a trait GameView. O nome dessa classe deve ser o nome da classe criada no passo anterior seguida por View.