Perl・CGI入門/配列要素のシャッフル
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
''[[FrontPage]]''
* 配列要素のシャッフル [#q9cfd11c]
一般的なList::Utilモジュールを利用する方法です。~
** 関連ページ [#i038442d]
-[[Perl・CGI入門/パッケージを使う/ID Roll]]
ファイル名: shuffle.pl
#!/usr/local/bin/perl -w
# 実行コマンド perl shuffle.pl
use strict; ...
use warnings; ...
use List::Util; ...
...
my @races = ( 'Human', 'Amberite', 'Vampire', 'Half-Tita...
'Hobbit', 'Elf', 'Half-Elf', 'Dwarf','Gnome', 'Yeek'...
'Dark-Elf', 'Zombie', 'Draconian', 'Mindflayer', 'Im...
'Beastman', 'Half-Orc', 'Half-Troll', 'High Elf','An...
'Half-Ogre', 'Cyclops', 'Klackon', 'Kobold', 'Nibelu...
'Golem', 'Skeleton', 'Spectre', 'Sprite', 'Half-Gian...
'Ent', 'Death Mold' ); ...
...
my @classes = ( 'Warrier', 'Ranger', 'Warrier-Mage', 'Pa...
'Blue Mage', 'Mindcrafter', 'Chaoss-Warrier', 'Mage'...
'Priest', 'Monk', 'High Mage', 'Alchemist', 'Archer'...
'Samurai', 'Axemaster', 'Bard', 'Demonologist', 'Dru...
'Geomancer', 'Haftedmaster', 'Loremaster', 'Mimic', ...
'Ninja', 'Tourist', 'Polearmmaster', 'Runecrafter', ...
'Sorceror', 'Summoner', 'Swordmaster', 'Symbiant', ...
'Thaumaturgist', 'Red Mage' ); ...
...
my $m = 0; ...
my $n = 0; ...
my @mssids; ...
...
...
while( $m < 32 ) ...
{ ...
while( $n < 32 ) ...
{ ...
unshift( @mssids, ("$races[$m] $classes[$n],") )...
$n++; ...
} ...
...
$n -= 32; ...
$m++; ...
} ...
...
@mssids = List::Util::shuffle( @mssids ); ...
...
open (DECK, ">./deck_o.txt"); ...
flock (DECK, 2); ...
print (DECK @mssids); ...
close DECK; ...
参考までに(ファイル名: deck_o.txt)
Golem Archer,Half-Elf Polearmmaster,Half-Giant Druid,Dwa...
*** 参考ページ [#f3ec55a8]
http://www.kt.rim.or.jp/~kbk/perl-5.8/list-util.html~
終了行:
''[[FrontPage]]''
* 配列要素のシャッフル [#q9cfd11c]
一般的なList::Utilモジュールを利用する方法です。~
** 関連ページ [#i038442d]
-[[Perl・CGI入門/パッケージを使う/ID Roll]]
ファイル名: shuffle.pl
#!/usr/local/bin/perl -w
# 実行コマンド perl shuffle.pl
use strict; ...
use warnings; ...
use List::Util; ...
...
my @races = ( 'Human', 'Amberite', 'Vampire', 'Half-Tita...
'Hobbit', 'Elf', 'Half-Elf', 'Dwarf','Gnome', 'Yeek'...
'Dark-Elf', 'Zombie', 'Draconian', 'Mindflayer', 'Im...
'Beastman', 'Half-Orc', 'Half-Troll', 'High Elf','An...
'Half-Ogre', 'Cyclops', 'Klackon', 'Kobold', 'Nibelu...
'Golem', 'Skeleton', 'Spectre', 'Sprite', 'Half-Gian...
'Ent', 'Death Mold' ); ...
...
my @classes = ( 'Warrier', 'Ranger', 'Warrier-Mage', 'Pa...
'Blue Mage', 'Mindcrafter', 'Chaoss-Warrier', 'Mage'...
'Priest', 'Monk', 'High Mage', 'Alchemist', 'Archer'...
'Samurai', 'Axemaster', 'Bard', 'Demonologist', 'Dru...
'Geomancer', 'Haftedmaster', 'Loremaster', 'Mimic', ...
'Ninja', 'Tourist', 'Polearmmaster', 'Runecrafter', ...
'Sorceror', 'Summoner', 'Swordmaster', 'Symbiant', ...
'Thaumaturgist', 'Red Mage' ); ...
...
my $m = 0; ...
my $n = 0; ...
my @mssids; ...
...
...
while( $m < 32 ) ...
{ ...
while( $n < 32 ) ...
{ ...
unshift( @mssids, ("$races[$m] $classes[$n],") )...
$n++; ...
} ...
...
$n -= 32; ...
$m++; ...
} ...
...
@mssids = List::Util::shuffle( @mssids ); ...
...
open (DECK, ">./deck_o.txt"); ...
flock (DECK, 2); ...
print (DECK @mssids); ...
close DECK; ...
参考までに(ファイル名: deck_o.txt)
Golem Archer,Half-Elf Polearmmaster,Half-Giant Druid,Dwa...
*** 参考ページ [#f3ec55a8]
http://www.kt.rim.or.jp/~kbk/perl-5.8/list-util.html~
ページ名: