hrkt0115311の、迷えるプログラミング教室  RSSを登録する

プログラミングに興味はありますか? 素人が入門書片手にソースコード書いたりcgi作ったり、迷子になったりするメルマガです。広大なプログラミングの森で、一緒に迷子を楽しんでみませんか?

最新号をメルマガでお届けします    
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。
2008/09/03

「hrkt0115311の、教えて習うRuby教室。」Vol.77 ~黒字のキャンバスに線と円を描いてみるの巻~

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

              〜 Ruby始めました 〜
                                             
                 「hrkt0115311の、教えて習うRuby教室。」Vol.77

━━━━━━━━━━━黒字のキャンバスに線と円を描いてみるの巻

おはようございます。hrkt0115311です。毎回メルマガを読んでいただきありがとう
ございます! LDRでRSSを登録して下さっている方もありがとうございます。
バックナンバーをご覧下さっている方にも感謝します。励みになります!
http://reader.livedoor.com/about/http://archive.mag2.com/0000267290/rss10.xml

先日は線をたくさん描いてみましたが、今日はその続きですー。
それでは本日のメルマガ始めます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○目次
・ 黒字のキャンバスに線と円を描いてみる(出力結果)
・ 黒字のキャンバスに線と円を描いてみる(解説)
・ 黒字のキャンバスに線と円を描いてみる(スクリプト)
・ お知らせ
・ 編集後記

━━━━━━━━━━━━━━━━━━━━━━━━━━━免責事項

 ソースコードは、発行者が実際に動かし、構文チェックなどもしていますが
 ご利用になられて万一損害が生じた場合、保証することができません。
 ご利用になられる際は、ご自身でご確認になられた上で、お試し下さい。

━━━━━━━━━━━━━━━━━━━━Rubyの導入方法について

 OSは何をお使いですか? LinuxでもMacOSでもWindowsでも、Rubyの
 公式ページでインストール方法が説明されています。

 ○Ruby Install Guide
 http://preview.tinyurl.com/4ghc3o

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○黒字のキャンバスに線と円を描いてみる(出力結果)

0回
http://f.hatena.ne.jp/hrkt0115311/20080902235551

35回
http://f.hatena.ne.jp/hrkt0115311/20080902235553

800回
http://f.hatena.ne.jp/hrkt0115311/20080902235552

回数はそれぞれ円の数です。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○黒字のキャンバスに線と円を描いてみる(解説)

フラクタルな模様に興味があるのですが、アルゴリズム難しくて><
SDLに慣れようということで、今回は三角形と円を表示してみました。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○黒字のキャンバスに線と円を描いてみる(スクリプト)

=begin
1. 背景に奇妙な三角形が幾つかあって、その上に繰り返し処理で円を
  ランダムに描くスクリプトです。
2. 逆引きRuby/SDL を参照させていただきました。お礼申し上げます。
  http://mono.kmc.gr.jp/proj/rubysdl/?GyakubikiRubySDL#l2
3. http://www.kmc.gr.jp/~ohai/rubysdl_doc.html も参照させていただきました。
  重ねてお礼申し上げます。
=end

require 'sdl' 

SDL.init( SDL::INIT_VIDEO ) 
screen = SDL.setVideoMode( 455, 455, 16, SDL::SWSURFACE )

screen.drawLine( 5, 5, 450, 5, [ 255, 255, 255 ] )
screen.drawLine( 5, 5, 450/2.0, 450, [ 255, 255, 255 ] )
screen.drawLine( 450/2.0, 450, 450, 5, [ 255, 255, 255 ] )


screen.drawLine( 5, 5, 450/2.0, 450/2.0, [ 255, 255, 255 ] )
screen.drawLine( 450/2.0, 450/2.0, 450, 5, [ 255, 255, 255 ] )
screen.drawLine( 450/2.0, 450, 450/2, 450/2.0, [ 255, 255, 255 ] )


screen.drawLine( 450, 450, 5, 450, [ 255, 255, 255 ] )
screen.drawLine( 450, 450, 450/2.0, 5, [ 255, 255, 255 ] )
screen.drawLine( 450/2.0, 5, 5, 450, [ 255, 255, 255 ] )


