# ------------------------- # # Sub Action # アクション # ------------------------- # sub action { $playmsg = "$playtime時間" if $playtime != 0; $playmsg = "$playminute分" if $playtime == 0; &checkname; &error("まだ$playmsg経過していません") if $enter == 1; &header; &title; &bodytop("ペットデータ($num代目)"); &petdata; srand(time); $rnd = int(rand(10) + 1); $fa = $FORM{'mode'}; if ($fa eq 'play') { $lastplay = time; } if ($fa eq 'out') { $out = 1; $outdate = time; } if ($rnd <= $rnd_border) { &petnow($rnd_img,$rnd_msg); $love--; } elsif ($FORM{'good'} =~ /$fa/) { # &petnow($good_img{$fa},$good_msg{$fa}); # コメントにします。 $love++;$good++; if ($fa eq "feed") { $lastfeed = time; } if ($love >= 50) { # 好感度が50以上ならクリア $disp_img = 'clear.gif'; # クリアしたときの画像 $disp_msg = 'ゲームクリア!'; # クリアしたときのメッセージ &petnow($disp_img,$disp_msg); } else { # クリアじゃないときは、通常の喜ぶ画面 &petnow($good_img{$fa},$good_msg{$fa}); } } elsif ($FORM{'bad'} =~ /$fa/) { &petnow($bad_img{$fa},$bad_msg{$fa}); $love--;$bad++; } else { &petnow($else_img{$fa},$else_msg{$fa}); } &openoutpetdata; $goodbye = time - (60 * 60 * 24 * $goodbye); $newlove = $love; &openinuserdata('action'); &openoutuserdata; $actionflag = 1; # 飼い主ランキングのリンクを表示 &bodybottom; &footer; } |
# ------------------------- # # Sub Condition # ペットのコンディション # ------------------------- # sub condition { print "</td>\n"; print "</tr>\n"; # 一定期間餌をあげないと死んでしまう。 if (time >= $lastfeed + $daysec * $deadline) { $noaction = 1; $deadover = &checkday($lastfeed); print "<tr>\n"; print "<td>\n"; &tabletop; &petnow($dead_img,"$petnameは死にました。<br>死後$deadover日経っています。"); print "<tr>"; print "<td align=\"right\">\n"; &input('hidden','mode','nopet','',''); &input('hidden','name',$FORM{'name'},'',''); &input('hidden','pass',$FORM{'pass'},'',''); print "新しいペットを飼う\n"; &input('submit','','OK','',''); &tablebottom; print "</td>\n"; print "</tr>\n"; return; } # クリアした後の画面 if ($love >= 50) { $disp_img = 'fin.gif'; # クリアした人用の画面 $disp_msg = 'あなたはゲームをクリアしました。'; # クリアした人用のメッセージ &petnow($disp_img,$disp_msg); $noaction = 1; # コマンドは表示しない return; } # 外出中の処理 # if ($out == 1 && (time - $outdate) < $dayhour[$comeback]) { if ($out == 1 && (time - $outdate) < $comeback * 60) { &petnow($gone_img,$out_msg); $noaction = 1; return; } else {$out = 0;} |
# ------------------------- # # Sub Pet Data # ペットデータ # ------------------------- # sub petdata { # 何日以上か面会がない場合、ペットの機嫌が下がる if (&checkday($lastvisit) >= $novisit) { $good-- } # 何日間食べていないか。 $hungry = &checkday($lastfeed); # ゲストが何日ぶりの来訪かをチェックし、ラブ数を減らす if ($love < 50) { # クリアポイント以上の場合は、減らさない # $love-- if &checkday($gdate) > 1; # 簡単モード $love = $love - &checkday($gdate); } # 忘れずにカッコを閉じてください。 $agetotalday = &checkday($birth); &gettime($lastfeed); |
if ($_[0] eq 'action') { if ($FORM{'name'} eq $name) { $gdate = time; push(@new,"$FORM{'name'}<>$FORM{'pass'}<>$gdate<>$newlove<>\n"); } else { if ($gdate >= $goodbye || $love >= 50) { push(@new,$line) } } } |