# ------------------------- #
# Sub New Pet
# 新規ペット登場
# ------------------------- #
sub newpet {
$deadname = $petname;
$petname = $FORM{'petname'};
# if ($petname eq "") { &error("名前をつけてください"); }
# if ($petname eq $deadname && $samename == 0) { &error("前と同じ名前はつけられません"); }
if ( $FORM{'sex'} == 1 ) { $sex = 'おんな'; } else { $sex = 'おとこ'; }
$godfather = $FORM{'name'};
$name = $FORM{'name'};
$birth = time;
$dead = 0;
$lastfeed = time;
$lastplay = time;
$good = 100;
$bad = 0;
$out = 0;
$out_ame = 0;
$outdate = 0;
$num++;
$finoshokuji = '???';
$finosanpo ='???';
$osanponame = '???';
$osanpolove = 0;
$clrcnt = 0;
&openoutpetdata;
# $gdate = time - $dayhour[$playtime + 1];
# @new = "$FORM{'name'}<>$FORM{'pass'}<>$gdate<>3<>\n";
# &openoutuserdata;
&petform;
}
# ------------------------- #
# Sub Open In Pet Data
# ペットデータの読みこみ
# ------------------------- #
sub openinpetdata {
&lock;
# &lockpet;
open(IN,"$petdata") || &error("Can't open $petdata");
$line = <IN>;
close(IN);
($petname,$godfather,$birth,$sex,$dead,$lastfeed,$lastplay,$lastvisit,$good,$bad,$out,$outdate,$num,$finoshokuji,$finosanpo,$finvisit,$osanponame,$osanpolove,$out_ame,$clrcnt) = split(/<>/,$line);
}
# ------------------------- #
# Sub Open Out Pet Data
# ペットデータの更新
# ------------------------- #
sub openoutpetdata {
$lastvisit = time;
$finvisit = "$nameさん";
$linec = "$petname<>$godfather<>$birth<>$sex<>$dead<>$lastfeed<>$lastplay<>$lastvisit<>$good<>$bad<>$out<>$outdate<>$num<>$finoshokuji<>$finosanpo<>$finvisit<>$osanponame<>$osanpolove<>$out_ame<>$clrcnt";
open(OUT,">$petdata") || &error("Can't write $petdata");
print OUT $linec;
close(OUT);
}
|
# $asbcl = 1;
if ($asbcl == 0) {
$clrcnt++;
$asbcl = $clrcnt;
}
|
# ------------------------- #
# Sub Open In User Data
# ユーザーデータの読みこみ
# ------------------------- #
sub openinuserdata {
open(IN,"$userdata") || &error("Can't open $userdata");
@lines = <IN>;
close(IN);
foreach $lineu (@lines) {
($name,$pass,$gdate,$love,$asbcl,$lastcom,$combo,$me_cnt,$rme_cnt,$de_cnt,$lastlove,$clrtime,$kusucnt,$hanacnt,$tutucnt,$tokkun1cnt,$tokkun2cnt,$ov200,$dummy7,$dummy8,$dummy9) = split(/<>/,$lineu);
if ($_[0] eq 'checkname') {
if ($FORM{'name'} eq $name) {
$flag = 1; # データの中にユーザーを確認
if ($FORM{'pass'} ne $pass)
{ &error("パスワードが間違っています"); }
last;
}
}
elsif ($_[0] eq 'action') {
if ($FORM{'name'} eq $name) {
$gdate = time;
push(@new,"$FORM{'name'}<>$FORM{'pass'}<>$gdate<>$newlove<>$newasbcl<>$newlastcom<>$newcombo<>$newme_cnt<>$newrme_cnt<>$newde_cnt<>$newlastlove<>$newclrtime<>$newkusucnt<>$newhanacnt<>$newtutucnt<>$newtokkun1cnt<>$newtokkun2cnt<>$newov200<>$newdummy7<>$newdummy8<>$newdummy9<>\n");
} else {
if ($gdate >= $goodbye) { push(@new,$lineu); }
}
}
elsif ($_[0] eq 'ownerlist') {
if ($asbcl != 0) {
@clrlist[$clrnum] ="$asbcl<>$name";
$clrnum++;
}
if ($love >= $lpkininaru) {
@sukilist[$sukinum] = "$love<>$name<>$lastcom<>$lastlove";
$sukinum++;
if ($FORM{'name'} eq $name) {
$ownername = $name;
$ownerrank = "<FONT color=deeppink><B>好きな人ですっ♪</B></FONT>";
$ownerlove = $love;
$ownerimage = 'kt007.gif';
}
if ($bestlove < $love) {
$bestlove = $love;
}
}
elsif ($love >= $lptomodati) {
@kininarulist[$kininarunum] = "$love<>$name<>$lastcom<>$lastlove";
$kininarunum++;
if ($FORM{'name'} eq $name) {
$ownername = $name;
$ownerrank = "<FONT color=orangered><B>気になる人ですっ。</B></FONT>";
$ownerlove = $love;
$ownerimage = 'kt005.gif';
}
}
elsif ($love >= $lpsiriai) {
@tomodatilist[$tomodatinum] = "$love<>$name<>$lastcom<>$lastlove";
$tomodatinum++;
if ($FORM{'name'} eq $name) {
$ownername = $name;
$ownerrank = "<FONT color=orangered><B>お友達です。</B></FONT>";
$ownerlove = $love;
$ownerimage = 'kt006.gif';
}
}
elsif ($love >= $lpkirai) {
@siriailist[$siriainum] = "$love<>$name<>$lastcom<>$lastlove";
$siriainum++;
if ($FORM{'name'} eq $name) {
$ownername = $name;
$ownerrank = "<FONT color=teal><B>お知り合い人です。</B></FONT>";
$ownerlove = $love;
$ownerimage = 'kt003.gif';
}
}
else {
@kirailist[$kirainum] = "$love<>$name<>$lastcom<>$lastlove";
$kirainum++;
if ($FORM{'name'} eq $name) {
$ownername = $name;
$ownerrank = "<FONT color=blue><B>嫌いな人です…。</B></FONT>";
$ownerlove = $love;
$ownerimage = 'kt001.gif';
}
}
}
}
if ($_[0] eq 'ownerlist') {
&unlock;
# &unlockuser;
&user_sort(@clrlist);
@clrlist = @newtxt;
&user_sort_r(@kirailist);
@kirailist = @newtxt;
&user_sort_r(@siriailist);
@siriailist = @newtxt;
&user_sort_r(@tomodatilist);
@tomodatilist = @newtxt;
&user_sort_r(@kininarulist);
@kininarulist = @newtxt;
&user_sort_r(@sukilist);
@sukilist = @newtxt;
@alllist = @sukilist;
push(@alllist,@kininarulist,@tomodatilist,@siriailist,@kirailist);
foreach $sukicnt (@sukilist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$sukicnt);
if ($love >= $bestlove) {
@itibanlist[$itibannum] = "$sukicnt";
$itibannum++;
}
}
$ownercnt = 1;
foreach $allcnt (@alllist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$allcnt);
if ($FORM{'name'} eq $name) {
last;
}
$ownercnt++;
}
}
}
# ------------------------- #
# Sub User Sort
# ユーザーソート
# ------------------------- #
sub user_sort {
local(@txt) = @_;
@newtxt = sort by_number @txt;
}
sub by_number {
$a <=> $b;
}
# ------------------------- #
# Sub User Sort
# ユーザーソート
# ------------------------- #
sub user_sort_r {
local(@txt) = @_;
@newtxt = sort by_reverse_number @txt;
}
sub by_reverse_number {
if ($a == $b) {
$a cmp $b;
}
else {
$b <=> $a;
}
}
|
# ------------------------- #
# Sub Owner List
# 飼い主ランキング
# ------------------------- #
sub ownerlist {
# &unlockpet;
&header;
&title;
$bestlove = $clrnum = $sukinum = $kininarunum = $tomodatinum = $siriainum = $kirainum = $itibannum = 0;
# &lockuser;
&openinuserdata('ownerlist');
&bodytop('琴音ちゃんの中であなたは…。');
&tabletop;
print "$font2<B>一番好きな人</B></font><br>";
print "<DIV align=right><TABLE border=0 cellpadding=0 cellspacing=0 width=280>\n";
if ($itibannum == 0) { print "<TR><TD>いません</TD></TR>"; }
else {
foreach $owner (@itibanlist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$owner);
if ($name eq $ownername) {
print "<TR><TD><FONT color=orangered><B>$name</B></FONT>さんですっ<FONT color=pink face=symbol>ゥ</FONT></TD></TR>\n";
}
else {
print "<TR><TD>$nameさんですっ<FONT color=pink face=symbol>ゥ</FONT></TD></TR>\n";
}
}
}
print "</TABLE></DIV>\n";
print "<br><br>\n";
print "$font2<B>好きな人</B></font><br>";
print "<DIV align=right><TABLE border=0 cellpadding=0 cellspacing=0 width=280>\n";
if ($sukinum == 0) { print "<TR><TD>いません</TD></TR>"; }
else {
foreach $owner (@sukilist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$owner);
&lastlovecheck;
if ($name eq $ownername) {
print "<TR><TD>$displove<FONT color=orangered><B>$name</B></FONT>さんっ♪</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
else {
print "<TR><TD>$displove$nameさんっ♪</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
}
}
print "</TABLE></DIV>\n";
print "<br><br>\n";
print "$font2<B>気になる人</B></font><br>";
print "<DIV align=right><TABLE border=0 cellpadding=0 cellspacing=0 width=280>\n";
if ($kininarunum == 0) { print "<TR><TD>いません</TD></TR>"; }
else {
foreach $owner (@kininarulist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$owner);
&lastlovecheck;
if ($name eq $ownername) {
print "<TR><TD>$displove<FONT color=orangered><B>$name</B></FONT>さん♪</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
else {
print "<TR><TD>$displove$nameさん♪</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
}
}
print "</TABLE></DIV>\n";
print "<br><br>\n";
print "$font2<B>お友達</B></font><br>";
print "<DIV align=right><TABLE border=0 cellpadding=0 cellspacing=0 width=280>\n";
if ($tomodatinum == 0) { print "<TR><TD>いません</TD></TR>"; }
else {
foreach $owner (@tomodatilist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$owner);
&lastlovecheck;
if ($name eq $ownername) {
print "<TR><TD>$displove<FONT color=orangered><B>$name</B></FONT>さん</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
else {
print "<TR><TD>$displove$nameさん</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
}
}
print "</TABLE></DIV>\n";
print "<br><br>\n";
print "$font2<B>お知り合い</B></font><br>";
print "<DIV align=right><TABLE border=0 cellpadding=0 cellspacing=0 width=280>\n";
if ($siriainum == 0) { print "<TR><TD>いません</TD></TR>"; }
else {
foreach $owner (@siriailist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$owner);
&lastlovecheck;
if ($name eq $ownername) {
print "<TR><TD>$displove<FONT color=orangered><B>$name</B></FONT>さん</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
else {
print "<TR><TD>$displove$nameさん</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
}
}
print "</TABLE></DIV>\n";
print "<br><br>\n";
print "$font2<B>嫌いな人</B></font><br>";
print "<DIV align=right><TABLE border=0 cellpadding=0 cellspacing=0 width=280>\n";
if ($kirainum == 0) { print "<TR><TD>いません</TD></TR>"; }
else {
foreach $owner (@kirailist) {
($love,$name,$lastcom,$lastlove) = split(/<>/,$owner);
&lastlovecheck;
if ($name eq $ownername) {
print "<TR><TD>$displove<FONT color=orangered><B>$name</B></FONT>さん</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
else {
print "<TR><TD>$displove$nameさん</TD><TD align=center>・‥…‥・</TD><TD align=right><SMALL>$lastcom</SMALL></TD></TR>\n";
}
}
}
print "</TABLE></DIV>\n";
print "<br><br>\n";
print "$font2<B>クリアした方々</B></font><br>";
print "<DIV align=right><TABLE border=0 cellpadding=0 cellspacing=0 width=280>\n";
if ($clrnum == 0) { print "<TR><TD>いません</TD></TR>"; }
else {
foreach $owner (@clrlist) {
($asbcl,$name) = split(/<>/,$owner);
if ($name eq $ownername) {
print "<TR><TD>$asbcl番</TD><TD> </TD><TD><FONT color=orangered><B>$name</B></FONT>さん</TD><TD align=right></TD></TR>\n";
}
else {
print "<TR><TD>$asbcl番</TD><TD> </TD><TD>$nameさん</TD><TD align=right></TD></TR>\n";
}
}
}
print "</TABLE></DIV>\n";
print "<br>\n";
&tablebottom;
&bodybottom;
&footer;
}
# ------------------------- #
# Sub Owner Disp
# 飼い主個人情報
# ------------------------- #
sub ownerdisp {
# &unlockpet;
&header;
$bestlove = $clrnum = $sukinum = $kininarunum = $tomodatinum = $siriainum = $kirainum = $itibannum = 0;
# &lockuser;
&openinuserdata('ownerlist');
&bodytop('琴音ちゃんにとってあなたは…。');
&tabletop;
|