Ruby
Ruby本体(Rubyインタプリタ)をハックするイベント「高専カンファレンス Ruby Hack Challenge - Rails寺子屋特別編」に参加してきました。今回は高専生カンファレンス連動イベントだったのですが、自分は一般枠の社会人参加です。

続きを読む

続きを読む
ブロック崩しをDXOpal で書いてみた
DXOpal game
関連記事)
→・DXOpal;Rubyで書いたゲームがブラウザで動いた
# DXRuby版 ブロック崩し # http://blog.livedoor.jp/noanoa07/archives/2045851.html # を DXOpal に移植 # Original; # 2014-03-17 松江Ruby会議05に参加してきた - mirichiの日記 # http://d.hatena.ne.jp/mirichi/20140317/p1 # License: public domain require 'dxopal' include DXOpal bar = Sprite.new(0, 460, Image.new(100, 20, C_WHITE)) walls = [Sprite.new( 0, 0, Image.new( 20, 480, C_BLUE)), Sprite.new( 0, 0, Image.new(640, 20, C_BLUE)), Sprite.new(620, 0, Image.new( 20, 480, C_BLUE)), bar] ball = Sprite.new(300, 400, Image.new(20, 20).circle_fill(10, 10, 10, C_WHITE)) dx = 4 dy = -4 image = Image.new(58, 18, C_WHITE) blocks = [] 5.times do |y| 10.times do |x| blocks << Sprite.new(21 + 60 * x , 21 + 20 * y, image) end end Window.load_resources do Window.loop do bar.x = Input.mouse_pos_x Sprite.draw(walls) ball.x += dx if ball === walls ball.x -= dx dx = -dx end col_x = ball.check(blocks).first if col_x col_x.vanish ball.x -= dx dx = -dx end ball.y += dy if ball === walls ball.y -= dy dy = -dy end col_y = ball.check(blocks).first if col_y col_y.vanish ball.y -= dy dy = -dy end ball.draw Sprite.draw(blocks) end end
関連記事)
→・DXOpal;Rubyで書いたゲームがブラウザで動いた
DXRuby で書いた Ruby のゲームプログラムが、ブラウザで実行できると知って試してみました。
続きを読む
とはいえ、DXOpal は DXRuby互換API ライブラリなので、そのまま動くという訳ではなくある程度の書き換えは必要です。
実際にやってみた記録を残しておきます。(実行環境;dxopal 1.0.0)
実際にやってみた記録を残しておきます。(実行環境;dxopal 1.0.0)
続きを読む
Glade を使って、gtk3 で図形を描画します。(Gtk::DrawingArea,Cairo::Contex)
図形を描画するには、まず描画領域(DrawingArea)を配置し、その中で画像描画ライブラリcairo を使って図形を描画します。
続きを読む
図形を描画するには、まず描画領域(DrawingArea)を配置し、その中で画像描画ライブラリcairo を使って図形を描画します。
続きを読む
Glade を使って、gtk3 で文字を入力するメニューを表示します。
メニューにはメニューバー,ツールバー,ポップアップメニューがありますが、ここではメニュバー(Gtk::MenuBar)を取り上げます。続きを読む
メニューにはメニューバー,ツールバー,ポップアップメニューがありますが、ここではメニュバー(Gtk::MenuBar)を取り上げます。続きを読む
Glade を使って、gtk3 で画像(Gtk::Image,Gdk::Pixbuf)を配置し、周期的呼び出し(Gtk.timeout_add,GLib::Timeout)でアニメーションを表示します。
続きを読む
続きを読む
Glade を使って、gtk3 でボタンを配置していきます。
続きを読む
続きを読む
いまどきのGTK+3 は、UI部分は Gladeを使ってXMLを書いて Gtk::Builderで読み込み、色指定などは CSSで指定するスタイルみたいです。そこで、以前書いた;
・Ruby/GTK2,GTK3 プログラミング Tips 1〜9
をそのスタイルに書き換えていこうと思います。続きを読む
・Ruby/GTK2,GTK3 プログラミング Tips 1〜9
をそのスタイルに書き換えていこうと思います。続きを読む
(2017.10.27 追加記事;
gtk2,gtk3 でメニューを表示する、今回は B. 手作業で作っていく方法を述べます。続きを読む
(2017.10.19 追加記事;
→・Ruby/GTK3を今時のGlade, XML, Builder, CSSで書く6 - テキスト入力)gtk2,gtk3 で文字を入力するテキストボックス(Gtk::Entry)を表示します。続きを読む
(2017.9.18 追加記事;
gtk2,gtk3 でテキストを表示します。(Gtk::TextView,Gtk::ScrolledWindow)続きを読む
gtk2,gtk3 で 画像(Gtk::Image,Gdk::Pixbuf)や周期的呼び出し(Gtk.timeout_add,GLib::Timeout)でアニメーションを表示します。続きを読む
(2017.8.26 追加記事;
→・Ruby/GTK3を今時のGlade, XML, Builder, CSSで書く3- ボタン)
gtk2,gtk3 で GUIの基本部品(Widget;ウィジェット)であるボタン(Gtk::Button)を作ります。続きを読む
→・Ruby/GTK3を今時のGlade, XML, Builder, CSSで書く3- ボタン)
gtk2,gtk3 で GUIの基本部品(Widget;ウィジェット)であるボタン(Gtk::Button)を作ります。続きを読む
(2017.8.25 追加記事;
gtk2,gtk3 で作ったウィンドウに GUIの部品(Widget;ウィジェット)を配置していきます。続きを読む
(2017.8.13 追加記事;
→・Ruby/GTK3を今時のGlade, XML, Builder, CSSで書く1- 基本,ウィンドウ)
Ruby で GUI を作るのに Ruby/GTK2,GTK3 を使おうと思いましたが、情報が少なくて苦労しました。
せっかくなので、まとめておきます。続きを読む
→・Ruby/GTK3を今時のGlade, XML, Builder, CSSで書く1- 基本,ウィンドウ)
Ruby で GUI を作るのに Ruby/GTK2,GTK3 を使おうと思いましたが、情報が少なくて苦労しました。
せっかくなので、まとめておきます。続きを読む
→ Pi2Go を購入しました
プログラミングして走るロボットカーでライントレースさせて DIP制御までやりたいと思っています。
プログラミングして走るロボットカーでライントレースさせて DIP制御までやりたいと思っています。
それも、電子工作よりプログラミングを楽しみたいと思い、ハンダ付けしないキットや完成品をさがしてみました。
C言語でプログラミングするロボットカーは安価なものがいろいろありますが、Ruby や Python でプログラミングできるものはなかなかありません。あってもパソコンからWi-FiやBuletoothで無線制御するものが多く、それだとどうしても遅延が起こって DIP制御には向きません。
以下、検討したロボットです;
続きを読む
さらに、今月の「U-18プログラミングくらぶ(Ruby三鷹教室)」で教えてもらったのが、
Sくんがデバッグの手伝いをしたという、
「チノクライシス」

<img via baton8.com>
活躍してるね。
→・Rubyプログラミングコンテストに小3で入賞した作品「ワクワクworknote」
→・「ひよこれくと」見せてもらった
Sくんがデバッグの手伝いをしたという、
「チノクライシス」

<img via baton8.com>
活躍してるね。

→・Rubyプログラミングコンテストに小3で入賞した作品「ワクワクworknote」
→・「ひよこれくと」見せてもらった
同じく、今月の「U-18プログラミングくらぶ(Ruby三鷹教室)」で見せてもらったのが、
Nくんの作った
「ひよこれくと」

<img via play.google.com>
Javaで作ったそうです。
Android向けゲームなんで、自分では試せないのが残念。
(ただいまバージョンアップ準備中だそうです。)
→・Rubyプログラミングコンテストに小3で入賞した作品「ワクワクworknote」
→・「チノクライシス」教えてもらった
Nくんの作った
「ひよこれくと」

<img via play.google.com>
Javaで作ったそうです。
Android向けゲームなんで、自分では試せないのが残念。
(ただいまバージョンアップ準備中だそうです。)
→・Rubyプログラミングコンテストに小3で入賞した作品「ワクワクworknote」
→・「チノクライシス」教えてもらった
今月の「U-18プログラミングくらぶ(Ruby三鷹教室)」の会場で、
「中高生国際Rubyプログラミングコンテスト in Mitaka2015」
で最年少の小学3年生で審査員特別賞をもらった二ノ方くんの作品「ワクワクworknote」
を本人から見せてもらいました。
Rubyを知ってから 1年もしないうちに作品を応募してしまうなんてすごいです。
その上、自分で HTMLを打って「ワクワクworknote」のホームページまで作ってしまったそうで、余計びっくり!(プログラムもダウンロードできます)
リンクしておきます
→・https://worknote.parseapp.com

<img via worknote.parseapp.com>
追記)
他にも、見せてもらいました。
→・「ひよこれくと」見せてもらった
→・「チノクライシス」教えてもらった
「中高生国際Rubyプログラミングコンテスト in Mitaka2015」
で最年少の小学3年生で審査員特別賞をもらった二ノ方くんの作品「ワクワクworknote」
を本人から見せてもらいました。
Rubyを知ってから 1年もしないうちに作品を応募してしまうなんてすごいです。
その上、自分で HTMLを打って「ワクワクworknote」のホームページまで作ってしまったそうで、余計びっくり!(プログラムもダウンロードできます)
リンクしておきます
→・https://worknote.parseapp.com

