# ------------------------- # # 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(100) + 1); # Amend Ver 2.2 $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 && $fa eq 'play') { # 好感度が50以上で、コマンドが「遊ぶ」なら $disp_img = 'clear.gif'; # クリアしたときの画像 $disp_msg = "Game Clear!"; # クリアしたときのメッセージ &petnow($disp_img,$disp_msg); $love = 'clear'; # 好感度の代わりに文字を入れる } 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 eq 'clear') { $disp_img = 'fin.gif'; # クリアした人用の画面 $disp_msg = "Game Clear!"; # クリアした人用のメッセージ &petnow($disp_img,$disp_msg); $noaction = 1; # コマンドは表示しない return; } # 外出中の処理 if ($out == 1 && (time - $outdate) < $dayhour[$comeback]) { &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 ne 'clear') { # $love-- if &checkday($gdate) > 1; # 簡単モード $love = $love - &checkday($gdate); } # カッコを閉じるのをお忘れなく $agetotalday = &checkday($birth); &gettime($lastfeed); &tabletop; print "名前:$font2$petname</font></td>\n"; print "<td>性別:$font2$sex</font></td>\n"; print "</tr>\n"; print "<tr>\n"; print "<td>名付け親:$font2$godfather</font></td>\n"; print "<td>年齢:$font2生後$agetotalday日</font></td>\n"; print "</tr>\n"; print "<tr>\n"; print "<td colspan=2>最後に餌を食べた日:$font2$date</font>\n"; &tablebottom; } |
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 eq 'clear') { push(@new,$line) } } } |