先日、Android勉強会18回目を開催しました。

 

Handlerの話に入ってから大分たつので最初のころにやった内容が曖昧になってきたため、今日は最初から一気に全体を見直してから弱い参照について説明してHandlerの話は終わりとしました。

 

状態遷移の説明をした後で、状態遷移表の実例について解説したところで時間となりました。

 

Angry Birdもどきの経路探索アルゴリズムですがLSI CADで用いられているMaze Routingが使えることに気付きネットで検索したところイリノイ大学のコンテンツがCourseraにありました。

Maze Routing: Multi-Point Nets

非常に分かりやすい説明で、これを元にAngry Birdもどきに組み込んだところうまく豚を捕まえることができました。
 

渋谷シニアプログラミングもくもく会に行ってきました。先月に続き2回目です。

 

渋谷シニアプログラミングもくもく会では初心者の方にはHour of CodeのAngry Birdをやってもらうことになっています。これによってアルゴリズムを書くことのイメージはつかめたとして、でも実際にプログラミング言語でプログラムを書くことのイメージがつかめない方に役立つのではないかと思いソフトを作っていきました。

 

C言語には標準のグラフィックスライブラリはないので、標準のテキスト制御ライブラリcursesを使ってAngry Birdもどきを実現しました。壁は'*'、通り道は' '、Angry Birdは'A'、豚は'P'で表現し、Angry Birdが通り道を通って豚を捕まえるように動かす部分をC言語で追記してもらって動作確認するようになっています。

 

特に課題を決めていない方がいたので試してもらったところ、かなり有意義だったのではないかと感じました。帰宅後継続して検討していたところ、一筆書きや分岐がある通り道なら全部探索できるアルゴリズムは思いつきましたがループがあると難しいことに気づきました。簡単な気持ちで始めたのですが意外と奥が深そうです。