<img via worknote.parseapp.com>
追記)
他にも、見せてもらいました。
→・「ひよこれくと」見せてもらった
→・「チノクライシス」教えてもらった
(2016.6.17 修正;
ev3dev_ruby gem を公開したので一部書き換えました。)
LEGO Mindstorms EV3 に ev3dev という Debian Linux ベースの OS を載せて、ev3dev_ruby gem を使って Ruby(CRuby)でプログラミングする方法をメモしておきます。
その他の、EV3RT という TOPPERS リアルタイムOS を載せて mruby で動かす方法についてはこちらを
→・Mindstorms EV3をmrubyで動かす方法(Macで環境構築編) - noanoa07 - Qiita
→・来年のETロボコンにmrubyで参加しようと思ってるひとへ(2015年版) -続きを読む
ev3dev_ruby gem を公開したので一部書き換えました。)
LEGO Mindstorms EV3 に ev3dev という Debian Linux ベースの OS を載せて、ev3dev_ruby gem を使って Ruby(CRuby)でプログラミングする方法をメモしておきます。
その他の、EV3RT という TOPPERS リアルタイムOS を載せて mruby で動かす方法についてはこちらを
→・Mindstorms EV3をmrubyで動かす方法(Macで環境構築編) - noanoa07 - Qiita
→・来年のETロボコンにmrubyで参加しようと思ってるひとへ(2015年版) -
yamanekko -
Qiita 
RugyKaigi2015 で、RubyMotion に無料版が出たのと、motion-game というゲームライブラリで Flappy Bird が100行で書けてクロスプラットフォームで動く、というのを知りました。
そこで、実際に試してみたら色々とハマったので、その時のメモです。
続きを読む
Ruby で AIプログラムを組んで対戦するタンクゲームには、RRobots(Tk、Gosu)、RTanque(Gosu)、opal-robots(Opal)、 RubyRobots(Opal)、Rubyrobots(dRuby)などがあります。それぞれの特徴を比べてみました。
続きを読む
続きを読む
Minecraft の mod を作るには、普通 Java を使いますが、Ruby でもできるようにする RubyCore というものが 2015年8月に公開されていました。
→・RubyCore: Mods for minecraft using Ruby language - minecraftforum続きを読む
→・RubyCore: Mods for minecraft using Ruby language - minecraftforum続きを読む

