ryuchan00 / basic_programing

UEC
0 stars 0 forks source link

5 寝れない・・・。 #5

Open hayato0718 opened 5 years ago

hayato0718 commented 5 years ago

まちがい


ウ def put(n)
キ     if n < $x
オ     end
エ     def get
セ         return $x
オ     end
オ end
hayato0718 commented 5 years ago

せいかい


ウ def put(n) 
サ   $x = $x + n
オ end 
エ def get 
セ   return $x
オ end 
hayato0718 commented 5 years ago

まちがい


コ     s = calc(n-1)
オ     s = s + 'a'
カ     s = s + 'b'
キ     s = s + 'c'
ウ     if n < 1
サ         return s
イ     end
イ end
hayato0718 commented 5 years ago

せいかい


ウ   if n < 1 
エ     s = ''
サ     return s
イ   end 
コ   s = calc(n-1)
キ   s = s + 'c'
サ   return s
イ end 
ryuchan00 commented 5 years ago

伊東さん!いつもありがとう

ryuchan00 commented 5 years ago
[...]$ irb
irb(main):001:0> load "sam5.rb" ←ファイル名は自分の作った名前で
=> true
irb(main):002:0> mypicture ←メソッド名は自分が作った名前で
=> ............
..............             ←沢山ごみ表示が出るかも
irb(main):002:0> quit      ←いったんirbを終わらせる
[...]$ ls                  ←lsでファイルを確認
................           ←t.ppm (または自分で指定したファイル名)確認
[...]$ gimp t.ppm &  ←gimpで表示(または「display t.ppm &」)
hayato0718 commented 5 years ago

わかりやすい! さすが山川さん!!!

ryuchan00 commented 5 years ago

(演習ガイドのこぴぺですよ

ryuchan00 commented 5 years ago

https://docs.ruby-lang.org/ja/latest/method/Kernel/m/open.html openのかいせつ

ryuchan00 commented 5 years ago

gimpの解説 http://tech.ckme.co.jp/pnm.shtml

hayato0718 commented 5 years ago

学籍番号:1920003
氏名:伊東 隼人
提出日付:2019/11/11

[作成したプログラム]

def fillcircle(x0, y0, rad, r=50, g=50, b=50)
  200.times do |y|
    300.times do |x|
      if (x-x0)**2 + (y-y0)**2 <= rad**2
       if block_given? then yield x, y
        else pset(x, y, r, g, b)
        end
       end
     end
   end
end

[簡単な説明]
計算により図形を塗り潰す

[アンケート]
Q1. 画像のデータ構造について学びましたが、納得しましたか。
なんとなくわかりました。

Q2. どのような画像を生成してみたいと考えていますか。
スーファミの敵キャラをつくりたい。

Q3. リフレクション(今回の課題で分かったこと)・感想・要望をどうぞ。
たのしかった。パソコン買うので自宅でいっぱいやる。
hayato0718 commented 5 years ago

演習2aを30分考えてやったよ。

hayato0718 commented 5 years ago

誤爆しました。。。


$img = Array.new(200) do
  Array.new(300) do Pixel.new(255,255,255) end
end
def pset(x, y, r, g, b)
  if 0 <= x && x < 300 && 0 <= y && y < 200
    $img[y][x].r = r; $img[y][x].g = g; $img[y][x].b = b
  end
end
def writeimage(name)
  open(name, "wb") do |f|
    f.puts("P6\n300 200\n255")
    $img.each do |a|
      a.each do |p| f.write(p.to_a.pack("ccc")) end
    end
  end
end
def mypicture
  pset(100, 80, 255, 0, 0)
  writeimage("t.ppm")
end
def fillcircle(x0, y0, rad, r=50, g=50, b=50)
  200.times do |y|
    300.times do |x|
      if (x-x0)**2 + (y-y0)**2 <= rad**2
         pset(x, y, r, g, b)
        end
     end
   end
end

def mypicture2
  fillcircle(100, 100, 100 , 180 ,0)
  fillcircle(100, 100, 60, 255, 0, 0)
  fillcircle(100, 100, 40, 100, 200, 80)
  writeimage("t.ppm")
end