Groovyでゲーム作成

...するほどの根性は持ち合わせていないけれど,息抜きでしんさん(id:shin)のゲームライブラリ:ShinGL3をGroovyで使ってみたよ。
なんだかよくわかんないけど,ホントにBASICっぽいんで,テキトウに組んだらお星様を動かせるくらいはできた。息子よ,おとうさんガンバッタヨ。:-D


とりあえず,組んだコード晒しておきます。こうですか?わかりません。><

import java.awt.*
import java.awt.event.*
import javax.imageio.*

import shinsan.shingl3.ShinGL3OpenGL.AlphaMode as AlphaMode
import static shinsan.shingl3.ShinGL3OpenGL.*
import static shinsan.shingl3.ShinGL3Input.*
import static shinsan.shingl3.ShinGL3SE.*
import static shinsan.shingl3.ShinGL3BGM.*
import static shinsan.shingl3.ShinGL3Math.*

font = new Font("monoscaced", Font.BOLD, 32)

init = {
  LOADTEXTURE("星", new File("star.png"))
} as Runnable

def x = 320
def y = 240

main = {
  if (INPUT(KeyEvent.VK_LEFT)) x = x < 1 ? 0 : x - 4
  if (INPUT(KeyEvent.VK_RIGHT)) x = x > 575 ? 576 : x + 4
  if (INPUT(KeyEvent.VK_UP)) y = y < 1 ? 0 : y - 4
  if (INPUT(KeyEvent.VK_DOWN)) y = y > 415 ? 416 : y + 4
  if (INPUT(KeyEvent.VK_ESCAPE)) EXIT 0

  WIPE(Color.BLACK)

  PRINT(240, 400, font, Color.WHITE, "${GETFPS()} fps, ($x, $y)")
  PUTSPRITE("星", x, y, AlphaMode.NORMAL, 1.0f)

} as Runnable

SETSCREEN("サンプル", ImageIO.read(new File("icon.png")), 640, 480)
START(init, main, 30)


できたのは,こんなの。カーソルキーで星が動く,ただそれだけ。でも楽しいゾ。


ゲームの開発言語にGroovyが適しているかどうかはアレだけど,ちょろっと試したわりには派手な結果が得られるからゲームは良いねぇ。前橋さん(id:kmaebashi)が昔言ってたけど,確かに"Hello, World"を表示するより,ショボくてもUFO打ち落とすゲーム書けた方が何倍もオモロイね。


ShinGL3でも,PRINT文使えば「├○┤」でUFO,「/┴\」で砲台な,30代以上が涙ちょちょ切れるようなのできそうだ。...って,すぐ出来た。:-D
#こうなると次は弾打ちてぇな,弾。
プログラミング言語を作る/Diksam on Windows