かえ  ボール

  座標ざひょう  一定いってい  割合わりあい  変化へんか  させる  ことで  うご  ボールを  表現ひょうげん  して  みます。  以下いか  サンプル  コードを  ながれに  沿って  確認かくにん  します。

 

require'dxruby'

img1=Image.new(30,30,C_BLACK)

img1.circle_fill(15,15,15,C_WHITE)

x=0;

#ここまでは  すで  まなんだ  内容ないよう  つぎ  dxは  x方向ほうこう  変化へんかぶん

dx=1

#えん  たて方向ほうこう  なか  表示ひょうじ  する  ために  以下いか  しき  yを  める。

y=(Window.height-img1.height)/2

#無限むげん  ループ  スタート

Window.loopdo

  #xを  dxだけ  変化へんか  させる  ために  x=x+dx    する。  x+=dx    いう  かた  ある。

  x+=dx

  #xが  ウィンドウの  よこはば  はみそうに  なったら  方向ほうこう  える。

  if(x>Window.width-30)then

    #方向ほうこう  える。  ここは  dx*=-1    いても  い。

    dx=dx*(-1)

  end

  Window.draw(x,y,img1)

end

  dxと  いう  変数へんすう  あらたに  くわわった。  これは  変化へんかぶん  意味いみ  する  変数へんすう  初期値しょきち  +1。

  yは  固定こてい  ウィンドウの  たかさの  半分はんぶんから  img1の  半分はんぶん  たかさを  いた  座標ざひょう  これにより    なか  る。

  無限むげん  ループの  なか  x=x+dx    する  ことで  みぎ  移動いどう

  右端みぎはし  かえ  ために  条件じょうけん  分岐ぶんき  おこなう。  条件じょうけん  分岐ぶんきとは、  「もし  ~なら  〇〇  する」  いう  命令めいれい  実現じつげん  する  もので  ある。

  条件じょうけん  分岐ぶんき  「x座標ざひょう  ウィンドウの右端みぎはし座標ざひょう-img1のよこはば  より  おおきく  なった  場合ばあい  変化へんかぶん  ひだり方向ほうこう  する  こと。

  みぎ方向ほうこうへの  変化へんか  (dx=1)から  ひだり方向ほうこうへの  変化へんか  -1を  ざん  すると  実現じつげん  できる。

  しかし  このままだと、  みぎ  かえった  あと  左側ひだりがわ  えて  いって  しまいます。  そこで、  「x座標ざひょう  ゼロより  ちいさく  なったら」  いう  条件じょうけん  くわえさせます。

if(x>Window.width-30||x<0) then

  「この  縦棒たてぼう  2つは、  「もしくは」  いう  意味いみ  ある。  ここで  dx=dx*(-1)    意味いみ  再確認さいかくにん  する。  ひだり方向ほうこうへの  移動いどうから  みぎ方向ほうこうへの  移動いどう  わるのも、  実現じつげん  できて  いる。」  いう  ことを  理解りかい  させます。

  ここまで  たら  生徒せいと  しん  理解りかい  確認かくにん  しつつ  「y方向ほうこうにも  同様どうよう  変化へんか  する  プログラムに  せよ。」  いう  課題かだいなどを  して  みるのも  いでしょう。