▼スレッド
│
└◇691:Re[8]:補足 [哲] 07/31 02:02
└◇692:Re[9]:補足 [moon] 07/31 09:00
└◇693:Re[10]:補足 [哲] 07/31 10:01
> > # サブルーチン外のループを脱出するスレッド一覧
> >目的のlast;は-wで表示される警告の対象なので。
> ぇ・・・?(汗
> ループを脱出する
多分、lastを使っている所をみると、複数回探索機能がついていると解釈されている様なので、罠にかかりループを終了という処理を書かれている訳です…。
find_itemの罠にかかって、trapにくる所、
if (5 <= $wanarand){&trap}
(処理方法がわからないので適当です。)
を
if (5 <= $wanarand){&trap; goto JUMP}
として、
アイテムを拾う処理の下辺りに
JUMP;と入れれば、
「罠にかかった。アイテムを手に入れた。」
という処理にはならないですが…。
> >目的のlast;は-wで表示される警告の対象
> っというのが分からないです・・・(;;
ファイル検査の表現?分からない…。
あと、関係無いですが、
if ($tav eq 'cure') {$hp += 2; $hp = $xp if $hp >= $xp; push (@msg,"<font color=lightskyblue>2ポイント回復した</font>" ); }
elsif ($tav eq 'ya') { push (@msg,"<font color=red>$wandポイントのダメージを受けた</font>"); $hp -= $wand; $av = 'daed' if $hp <= 0; }
elsif ($tav eq 'isi') { push (@msg,"<font color=red>2ポイントのダメージを受けた</font>"); $hp -= 2; $av = 'daed' if $hp <= 0; }
else { $av = 'poison'; }
こうすると、少しだけ綺麗かなとも思いました…。
> > > # サブルーチン外のループを脱出するスレッド一覧
> > >目的のlast;は-wで表示される警告の対象なので。
> > ぇ・・・?(汗
> > ループを脱出する
>
> 多分、lastを使っている所をみると、複数回探索機能がついていると解釈されている様なので、罠にかかりループを終了という処理を書かれている訳です…。
そうです。
完全に複数探索を取り入れていると思い込んでいました。
> find_itemの罠にかかって、trapにくる所、
> if (5 <= $wanarand){&trap}
> (処理方法がわからないので適当です。)
> を
> if (5 <= $wanarand){&trap; goto JUMP}
> として、
> アイテムを拾う処理の下辺りに
> JUMP;と入れれば、
> 「罠にかかった。アイテムを手に入れた。」
> という処理にはならないですが…。
もう少し手を入れて、sub trapのif($av eq 'alive'){}ブロック内に$trapflag = 1;を追加し、goto JUMP;ではなくgoto JUMP if($trapflag);にしたほうが良いかもしれません。
> > >目的のlast;は-wで表示される警告の対象
> > っというのが分からないです・・・(;;
>
> ファイル検査の表現?分からない…。
perl -wというように使用する警告表示用のオプションのことです。
Perlの実行環境がインストールされているのならコマンドプロンプトから、perl -e "sub xxx{last;} foreach(0 .. 1){ &xxx; }"とperl -we "sub xxx{last;} foreach(0 .. 1){ &xxx; }"を実行してみればどういうことか分かると思います。(前者は警告表示なしの指定)
# 文法チェックをする場合は普通-wを付けると思うのですが、簡略化して書いたので思い当たらなかったのでしょうか。 > 哲さん
> # 文法チェックをする場合は普通-wを付けると思うのですが、簡略化して書いたので思い当たらなかったのでしょうか。 > 哲さんスレッド一覧
コマンドプロントの方でしたか…。
あの時はてっきり忘れてましたよ…ははは…。