GTK+ でアニメーションしてみました。エンターキーの入力で終了します。簡易ライブラリ mygtk.rb
についてはここを参照してください。
circle_fall.rb
require_relative 'mygtk' L = 400 MyGtk.app width: L, height: L, title: "Circle Fall" do timer(10) do show = proc do |y| x = rand(L - 10) color(rand(65535), rand(65535), rand(65535)) arc(true, x, y, 10, 10, 0, 64 * 360) end show.call(0) if rand < 0.15 show.call(rand(L - 10)) if rand < 0.05 img = get_pic(0, 0, L, L) show_pic(img, 0, 1) color(0, 0, 0) rectangle(true, 0, 0, L, 1) end key_in do |w, e| Gtk.main_quit if e.keyval == Gdk::Keyval::GDK_Return end draw do color(0, 0, 0) rectangle(true, 0, 0, L, L) end end
これ、どこかでメモリリークしているようです。