screen.drawLine( 450, 450, 450/2.0, 450/2.0, [ 255, 255, 255 ] )
screen.drawLine( 450/2.0, 450/2.0, 5, 450, [ 255, 255, 255 ] )
screen.drawLine( 450/2.0, 5, 450/2, 450/2.0, [ 255, 255, 255 ] )


800.times do
  x = rand(450)+1
  y = rand(450)+1
  r = rand(450/2)+1
  r  = rand(256)
  g  = rand(256)
  b  = rand(256)
  screen.draw_circle(x,y,r,[ r, g, b ])
end

screen.updateRect( 0, 0, 0, 0 )

loop do 
  while event = SDL::Event2.poll
    case event
    when SDL::Event2::Quit, SDL::Event2::KeyDown
      exit
    end
  end
end

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

○お知らせ

ほぼ日刊で続けてきたメルマガに、日々おつきあい下さり本当にありがとう
ございます。「簡単なテキスト処理ならできそうかも」と、もし、一人でも
そう感じて下さった方がいたら、あるいは、お使いのOSにあわせて
Rubyの言語処理系を導入して下さった方や、あるいは他の言語の学習を
スタートされた方がいらしたとしたら、とても嬉しいです。

日刊で続けてきたこのメルマガですが、階段の踊り場にさしかかったというか
成長率が悪くなったように感じています。Rubyの世界もプログラミングの世界も
豊かで広いのに、私が行えることは「似たようなことを繰り返しているだけ」
だと思い、反省しています。

これはインプットとアウトプットのアンバランスが原因だと思います。
今、学んでみたいことがあります。学びつつ、このメルマガにその成果を
反映させられたらいいなと考えています。

日刊だったメルマガをしばらくの間、週刊にしようと思います。
勝手なこと申しまして恐縮ですが、もしよろしければ、引き続きこのメルマガに
おつきあいいただけたら嬉しいです。

本日までおつきあいいただきありがとうございます。
今後ともどうぞよろしくお願いいたします。

■ 編集後記
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

「hrkt0115311の、教えて習うRuby教室。」を最後までお読みいただき
ありがとうございます。いかがでしたか?

Rubyをexeファイルにする仕組みを利用して、Rubyの処理系がないところでも
気軽にプログラムが動くようにしてみました。メールで知人に「こんなのできたよ」と
見せようとしたところ、「コンピュータウィルスの疑いが」みたいに、むちゃくちゃ
警告が出てしまいましたorz そうですよね、実行ファイル添付しちゃだめですよね。
失敗しました><

説明不足・分かりにくい点・私の理解の誤りなど、お気づきになられた点があれば、
お気軽にご意見・ご感想をお寄せ下さい。 enjoy.ruby@gmail.com にて、
メルマガ読者の皆さまからのフィードバックをお待ちしています。

それではまた、次号でお会いしましょう。

■ いただいた反響について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

「こんな仕組み作れないかな」とか「説明不足で分からないよ」といった
ご指摘をお寄せいただけると嬉しいです。みなさまの声で、メルマガを
育てていただければ嬉しいです。また、メルマガで、頂戴したメールの
一部を紹介させていただく可能性があります。差し支えがある場合は
「発行者のhtkt0115311に読んで欲しいだけで、メルマガには掲載しないで」
とお書きいただければ幸いです。

■ 転送や再配布について
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 blogなどでご紹介いただく際は、 http://www.mag2.com/m/0000267290.html
 などを並記していただき、私の書いた文章であることが分かる形に
 していただけると幸いです。またメルマガの転送については、転送者さんと
 転送したメルマガを受け取られた方が迷惑でない範囲であれば歓迎します。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 メールマガジン「hrkt0115311の、教えて習うRuby教室。」

 ○発行者     htkt0115311
 ○発行システム  『まぐまぐ!』 http://www.mag2.com/
 ○配信中止はこちら http://www.mag2.com/m/0000267290.html
 ○公式サイト    http://enjoy-programming.g.hatena.ne.jp/hrkt0115311/
 ○日記       http://d.hatena.ne.jp/hrkt0115311/
 ○Twitter     https://twitter.com/hrkt0115311
 ○Wassr      http://wassr.jp/user/hrkt0115311
 ○お問い合わせ   enjoy.ruby@gmail.com

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
最新号をメルマガでお届け
登録 解除

規約に同意して

登録した方には、まぐまぐの公式メルマガ(無料)をお届けします。

最近の記事

上へ戻る