Há algum tempo que eu estou querendo aprender a linguagem Ruby. Segundo dizem as artes do aprendizado, deve-se sempre partir de algo conhecido para algo não conhecido que queira-se aprender. Então resolvi começar com jRuby, implementação do Ruby em Java, que roda na JVM. Usando Swing, a SDK padrão do Java para interfaces gráficas.
Criei esse joguinho da velha (jrVeia) bem simples, que na verdade eu nem terminei ainda. Na verdade não mexi mais nele depois que eu comecei. Falta apenas a verificação do tabuleiro. Pretendo também, se der, implementar uma camada de rede, para poder jogar via direct ip (igual eu fiz com o VeiaOnline).
Mais detalhes: jrVeia.
Como já disse, comecei com esse joguinho só pra me familiarizar com a sintaxe do Ruby, uma vez que já conheço um pouco de Swing. Na verdade nem sei qual é a real aplicabilidade de linguagens interpretadas a jogos. Vou estudar mais isso, mesmo porque pretendo participar do Indie Bay Competition com Ruby e Gosu. Pode deixar que logo logo eu compartilho aqui o que eu aprendi.
Só para ilustrar o tópico, vou mostrar um código bem simples pra criar uma janela com jRuby e Swing:
# Diz que vamos usar as classes do Java
require 'java'
#
# Podemos usar puro Ruby na JVM, ou interagir completamente com classes em Java! \o/
#
# A classe principal, que herda da classe JFrame, exatamente como fazemos no Java...
class Window < javax.swing.JFrame
# Nosso construtor
def initialize
# Super Man - Nenhuma novidade aqui ^^
super("Hello World")
# Aqui muda, você pode chamar os métodos com o mesmo nome em java
# setSize, ou então chamar pelo padrão Ruby, set_size, que ele
# irá executar o método do mesmo jeito!
set_size(300, 300)
set_visible(true)
set_default_close_operation(javax.swing.JFrame::EXIT_ON_CLOSE)
# Vamos adicionar um textinho na janela
add(javax.swing.JLabel.new("Hello World - by CrociDB"))
end
end
# Aqui está o nosso "método main"
janela = Window.new
Só para vocês terem uma idéia da facilidade. Não esqueçam de dar uma olhadinha no código do jrVeia. E aguardem, logo sai um post açucarado sobre Gosu e Ruby. Até lá.















December 18th, 2009 at 12:11
Uma linguagem interpretada pode ser bem útil para se fazer a lógica de jogo em cima de uma engine pronta – o bom de uma linguagem interpretada do tipo lua e ruby é que, com elas, você pode criar códigos mais próximos à logica do jogo do que da engine em si. Acho q a engine do neverwinter nights faz isso pra facilitar terceiros a extender o jogo
December 30th, 2009 at 15:53
Gostaria de saber que editor é esse seu, bem bacana…
December 30th, 2009 at 15:55
queria saber que editor vc usa, bem bacana o visual dele… E parabéns, também tenho vontade de aprender ruby.
December 31st, 2009 at 15:48
@Rodolfo
Editor de código pra Ruby? Pra Windows uso o Notepad++, muuuuuito bom, no linux eu me viro com o Vim e o Gedit…. hehehe