論理思考とプログラミング第10回

833 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
833
On SlideShare
0
From Embeds
0
Number of Embeds
122
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

論理思考とプログラミング第10回

  1. 1. 論理思考とプログラミング#10<br />清水智公<br />chiko at sfc.keio.ac.jp<br />2009.12.17<br />1<br />論理思考とプログラミング #10 N.Shimizu<br />
  2. 2. メソッドにする意義<br />手続きの抽象化ができる<br />使う側が楽<br />その仕事を詳しく知る必要がなくなる<br />仕事の頼み方と、副作用、結果だけを知っておけば良い<br />外注<br />2009.12.17<br />2<br />論理思考とプログラミング #10 N.Shimizu<br />
  3. 3. マウスを追いかける矢印<br />2009.12.17<br />3<br />論理思考とプログラミング #10 N.Shimizu<br />
  4. 4. まず矢印を描こう<br />2009.12.17<br />4<br />論理思考とプログラミング #10 N.Shimizu<br />
  5. 5. メソッドにしよう<br />2009.12.17<br />5<br />論理思考とプログラミング #10 N.Shimizu<br />
  6. 6. 矢印を表す変数を決めよう<br />矢印を描くためにはX座標とY座標が必要<br />矢印はマウスの動きに合わせて動く<br />動く:X座標とY座標が変化する<br />X座標とY座標を変数にしておこう<br />2009.12.17<br />6<br />論理思考とプログラミング #10 N.Shimizu<br />
  7. 7. とりあえず宣言<br />2009.12.17<br />7<br />論理思考とプログラミング #10 N.Shimizu<br />
  8. 8. とりあえず使ってみる<br />2009.12.17<br />8<br />論理思考とプログラミング #10 N.Shimizu<br />
  9. 9. 動かしてみよう<br />2009.12.17<br />9<br />論理思考とプログラミング #10 N.Shimizu<br />
  10. 10. ・・・<br />2009.12.17<br />10<br />論理思考とプログラミング #10 N.Shimizu<br />
  11. 11. 動く前の矢印を消そう<br />2009.12.17<br />11<br />論理思考とプログラミング #10 N.Shimizu<br />
  12. 12. 矢印クラスを作ろう<br />矢印を表す変数が二つある<br />X座標とY座標<br />まとめよう<br />矢印を描くメソッドもまとめてしまおう<br />2009.12.17<br />12<br />論理思考とプログラミング #10 N.Shimizu<br />
  13. 13. まとめてみた<br />2009.12.17<br />13<br />論理思考とプログラミング #10 N.Shimizu<br />
  14. 14. 名前を変えよう<br />2009.12.17<br />14<br />論理思考とプログラミング #10 N.Shimizu<br />
  15. 15. 引数をなくそう<br />2009.12.17<br />15<br />論理思考とプログラミング #10 N.Shimizu<br />
  16. 16. 使ってみよう<br />2009.12.17<br />16<br />論理思考とプログラミング #10 N.Shimizu<br />
  17. 17. 矢印を8つにしてみよう<br />2009.12.17<br />17<br />論理思考とプログラミング #10 N.Shimizu<br />
  18. 18. 動かしてみよう<br />2009.12.17<br />18<br />論理思考とプログラミング #10 N.Shimizu<br />
  19. 19. 配列で「集まり」を実現しよう<br />2009.12.17<br />19<br />論理思考とプログラミング #10 N.Shimizu<br />
  20. 20. 配列は同じ型の変数の集まり<br />矢印<br />矢印<br />矢印<br />矢印<br />配列<br />2009.12.17<br />20<br />論理思考とプログラミング #10 N.Shimizu<br />
  21. 21. 各変数のことを要素と呼びます<br />要素<br />要素<br />要素<br />要素<br />矢印<br />矢印<br />矢印<br />矢印<br />配列<br />2009.12.17<br />21<br />論理思考とプログラミング #10 N.Shimizu<br />
  22. 22. 配列内での位置があります<br />0番目<br />3番目<br />1番目<br />2番目<br />矢印<br />矢印<br />矢印<br />矢印<br />配列<br />2009.12.17<br />22<br />論理思考とプログラミング #10 N.Shimizu<br />
  23. 23. 配列には長さがあります<br />矢印<br />矢印<br />矢印<br />矢印<br />長さ4の配列<br />2009.12.17<br />23<br />論理思考とプログラミング #10 N.Shimizu<br />
  24. 24. 配列の長さは変わりません<br />矢印<br />矢印<br />矢印<br />矢印<br />長さ4の配列<br />2009.12.17<br />24<br />論理思考とプログラミング #10 N.Shimizu<br />
  25. 25. 配列も一つの変数です<br />矢印<br />矢印<br />矢印<br />矢印<br />配列<br />2009.12.17<br />25<br />論理思考とプログラミング #10 N.Shimizu<br />
  26. 26. 配列を宣言<br />2009.12.17<br />26<br />論理思考とプログラミング #10 N.Shimizu<br />
  27. 27. 長さを決定<br />2009.12.17<br />27<br />論理思考とプログラミング #10 N.Shimizu<br />
  28. 28. 各要素を作る<br />2009.12.17<br />28<br />論理思考とプログラミング #10 N.Shimizu<br />
  29. 29. 配列の長さ<br />2009.12.17<br />29<br />論理思考とプログラミング #10 N.Shimizu<br />
  30. 30. 一つしかない><<br />2009.12.17<br />30<br />論理思考とプログラミング #10 N.Shimizu<br />
  31. 31. xとyの決め方に問題がある<br />原因:<br />全ての矢印のX座標とY座標が一緒<br />マウスの位置をそのまま代入しているから<br />解決策:<br />X座標とY座標が異なるようにすればいい<br />最初の位置をランダムに決める<br />じわっと追いかけるようにする<br />2009.12.17<br />31<br />論理思考とプログラミング #10 N.Shimizu<br />
  32. 32. 最初の位置をランダムに決める<br />2009.12.17<br />32<br />論理思考とプログラミング #10 N.Shimizu<br />
  33. 33. じわっと近づく<br />2009.12.17<br />33<br />論理思考とプログラミング #10 N.Shimizu<br />
  34. 34. drawメソッドを書き換え<br />2009.12.17<br />34<br />論理思考とプログラミング #10 N.Shimizu<br />
  35. 35. 矢印の位置を変えるとき<br />マウスが動いたとき<br />「マウスが動く」はイベント<br />mouseMoved()がイベントハンドラ<br />2009.12.17<br />35<br />論理思考とプログラミング #10 N.Shimizu<br />
  36. 36. mouseMovedメソッド<br />2009.12.17<br />36<br />論理思考とプログラミング #10 N.Shimizu<br />
  37. 37. 動かしてみよう<br />2009.12.17<br />37<br />論理思考とプログラミング #10 N.Shimizu<br />
  38. 38. ブラッシュアップしよう<br />他の矢印と近づきすぎてしまう<br />画面からはみ出ないようにしよう<br />マウスがある方を向いてほしい<br />2009.12.17<br />38<br />論理思考とプログラミング #10 N.Shimizu<br />
  39. 39. 1本の矢から遠ざかる<br />2009.12.17<br />39<br />論理思考とプログラミング #10 N.Shimizu<br />
  40. 40. 全部の矢に対して<br />2009.12.17<br />40<br />論理思考とプログラミング #10 N.Shimizu<br />
  41. 41. 自分以外の矢から遠ざかる<br />2009.12.17<br />41<br />論理思考とプログラミング #10 N.Shimizu<br />
  42. 42. マウスのある方に矢印を向ける<br />2009.12.17<br />42<br />論理思考とプログラミング #10 N.Shimizu<br />
  43. 43. もっとブラッシュアップしよう<br />アイディアのみせどころ<br />2009.12.17<br />43<br />論理思考とプログラミング #10 N.Shimizu<br />
  44. 44. Don’t start by trying to build a cathedral. <br />大きいものをいきなり作るのは難しい<br />かっこいいプログラムを書くのも難しい<br />小さい機能を作る->ブラッシュアップする<br />2009.12.17<br />44<br />論理思考とプログラミング #10 N.Shimizu<br />

×