vidageek / games

Mistura de Prática Deliberada e Gamefication
http://aprenda.vidageek.net
GNU General Public License v3.0
86 stars 27 forks source link

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

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.