▼スレッド
│
└◇805:Re:1日の戦闘制限 [moon] 10/08 19:55
└◇810:Re[2]:1日の戦闘制限 [mizuho] 10/09 11:55
└◇812:Re[3]:1日の戦闘制限 [moon] 10/09 19:23
└◇817:できました! [mizuho] 10/10 10:28<-last
> 内容が別なので分けさせていただきましたm(_"_)mスレッド一覧
>
> 相手1人に対し1日の戦闘を1回に制限して、その日のうちは戦えなくし、翌0時以降に再び挑めるようになる、という改造を取り入れたいのです。
> これまたまったくわかりませんでした(ToT)
> どのようにすればよろしいでしょうか?
最大5人まで記録しておくやり方は、
sub fightの、
if ($plf eq $id) { push (@msg,"$pnmとは暫く戦えません"); return }
を、
my $today = join('', (localtime(time))[5, 4, 3]);
my @plf = split(/,/, $plf);
foreach(@plf){
if($_ eq "$id:$today"){
push(@msg, "$pnmとは暫く戦えません");
return;
}
}
と変更しさらに、
$plf = $id;
を、
my @newplf = ();
foreach(@plf){
if((split(/:/, $_))[1] eq $today){
push(@newplf, $_);
}
else{
last;
}
}
unshift(@newplf, "$id:$today");
splice(@newplf, 5) if(@newplf > 5);
$plf = join(',', @newplf);
に変更すれば良いかな。(行頭に全角空白を使用しているので適宜修正してください。)
即興で作成したので動作の保証はしませんが多分大丈夫だろうとは思います。
こちらの方はまったくわからないので、よく見比べてコピペさせていただいたのですが、テーブルトップだけが表示されて戦闘自体ができませんでした。スレッド一覧
何故かも全然見当がつきません(ToT)
> こちらの方はまったくわからないので、よく見比べてコピペさせていただいたのですが、テーブルトップだけが表示されて戦闘自体ができませんでした。スレッド一覧
> 何故かも全然見当がつきません(ToT)
先ほど文法チェックをしたところこれといって問題が無かったので、おそらくコピペミスだと思われます。
とりあえずコピペしてその後に' '(全角空白2つ)を' '(半角4つ)に置換すればコピペミスが起こりにくいと思います。
# 文法チェックの習慣が無いのであれば、自他双方のためにコマンドプロンプトでの文法チェックの習慣をつけたほうが良いと思いますよ。
やはり全角スペースが入っていたようです。スレッド一覧
初歩的なミスで申し訳ありません^^;
構文チェック、ネット検索でいろいろ調べてみたので、これからはきちんと実施したいと思います。
どうもありがとうございましたm(_"_)m