てきとうなさいと べぇたばん

2点間の距離

TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > 2点間の距離

もっとくっついてみた。ちなみに、3ドットずつ移動するためか距離はちょうど0にはならなかった。 近づいてみた。 赤いたまをキーボードで移動できるようにした。左上の数字が緑色との距離。

距離を求める

2点間の距離を求める場合には、ピタゴラスの定理を応用する。直角三角形に見立てればいいということかな。

DXRuby1.3.6devにて。緑色のたまを起点にして、赤色のたまをキーボードで移動できるようにした。距離は左上に表示。

#!ruby -Ks

require "dxruby"

from = Sprite.new(140, 110, Image.new(8, 8).circleFill(4, 4, 4, [255,0,0]))
to   = Sprite.new(444, 230, Image.new(8, 8).circleFill(4, 4, 4, [0,255,0]))

def distance(from, to)
  Math.sqrt((to.x - from.x)**2 + (to.y - from.y)**2)
end

font = Font.new(16)

Window.loop do
  Window.drawFont(0, 0, distance(from, to).to_s, font, {:color => [255,255,255]})

  from.draw
  to.draw

  from.x += Input.x * 3
  from.y += Input.y * 3

  break if Input.keyPush?(K_ESCAPE)
end

2012/07/05 16:51