Mistura de Prática Deliberada e Gamefication
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
games
keys
lib
project
web
.gitignore
.travis.yml
LICENSE.GPL
LICENSE.MIT
README.markdown
build.sbt
cssgame
deploy.sh
design
regex.recompensas
watchdog.sh

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.