棚からパルチャギ

日々の雑記、ニュース拾いとか

2007. 09. 10

Googleの面接試験
試験じゃなければこういうのも楽しめるんですけどw
実際にやったら、応用力のないマニュアル人間な加須さんは( ゚Д゚)ポカーンとしたまま面接終わりそうな予感です。

この村には100組の夫婦がいて、夫は全員浮気しています。妻は全員、自分の夫以外が浮気していることは知っています。そしてこの村の掟では浮気や姦通は許されていません。また、どの妻も自分の夫が浮気していると知ればすぐに自分の夫を殺すという掟があります。この村の女達は掟には背きません。ある日、村の女王が言いました。この村には浮気をしている男が少なくとも1人はいる。さて、この村に何が起きますか?
女王様が浮気を告発する前から妻たちは(自分の夫以外の)浮気を知っていたわけで、 つまりは「最悪のケースで自分の夫以外の男性が全員殺される」ことが分かっていたはずです。 実際には自分の夫も浮気しているので殺すことになるんですけど。

それでも村が存続していたのは、たとえ井戸端会議レベルでも浮気についての話題はタブーであるという共通意識があったと推察され、 少なくとも当人の前ではその夫についての浮気話はしないという鉄則があったと思われます。 つまり、結論としては浮気は口外されないので『何も起こらない』。

ただし、村の男たちは全員浮気をしているので妻に対して後ろめたいし、 妻たちはお互いに世間話をしているときでも「こいつ、3件となりの山田さんと浮気してるんだよなー」とか思いながら談笑してたりするドロドロの関係。 しかも、誰かひとりの浮気が発覚すると大量虐殺にも発展する一触即発の状態で日々をすごしているわけで、 平和でもなんでもないという。

考えられるBAD ENDがいくつもあって、この設定だけで短編作品がいくつか作れそうな感じだなーと思ったので、個人的にはちょっと面白い題材でした。 ちなみに正解は知りませんです。というか、既に試験のことは忘れていました…。

記事の原文眺めてて気付いたんですが、「interview」って(試験での)面接の意味もあるんですね。
埋め込みアセットクラスをgetDefinitionByName()で参照する
ぐぐるさん頼りでActionScript3についていろいろ調べたネタでも投下していこうかと。

AS3で画像やサウンド(mp3)なんかをEmbedを使ってswfファイルに埋め込む場合、数が多くなると大量の宣言が並んで大変なことになります。 Embedは仕方が無いとして、ロードの部分はなんとか効率良くできないものかなーと思うわけで。

[Embed(source='image0.gif')] private var Image0:Class;
[Embed(source='image1.gif')] private var Image1:Class;
[Embed(source='image2.gif')] private var Image2:Class;
...

var img: Array = new Array();
img[0] = new Image0();
img[1] = new Image1();
img[2] = new Image2();    // ←列挙するのは、なんか美しくない

Embed Generatorなんてツールまであるくらいだから、 これ以外に手法はないのかと思っていたんですが、getDefinitionByName()というメソッドが使えるようです。

import flash.utils.getDefinitionByName;

for (var i:int=0; i<3; ++i) {
    img[0] = new (getDefinitionByName("Sample01_Image"+ i) as Class);
}

こんな感じ。 「Sample01」はアセットを埋め込んだクラス名。
埋め込みアセットクラスの場合は、単純に getDefinitionByName("Image0") のようには参照することができず、 親(?)のクラス名をアンダーバーで繋がないといけないとのこと。 とにもかくにも、これでスッキリしました。
ネタ元:ActionScript 誰かが物凄い勢いで解答するスレ 17
雑記
Google Readerは検索機能よりもサイトトップへのリンクが追加されたのが便利だなーとか思っていたら、 実は前から存在していたっぽいのでショック。 いつも表示をAll Itemsにしていたから気付いてなかっただけでした…。

AS3のサウンドライブラリ「popforge」がちょっと面白そうな感じです。