Ruby Warrior

2010-06-04

Acabei há instantes o nível intermédio (o segundo dos dois níveis) do Ruby-Warrior, um jogo criado para ensinar inteligência artificial com base em Ruby. O jogo é muito simples e muito divertido, especialmente para quem é geek (lol) e gosta de programar. Aqui no escritório temos o desafio interno de terminar o jogo sem recorrer a ajudas externas. Felizmente consegui sem externas e quase sem usar as pistas que o jogo nos dá quando morremos.

O jogo é muito simples – visualmente é texto na linha de comandos – e temos de mover a nossa personagem pelos diversos níveis da torre, para chegar ao topo e salvar a princesa. Pelo meio vamos encontrando diversos inimigos e pessoal que precisa de ser salvo. No jogo, programamos a nossa personagem de modo a tomar as decisões correctas para ultrapassar os inimigos e chegar à escadaria de cada nível.

O modo iniciante é jogado apenas a uma dimensão (um eixo apenas) enquanto o segundo modo (intermédio) já decorre a duas dimensões tornando necessário implementar decisões de prioridade relativo a direcções em que devemos actuar. Assim, somos obrigados a analisar o meio envolvente e prioritizar as acções.

O jogo é muito giro, e permite ensinar bastante acerca do Ruby, especialmente a definição de métodos e mecanismos de controlo (if /elsif /else e array e for). Também ajuda a descubrir formas de criar decisões em código.

Recomendo vivamente experimentarem – o código pode ser puxado do GitHub do Ryan Bate. Tinha pensado colocar aqui o meu código, mas achei melhor não.. é melhor experimentar e descobrir. Se bem que posso partilhar a minha solução com quem quiser ver 😀