Minecraft で Rubyプログラミングを楽しむ情報をまとめてみました。
(2015.10.21 追加記事を書きました;
→・Ruby で Minecraft の mod を作る RubyCore が出た!) 続きを読む

Minecraft の世界をプログラミング言語(Python、Ruby、Scratch 等)を使って操作することもできます。プログラムを組むことで、自動的にブロックを積んだり、プレーヤーを動かしたりできるのです。
そうすることで、Minecraft をより深く楽しんだり、プログラミング自体をより楽しむことができます。
それにはいくつかの方法があるので、まとめてみました。
(2015.10.21 追加記事を書きました。これで 5つになりました;
→・Ruby で Minecraft の mod を作る RubyCore が出た!)続きを読む
今度は、DXRubyの便利な機能をなるべく使わず、プリミティブな基本機能だけで「ブロック崩し」を作り直してみましょう
(参照;
→・「ブロック崩し」の追加課題
→・「ブロック崩し」追加課題に向けて;コンピュータの世界の下側を見てみよう)続きを読む
(参照;
→・「ブロック崩し」の追加課題
→・「ブロック崩し」追加課題に向けて;コンピュータの世界の下側を見てみよう)続きを読む
DXRuby や Ruby 自体は大変便利な命令・機能を持っているので、「ブロック崩し」をわずか60行足らずで作れてしまいました。
しかし、プログラミングの学習としては、便利機能に頼りすぎるのもどうなんだろうか?と思っていたら、こんな言葉を見つけてドキッとしました。
しかし、プログラミングの学習としては、便利機能に頼りすぎるのもどうなんだろうか?と思っていたら、こんな言葉を見つけてドキッとしました。

