第138回 MONOPOLYの短縮ゲーム
MONOPOLYは下手をすると何時間も勝負をつけるのに時間がかかってしまうときがある。
そこで、短縮ゲームというのが存在するらしい。
説明書に載っているのは、まずプレー前にあらかじめ権利書をよくきってから
2枚ずつプレーヤーに配り、その土地のお金を支払ってから始めるというものだ。
また普通は、家を4件立ててからホテルにするが、3つ建てたらホテルにできる というのも載っている。他にもある。
だが、ここで問題にしたいのは権利書をよくきるという行為だ。
権利書はカラーごとに用意しておいたほうが、ゲームを円滑にすすめることができるだろう。
そこで、権利書はランダムにPerlに選んでもらおうではないか。
use strict; # プレーヤー名 my @player = ('木村', '田中'); # 権利書を配る数 my $num = 2; my @masu = ( # ダークパープル '地中海通り', 'パルティック通り', # 鉄道 'リーディング鉄道', 'ペンシルマニア通り', 'B&O鉄道', 'ショートライン鉄道', # 公共 '電力会社', '水道会社', # ライトブルー 'オリエンタル通り', 'バーモント通り', 'コネチカット通り', # ライトパープル 'セントチャールズプレース', 'ステーツ通り', 'バージニア通り', # オレンジ 'セントジェームスプレース', 'テネシー通り', 'ニューヨーク通り', # レッド 'ケンタッキー通り', 'インディアナ通り', 'イリノイ通り', # イエロー 'アトランティック通り', 'ベントノール通り', 'マービンガーデン', # グリーン 'パシフィック通り', 'ノースキャロライナ通り', 'ペンシルバニア通り', # ダークブルー 'パークプレース', 'ボードウォーク' ); for(@player){ print $_ . 'さん' . "\n"; for(1..$num){ print '-->'; print +(splice @masu, rand @masu , 1), "\n"; } print "\n"; }
だれか私に「権利書」の英訳を教えてほしい。
わからないので変数名を「$masu」にしてしまった。
@player にはプレーヤーの名前を書いていけばいい。
$num には配りたい権利書の数を書けばいい。
あとは実行するだけだ。
木村さん -->ステーツ通り -->ニューヨーク通り 田中さん -->パークプレース -->リーディング鉄道