サイログ。

~雑多な記事置き場~

[Ruby][Miyako] Miyako2.1.22リリース

前バージョンのバグ修正版です。Shapeクラスの複数メソッドにエラーが出る問題がありましたので修正致しました。

あと、サンプルを追加しました。修正したShapeクラスとFiberを使った弾幕もどきサンプルです。
各スプライトは「弾」というイメージで、ランダムで弾の生死判定をしております。

Miyako2.1.22はアップデート必須となっておりますので、お手数ではございますが、アップデートのほどをよろしくお願い致します。

ご挨拶

昨今、OpenGLとかGLEWとか使えないかなーといろいろ考えているサイロスさんです。どもども。

Miyakoの最新バージョン、2.1.22をリリース致しました。

詳細は、Miyakoメインサイトからどうぞ。
http://www.twin.ne.jp/~cyross/Miyako/
ダウンロードは、RubyForgeからどうぞ。
http://rubyforge.org/frs/?group_id=8246
gemからのインストールも可能です。

gem install ruby-miyako

gem install ruby-miyaok-mswin32

RubyでOpenGL続き

こないだから、久しぶりにruby-openglのプログラムを書いてみたいと思っていたので、書いてみた。
Ruby1.9.2+Ruby/SDL2.1.1+ruby-opengl0.61を使用。
(ruby-openglのビルド方法については回答できかねます…)

出来上がったのはこんな感じ。
「何このキャラ!?」と思われた方、ゲームのサンプル用に、何も考えずに手抜きで書いたものなので、ツッコミはスルーします(^^;

以下、ソースコードと画像

続きを読む

[Ruby] Sleep Sort のをFiber@Rubyで実装

id:gfxさんの記事を読んで大爆笑してしまったので、ついついRuby1.9.2+Fiberで作ってしまいました。
というわけで、メモ。

元ネタ: Islands in the byte stream/常識を覆すソートアルゴリズム!その名も"sleep sort"!

def create_fiber(v)
  f = Fiber.new do
    t1 = Time.now
    while(true)
      break if Time.now - t1 >= v
      Fiber.yield(true)
    end
    puts v
    while(true); Fiber.yield false; end
  end
end

fibers = ARGV.map{|v| create_fiber(v.to_i) }

while(fibers.map{|fib| fib.resume }.any?); end

実行するとこんな感じ。

$>ruby fsleep.rb 5 3 1 4
1
3
4
5