平山 尚@hirasho
「なんか動くもん作れていい気になってんだろうが、ライブラリを剥ぎ取ったおまえ自身の力はその程度だ。よく鏡を見ておけ」というのが主旨の授業だったが、おおよそ伝わったようで良かった。
2015/07/08 22:36:18
続きを読む平山 尚@hirasho
まあ、今時そんなのは流行らんが。「巨人の肩に乗れ」とか言うのかね、そういう「すでにあるものを利用して自分は価値を産む所に集中しろ」みたいな考え方。それは正しいと思うが、未熟者は多少広めに勉強しておいた方がいいと私は思うな。
2015/07/08 22:38:28
今回作った「ブロック崩し」では、衝突判定に DXRuby の === や check を使いました。
とても便利な機能ですが、自分で作るとしたらどうしたらよいでしょうか?
判定方法を考えてみましょう。
(→・「ブロック崩し」の追加課題)続きを読む
とても便利な機能ですが、自分で作るとしたらどうしたらよいでしょうか?
判定方法を考えてみましょう。
(→・「ブロック崩し」の追加課題)続きを読む
Rubyで動かす MONOXITの無線ロボットMI100 でライントレース大会(第2回)をしたときに使ったスライドを公開しました。(前回のスライドは →こちら)
「U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.2.15) での再編集版です。
続きを読む
「U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.2.15) での再編集版です。
Rubyで動かす MONOXITの無線ロボットMI100 でライントレース大会をしたときに使ったスライドを公開しました。
「U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.1.18) での再編集版です。続きを読む
「U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.1.18) での再編集版です。
(2015.2.18 追記;
バージョンアップに合わせて、記述を改めました。)
Rubyで動かす MONOXITの無線ロボットMI100 でライントレース大会をしてみました。
(「U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.1.18、2.15)
その際の設定が結構大変だったので、まとめておきます。
参考)
→・「MI100ロボットでライントレース大会」のスライドを公開しました
→・「MI100ロボットでライントレース大会(第2回)」のスライドを公開しました )続きを読む
バージョンアップに合わせて、記述を改めました。)
Rubyで動かす MONOXITの無線ロボットMI100 でライントレース大会をしてみました。
(「U-18プログラミングくらぶ(Ruby三鷹教室)」(2015.1.18、2.15)
その際の設定が結構大変だったので、まとめておきます。
参考)
→・「MI100ロボットでライントレース大会」のスライドを公開しました
→・「MI100ロボットでライントレース大会(第2回)」のスライドを公開しました )続きを読む
プロフィール
薬剤師なのにコンピュータが好き、鍼灸マッサージ師なのにプログラミングが好き。小中高校生向けのプログラミング教材を作るのが現在の日課。micro:bit、Scratch、Minecraft、Rubyなどで作成中。
FIREして2019年に世界一周クルーズしました。
Tweets by noanoa07
ツイートまとめ
最新記事
人気記事
月別アーカイブ
カテゴリ別アーカイブ
タグクラウド
記事検索
マイページ