# ------------------------- #
# 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) }
}
}
|