2011年9月12日月曜日

GoogleDeveloperDay 2011のDevQuiz

現在DevQuizに挑戦しています.DevQuizとはなにかというと

GoogleDeveloperDayに参加するために解く必要のあるクイズで、合計得点が高い人順に参加賞が与えられるようになってます

配点はこんな感じです
40点:ウォームアップクイズ
30点:WebGame,Go!,Android,Google Apps Script,一人ゲーム
50点:スライドパズル

内容はというと

ウォームアップクイズが調べれば答えのわかるもので、AndroidやGAEなどGoogleのサービスや技術に関する質問が5問ほどありました.


ここからは私が実際に回答した問題の感想です


WebGameは神経衰弱でGoogleChromeのExtensionを利用して解いていくものです
これはサンプルのExtensionが与えられるので拡張して自動で解くようにする問題でした(最後の方は数百枚のカードがありました)


Go!はPNG画像ファイルをGo言語で解析して、何色使われているかを調べる問題です
IDATチャンクに実際の画像データが入っているのですが羅列される順番がcolortypeによって変わります
サンプルのコードではcolortype6のものだったのでそれだけを念頭にプログラムを作成したら、不正解になる・・・
そこでわざとcolortypeをはき出させるようにして、チェックするとcolortype2の画像も検証されていたのでその部分を実装しました
RGBの順でアルファが必ず255って書いてあったから、アルファが必ず含まれるものだと思っていましたw


スライドパズルは結構鬼畜な問題です
はっきり言って難しいです.
この問題ではパズルの解法アルゴリズムを考える必要があります
しかも普通のパズルと違い壁という通ることのできないマスがあったり、マス目の数が幅3~6・高さ3~6という変則的な数なので一律のアルゴリズムでは効率が悪かったりします
というかメモリが足りなかったり、難しい問題にかかりっきりになると効率が悪かったりするみたいです・・・


あとでソースコードも公開してみます.

0 件のコメント:

コメントを投稿

Web Analytics