- ベストアンサー
ランダムに表示
while(my($key,$val) = each %PL){ @VS_VALUES = split(/\s/,$val); print $VS_VALUES[5]; } あるPerlゲームの改造を行っています。 $VS_VALUES[5]の表示順をランダムにしたいと考えていますが、自力では難しそうです。よくわからないのですが、%PLの配列をランダムにするのでしょうか?書き方をお教えいただければ大変助かります。お手数ですが、よろしくお願いいたします。
while(my($key,$val) = each %PL){ @VS_VALUES = split(/\s/,$val); print $VS_VALUES[5]; } あるPerlゲームの改造を行っています。 $VS_VALUES[5]の表示順をランダムにしたいと考えていますが、自力では難しそうです。よくわからないのですが、%PLの配列をランダムにするのでしょうか?書き方をお教えいただければ大変助かります。お手数ですが、よろしくお願いいたします。
お礼
有難うございます。そして申し訳ございません。 ソースが長くなると思い、短縮して書いたのがいけないようで、 どの部分にどのように@VS_VALUES = shuffle(@VS_VALUES);を記入していいかわからず、うまくいきませんでした。 @VS_VALUES = shuffle(@VS_VALUES); → %PL = shuffle(%PL); このように置き換えてもみましたが、ランダムに表示されるにはされるのですが、必要でないデーターも呼び出されてしまい、動作がおかしくなってしまいました。せっかくお教えいただいたにもかかわらず、Perl知識がほとんどないため、適用できずに申し訳ございません。 詳細はNo.1の方に記入させていただきました。よろしければお手数をおかけし恐縮でございますが、よろしくお願いいたします。