2009年4月アーカイブ

2009年4月26日
| コメント(0) | トラックバック(0) ドラゴンクルセイドというゲームについて

Vectorを久しぶりに使ったら面白そうなゲームが広告に出ていたので試してみた。
1日5分からでも楽しめる、というのが、どういうことなのかも気になった。

そのゲーム:シミュレーションRPG!ドラゴンクルセイド:Vector

オフィシャルの説明は以下のとおり。

1日5分からでも楽しめる! 『ドラゴンクルセイド』は、オフライン状態のときもゲームが進行するシステムを採用しているため、 プレイヤーの時間負担をかけません。隙間時間にキャラクターに指示を出したり、 生産の設定などをしておいて、結果を後でじっくり確認するといった遊び方も可能です。

面白そうなネタを見つけたので、便乗してみた。

my @update = grep { my $a = 1; foreach my $b (@key) { $a = 0 if $_ eq $b; } $a; } @items;
my %key = map { $_ => 1 } @key;
my @update = grep { not exists $key{$_} } @items;

上の二つでは、ハッシュを使うほうが段違いに速い。
その傾向は大きい配列になるほど顕著になる。

でも、配列が大きくなると、mapの部分が結構時間がかかるようなので、ハッシュスライスにしてみた。

my %hash;
undef @hash{@key};
my @update = grep { not exists $hash{$_} } @items;

その結果、さらに速くなった。
しかも、配列が大きくなればなるほど効果も上がっている。

やはり、スライスは使えるテクニックだ。

参考ベンチの結果とソースは以下のとおり。

Google検索

Last.fm

このアーカイブについて

このページには、2009年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2009年3月です。

次のアーカイブは2009年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type