【horse3.cgi】

#!/usr/bin/perl

#----------------------------------------------------------------------
# 制作者 : ゴードン
# E-MAIL : zaza99jp@yahoo.co.jp
# URL : http://godon.s53.xrea.com/
#
# 使用前にまず利用規定を読んでください
# http://godon.s53.xrea.com/kiyaku.html
# [このスクリプトを使用して起きたいかなる損害にも責任は負いません。]
#----------------------------------------------------------------------
$| = 1;
require './jcode.pl';

########## ローカル変数指定
sub kankyou{

# クッキーを取得
&get_cookie;

$cgifile = './horse3.cgi'; # このファイル名
$banushifile = './banushi.cgi'; # 馬主データ
$kisyufile = './kisyu.cgi'; # 騎手データ
$tanefile = './tane.cgi'; # 種牡馬データ
$tamefile = './tame.cgi'; # 繁殖牝馬データ
$umafile = './uma.cgi'; # 競走馬データ
$uma2file = './uma2.cgi'; # 競走馬データ2
$uma3file = './uma3.cgi'; # 競走馬データ3
$serifile = './seri.cgi'; # 競走馬セリデータ
$timefile = './time.cgi'; # 月日ファイル
$lockfile = './lock.cgi'; # ロック用

$racefile = './race.cgi'; # レース日程ファイル
$race1file = './1.cgi'; # レース登録用ファイル1
$race2file = './2.cgi'; # レース登録用ファイル2
$race3file = './3.cgi'; # レース登録用ファイル3
$race4file = './4.cgi'; # レース登録用ファイル4
$race5file = './5.cgi'; # レース登録用ファイル5
$race6file = './6.cgi'; # レース登録用ファイル6
$race7file = './7.cgi'; # レース登録用ファイル7
$race8file = './8.cgi'; # レース登録用ファイル8
$race9file = './9.cgi'; # レース登録用ファイル9
$race10file = './10.cgi'; # レース登録用ファイル10
$race11file = './11.cgi'; # レース登録用ファイル11
$race12file = './12.cgi'; # レース登録用ファイル12
$zenfile = './zen.cgi'; # 前週の結果ファイル
$zzenfile = './zzen.cgi'; # 前々週の結果ファイル


$gwinfile = './gwin.cgi'; # GT勝ち馬ファイル
$pastfile = './past.cgi'; # 年度代表馬ファイル
$sumafile = './suma.cgi'; # 競争馬成績ファイル
$dumafile = './duma.cgi'; # 殿堂馬ファイル
$dkisyufile = './dkisyu.cgi'; # 殿堂騎手ファイル
$dtanefile = './dtane.cgi'; # 殿堂種牡馬ファイル
$dtamefile = './dtame.cgi'; # 殿堂繁殖牝馬ファイル
$recordfile = './record.cgi'; # レコードファイル




$method = 'POST'; # GET or POSTを指定
$title = '激突競馬リーグ3';
$bgcolor = '#ADADAD'; # 背景色
$text = '000000';
$link = '0000CD';
$vlink = '6699FF';
$alink = '303030';
$button1 = '#6FB7B7';
$button2 = '#BEBEBE';
$nameleng = '8'; # 名前の長さ


$url = 'http://f25.aaacafe.ne.jp/~niigata/'; # hp
$bbsurl = 'http://howaitoman.hp.infoseek.co.jp/cgi-bin/bbs/bbs.cgi'; # bbs
$imgurl = 'http://f25.aaacafe.ne.jp/~niigata/img'; # img
$background = ''; # 背景画像(http://・・・.jpg)


$osuintai = '20'; # 種牡馬を引退する年齢
$mesuintai = '15'; # 繁殖牝馬を引退する年齢
$maxsedai = '200'; # 競走馬の登録最大数(各世代)
$maxhorse = '500'; # 競走馬の登録最大数(全世代)
$kisyuintai = '40'; # 騎手を引退する年齢
$max_man = '100'; # 最大登録馬主数
$max_kisyu = '100'; # 最大登録騎手数


$body = "<body bgcolor=\"$bgcolor\" text=\"$text\" alink=\"$alink\" link=\"$link\" vlink=\"$vlink\" background=\"$background\">";

}#end kankyou

srand( time() ^ ( $$ + ( $$ << 15)) );
&kankyou;
&decode;
&readlog;


# 処理
if($form{'login'}) {&login;exit;} # ログイン
if($form{'shinkiu'}) {&shinkiu;exit;} # 馬主登録画面
if($form{'shinkik'}) {&shinkik;exit;} # 騎手登録画面
if($form{'news'}) {&news;exit;} # 競馬新聞
if($form{'list'}) {&list;exit;} # 各種一覧
if($form{'tourokuu'}){&tourokuu;⊤exit;} # 馬主登録
if($form{'tourokuk'}){&tourokuk;⊤exit;} # 騎手登録
if($form{'namekime'}){&namekime;⊤exit;} # 馬名登録


if($form{'seisan'}) {require './horse3_umu.cgi';&seisan;exit;} # 生産
if($form{'umu'}) {require './horse3_umu.cgi';&umu;⊤exit;} # 産む
if($form{'seribuy'}) {require './horse3_umu.cgi';&seribuy;⊤exit;} # 2歳セリ
if($form{'hseribuy'}){require './horse3_umu.cgi';&hseribuy;⊤exit;}# 繁殖セリ


if($form{'houboku'}) {require './horse3_else.cgi';&houboku;exit;} # 放牧
if($form{'touroku'}) {require './horse3_else.cgi';&touroku;exit;} # 登録
if($form{'intai'}) {require './horse3_else.cgi';&intai;exit;} # 引退


if($form{'raceno'}) {require './horse3_rank.cgi';&raceno;exit;} # 登録状況
if($form{'listview'}){require './horse3_rank.cgi';&listview;exit;} # 一覧選択
if($form{'manual'}) {require './horse3_rank.cgi';&manual;exit;} # ゲーム説明
if($form{'mode'} eq 'prof'){require './horse3_rank.cgi';&prof;exit;} # レース日程
if($form{'mode'} eq 'kilist'){require './horse3_rank.cgi';&kilist;exit;}# 騎手一覧


if($form{'kekkano'}) {require './horse3_race.cgi';&top2;exit;} # 結果表示


if($form{'kiroku'}) {require './horse3_kiroku.cgi';&kiroku;exit;} # 記録室
if($form{'rekiview'}){require './horse3_kiroku.cgi';&rekiview;exit;} # 記録選択



exit;



##### デコード&ローカル変数へ受け渡し
sub decode{

#入力された値をデコード
if ($ENV{'REQUEST_METHOD'} eq "GET") {
$buffer = $ENV{'QUERY_STRING'};
} elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($key, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value, "sjis");
&jcode'convert(*key,"sjis");
$value =~ s/&/&amp;/g;
$value =~ s/"/&quot;/g;
$value =~ s/\t/ /g;
$value =~ s/</&lt;/g;
$value =~ s/>/&gt;/g;
$value =~ s/<!--(.|\n)*-->//g;
$value =~ s/\r\n/<br>/g;
$value =~ s/\n/<br>/g;
$value =~ s/\r/<br>/g;
$form{$key} = $value;
$value =~ s/ //g;
$value =~ s/ //g;
}
}#end decode



##### ログ読み込み
sub readlog{

# 時間の取得

$times =time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($times);

###### リーグ日数の更新
open(TI,"$timefile");
seek(TI,0,0); @now = <TI>; close(TI);

$day = sprintf("%02d",$mday);
$hour = sprintf("%02d",$hour);
$min = sprintf("%02d",$min);
$hours = int($hour);
($tuki, $syuu, $raceno, $hi, $zikan, $nendo) = split(/<>/, $now[0]);
$zikans = int($zikan);
if($day < $hi){$days = $hi + 1;}else{$days = $day;}

if($days-$hi >= 1 && $raceno<=6 && $zikans ne $hours && $hours>=7 && $min<=50){
# レース

require './horse3_race.cgi';∽̱
$raceno++;
$now[0] = "$tuki<>$syuu<>$raceno<>$hi<>$hour<>$nendo<>\n";
open(TI,">$timefile") ;
eval 'flock(TI,2);';
seek(TI,0,0); print TI @now;
eval 'flock(TI,8);';
close(TI);

# ロック終了
&lockend;

}elsif($days - $hi >= 1 && $raceno >= 7 && $min <= 50){ # 週更新


# ロック開始
&lockgoo;

$syuu++;
if($syuu > 4){$syupro=1;$tukipro=$tuki+1;}else{$syupro=$syuu;$tukipro=$tuki;}
$racepro = 4*($tukipro-1)+$syupro+1;
if($tuki == 12 && $syuu == 4){$racepro = 1;}
elsif($tuki == 12 && $syuu == 5){$racepro = 2;}
open(RE,"$racefile");
seek(RE,0,0); @re = <RE>; close(RE);
@racep = split(/<>/, $re[$racepro]);

open(ZZ,"$zzenfile"); #前々週
seek(ZZ,0,0); @zz = <ZZ>; close(ZZ);

open(ZE,"$zenfile"); #前週
seek(ZE,0,0); @ze = <ZE>; close(ZE);

open(ZZ,">$zzenfile") ;
eval 'flock(ZZ,2);';
seek(ZZ,0,0); print ZZ @ze;
eval 'flock(ZZ,8);';
close(ZZ);

@zensyuu="";
for($j=1; $j<7; $j++){
$jj=$j-1;
$jjj=$j+6;

@list = ('race', $j,'file');
$file = join( "" , @list);
open(RR,"${$file}");
seek(RR,0,0); @{$file} = <RR>; close(RR);

push(@zensyuu, @{$file});
@list2 = ('race', $jjj,'file');
$file2 = join( "" , @list2);
open(RRR,"${$file2}");
seek(RRR,0,0); @{$file2} = <RRR>; close(RRR);

$kou = "@{$file2}";

open(RR,">${$file}") ;
eval 'flock(RR,2);';
seek(RR,0,0); print RR $kou;
eval 'flock(RR,8);';
close(RR);

}# for
open(ZE,">$zenfile") ;
eval 'flock(ZE,2);';
seek(ZE,0,0); print ZE @zensyuu;
eval 'flock(ZE,8);';
close(ZE);

for($j=7; $j<13; $j++){
$jj=$j-7;
@list = ('race', $j,'file');
$file = join( "" , @list);

open(RR,"${$file}");
seek(RR,0,0); @{$file} = <RR>; close(RR);

$kou2 = "$racep[$jj]\n";

open(RR,">${$file}") ;
eval 'flock(RR,2);';
seek(RR,0,0); print RR $kou2;
eval 'flock(RR,8);';
close(RR);

}# for

$raceno=1;
if($tuki == 12 && $syuu >= 5){require './horse3_koushin.cgi';&koushin;$tuki=1;$syuu=1;$nendo++;}# 年更新
elsif($syuu >= 5){
if(($tuki eq "2") || ($tuki eq "4") || ($tuki eq "6") || ($tuki eq "8") || ($tuki eq "10")){require './horse3_koushin.cgi';&useityou;} # 月更新(馬成長)
elsif($tuki eq "3"){require './horse3_koushin.cgi';&kiintai;} # 月更新(騎手引退)
elsif($tuki eq "5"){require './horse3_koushin.cgi';&oyaintai;}# 月更新(自動引退)
elsif($tuki eq "7"){require './horse3_koushin.cgi';&kseityou;}# 月更新(騎手成長)
$tuki++;$syuu=1;
}
if($syuu % 2 == 1){$now[0] = "$tuki<>$syuu<>$raceno<>$day<>$hour<>$nendo<>\n";}
else{$now[0] = "$tuki<>$syuu<>$raceno<>$hi<>$hour<>$nendo<>\n";}
open(TI,">$timefile") ;
eval 'flock(TI,2);';
seek(TI,0,0); print TI @now;
eval 'flock(TI,8);';
close(TI);


# ロック終了
&lockend;

}

}#end readlog



##### 著作権表示
sub chosaku{

my($uti, $sti, $cuti, $csti) = times();
$uti += $cuti;
$sti += $csti;
my($cpu) = $uti + $sti;
$cpu = sprintf('%5.2f', $cpu);
$uti = sprintf('%5.2f', $uti);
$sti = sprintf('%5.2f', $sti);

print <<"_CHOSAKU_";
<hr size="1" color=000000>
<div align="right">
<a href="http://godon.s53.xrea.com/" target=_blank><font color=000000>激突競馬リーグ3 ver1.00β</font></a><br>
<font size=1 color=000000>CPU($cpu) : user($uti) system($sti)</font>
</div>
</html>
_CHOSAKU_

}#end chosaku


##### ヘッダー表示
sub header{
print "Content-type: text/html\n\n";#コンテントタイプ出力
print <<"_HTML1_";
<html><head><title>$title</title><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=x-sjis">
$body
<STYLE TYPE="text/css">
<!--
body,tr,td,th { font-size: 10pt }
.score { font-size: 10pt;}
-->
</style>
</head>
_HTML1_
}


##### フッター表示
sub hutter{
print <<"_HUT_";

<form action="$cgifile" method="$method">
<br>
 
<input type="submit" value="トップページ" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
<input type="submit" name="shinkiu" value="馬主登録" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
<input type="submit" name="shinkik" value="騎手登録" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
<input type="submit" name="list" value="各種一覧" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
<input type="submit" name="kiroku" value="記録室" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
<input type="button" value="掲 示 板" onClick="top.location.href='$bbsurl'" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
<input type="submit" name="manual" value="ゲーム説明" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
<input type="button" value="ホームページ" onClick="top.location.href='$url'" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
</form>
_HUT_
}#end hutter




##### TOP表示
sub top{

open(TI,"$timefile");
seek(TI,0,0); @time = <TI>; close(TI);
($tuki, $syuu, $raceno, $hi, $zikan, $nendo) = split(/<>/,@time[0]);

&header;# ヘッダー表示

print "<center><font color=000000 size=6><B>$title</B></font><br><br><font size=5><b>$nendo年$tuki月$syuu週</b></font><br><br><table border=2 width=370><tr><td><form action=$cgifile method=$method><center><input type=text name=loginname size=16 value=$c_name>:名前  <input type=password name=loginpass size=10 value=$c_pass>:パスワード  <input type=submit name=login value=ログイン onMouseOver=this.style.backgroundColor='$button1' onMouseOut=this.style.backgroundColor='$button2'></td></tr></table><br>";



open(ZZ,"$zzenfile"); #前々週
seek(ZZ,0,0); @zz = <ZZ>; close(ZZ);

print "<center><table border=1 width=750><tr><td bgcolor=$button1 colspan=6><center>前々週のレース結果</td></tr><tr>\n";
$ioooe=0;
$iooze=0;
for ($i=0; $i<6; $i++){

for ($iz=$iooze; $iz<$#zz+1; $iz++){
if($zz[$iz] =~ m/<center>/){$fgno = $iz + 1001;$iooze=$iz+1;last;}
}

for ($ioo=$ioooe; $ioo<$#zz+1; $ioo++){
if($zz[$ioo] =~ m/00<r>/){$fgno1 = $ioo;$ioooe=$ioo+1;last;}
}

if($zz[$fgno1]){
($mei, $basyo, $nen, $kyo, $kaku, $tyeku, $seibetu, $syoukin1, $syoukin2, $syoukin3, $syoukin4, $syoukin5) = split(/<r>/,$zz[$fgno1]);
if($kaku eq "オープン"){$mae="<B>";$ushi="</B><br>";}
elsif($kaku eq "GV"){$mae="<B><font color=green>";$ushi="</B></font><br>";}
elsif($kaku eq "GU"){$mae="<B><font color=#2828FF>";$ushi="</B></font><br>";}
elsif($kaku eq "GT" && $basyo eq "海外"){$mae="<B><font color=red><DIV STYLE='width:100%; filter:Glow(color=#FFFFff)'>";$ushi="</B></DIV></font>";}
elsif($kaku eq "GT"){$mae="<B><font color=red>";$ushi="</B></font><br>";}
else{$mae="";$ushi="<br>";}
print "<td width=125><center><a href=\"$cgifile?kekkano=$fgno\"><font color=000000>$mae$mei$ushi($kyom)</a></font></center></td>\n";
}
}
print "</tr></table>";

open(ZE,"$zenfile"); #前週
seek(ZE,0,0); @ze = <ZE>; close(ZE);

print "<br><center><table border=1 width=750><tr><td bgcolor=$button1 colspan=6><center>前週のレース結果</td></tr><tr>\n";
$iooo=0;
$iooz=0;
for ($io=0; $io<6; $io++){

for ($iz=$iooz; $iz<$#ze+1; $iz++){
if($ze[$iz] =~ m/<center>/){$fgnoo = $iz + 101;$iooz=$iz+1;last;}
}

for ($ioo=$iooo; $ioo<$#ze+1; $ioo++){
if($ze[$ioo] =~ m/00<r>/){$fgno2 = $ioo;$iooo=$ioo+1;last;}
}

if($ze[$fgno2]){
($mei, $basyo, $nen, $kyo, $kaku, $tyeku, $seibetu, $syoukin1, $syoukin2, $syoukin3, $syoukin4, $syoukin5) = split(/<r>/,$ze[$fgno2]);
if($kaku eq "オープン"){$mae="<B>";$ushi="</B><br>";}
elsif($kaku eq "GV"){$mae="<B><font color=green>";$ushi="</B></font><br>";}
elsif($kaku eq "GU"){$mae="<B><font color=#2828FF>";$ushi="</B></font><br>";}
elsif($kaku eq "GT" && $basyo eq "海外"){$mae="<B><font color=red><DIV STYLE='width:100%; filter:Glow(color=#FFFFff)'>";$ushi="</B></DIV></font>";}
elsif($kaku eq "GT"){$mae="<B><font color=red>";$ushi="</B></font><br>";}
else{$mae="";$ushi="<br>";}
print "<td width=125><center><a href=\"$cgifile?kekkano=$fgnoo\"><font color=000000>$mae$mei$ushi($kyom)</a></font></center></td>\n";
}
}
print "</tr></table>";

print "<br><center><table border=1 width=750><tr><td bgcolor=$button1 colspan=6><center>今週のレース登録状況 and 結果</td></tr><tr>\n";

for($j=1; $j<7; $j++){

@list = ('race', $j,'file');
$file = join( "" , @list);
$shime="";
open(RR,"${$file}");
seek(RR,0,0); @{$file} = <RR>; close(RR);
($mei, $basyo, $nen, $kyo, $kaku, $tyeku, $seibetu, $syoukin1, $syoukin2, $syoukin3, $syoukin4, $syoukin5) = split(/<r>/,${$file}[0]);
if($kaku eq "オープン"){$mae="<B>";$ushi="</B><br>";}
elsif($kaku eq "GV"){$mae="<B><font color=green>";$ushi="</B></font><br>";}
elsif($kaku eq "GU"){$mae="<B><font color=#2828FF>";$ushi="</B></font><br>";}
elsif($kaku eq "GT" && $basyo eq "海外"){$mae="<B><font color=red><DIV STYLE='width:100%; filter:Glow(color=#FFFFff)'>";$ushi="</B></DIV></font>";}
elsif($kaku eq "GT"){$mae="<B><font color=red>";$ushi="</B></font><br>";}
else{$mae="";$ushi="<br>";}
if($tyeku == 1){$shime = " <font color=red>〆切</font>";}
elsif($tyeku == 2){$#{$file}-=1;$shime = " <a href=\"$cgifile?kekkano=$j\"><font color=gold>結果</font></a>";}
print "<td width=125><center><a href=\"$cgifile?raceno=$j\"><font color=000000>$mae$mei$ushi($kyom)</a><br>$#{$file}/10頭$shime</font></td>\n";

}
print "</tr></table>";

print "<br><center><table border=1 width=750><tr><td bgcolor=$button1 colspan=6><center>来週のレース登録状況</td></tr><tr>\n";

for($j=7; $j<13; $j++){

@list = ('race', $j,'file');
$file = join( "" , @list);
$shime="";
open(RR,"${$file}");
seek(RR,0,0); @{$file} = <RR>; close(RR);
($mei, $basyo, $nen, $kyo, $kaku, $tyeku, $seibetu, $syoukin1, $syoukin2, $syoukin3, $syoukin4, $syoukin5) = split(/<r>/,${$file}[0]);
if($kaku eq "オープン"){$mae="<B>";$ushi="</B><br>";}
elsif($kaku eq "GV"){$mae="<B><font color=green>";$ushi="</B></font><br>";}
elsif($kaku eq "GU"){$mae="<B><font color=#2828FF>";$ushi="</B></font><br>";}
elsif($kaku eq "GT" && $basyo eq "海外"){$mae="<B><font color=red><DIV STYLE='width:100%; filter:Glow(color=#FFFFff)'>";$ushi="</B></DIV></font>";}
elsif($kaku eq "GT"){$mae="<B><font color=red>";$ushi="</B></font><br>";}
else{$mae="";$ushi="<br>";}
if($tyeku == 1){$shime = " <font color=red>〆切</font>";}
print "<td width=125><center><a href=\"$cgifile?raceno=$j\"><font color=000000>$mae$mei$ushi($kyom)</a><br>$#{$file}/10頭$shime</font></td>\n";

}
print "</tr></table><br>";


&hutter;# フッター表示
&chosaku;

}#end top





##### 馬主登録画面
sub shinkiu{

&header;# ヘッダー表示

print "<center><font color=000000 size=6><B>馬主登録</B></font><br><br>";

print <<"_HTML3_";

<DIV id=uma style=position:absolute;background:ffffff;></DIV>
<br><table width="600" border="1" bordercolor=009900><tr><td>
<form action="$cgifile" method="$method">
<select name=kao>
_HTML3_

for ($t=1; $t<61; $t++) {print "<option value=\"$t\">$t";}

print <<"_HTML3_";
</select>:アイコン(左下の数字をクリックで見れます。)<br>
<b onClick=Msg(event.x,event.y,0)> 1〜10</b><br>
<b onClick=Msg(event.x,event.y,1)>11〜20</b><br>
<b onClick=Msg(event.x,event.y,2)>21〜30</b><br>
<b onClick=Msg(event.x,event.y,3)>31〜40</b><br>
<b onClick=Msg(event.x,event.y,4)>41〜50</b><br>
<b onClick=Msg(event.x,event.y,5)>51〜60</b><br>
  <b onClick=Msg(event.x,event.y,10)>消す</b><br>
<input type="text" name="name" value="$c_name" size="16">:あなたの名前(全角$nameleng文字まで)<br>
<input type="text" name="hp" value="$c_hp" size="50">:ホームページ<BR>
<input type="password" name="pass" value="$c_pass" size="10">:パスワード(4〜8文字)<BR>
</td></tr></table>

<br><center><input type="submit" name="tourokuu" value="登録" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
</form>

_HTML3_


for($i=0; $i<6; $i++){
$k1=$i*10+1;$k2=$i*10+2;$k3=$i*10+3;$k4=$i*10+4;$k5=$i*10+5;$k6=$i*10+6;$k7=$i*10+7;$k8=$i*10+8;$k9=$i*10+9;$k10=$i*10+10;
$msg[$i]="<tr><td><img src=$imgurl/kao$k1.gif><br><center>$k1</td><td><img src=$imgurl/kao$k2.gif><br><center>$k2</td><td><img src=$imgurl/kao$k3.gif><br><center>$k3</td><td><img src=$imgurl/kao$k4.gif><br><center>$k4</td><td><img src=$imgurl/kao$k5.gif><br><center>$k5</td></tr><tr><td><img src=$imgurl/kao$k6.gif><br><center>$k6</td><td><img src=$imgurl/kao$k7.gif><br><center>$k7</td><td><img src=$imgurl/kao$k8.gif><br><center>$k8</td><td><img src=$imgurl/kao$k9.gif><br><center>$k9</td><td><img src=$imgurl/kao$k10.gif><br><center>$k10</td>";
}

print <<"_JAVA_";
<SCRIPT language="JavaScript">
<!--

msg=new Array();
msg[0]="<table border=1>$msg[0]</tr></table>";
msg[1]="<table border=1>$msg[1]</tr></table>";
msg[2]="<table border=1>$msg[2]</tr></table>";
msg[3]="<table border=1>$msg[3]</tr></table>";
msg[4]="<table border=1>$msg[4]</tr></table>";
msg[5]="<table border=1>$msg[5]</tr></table>";
msg[10]="";
function Msg(x,y,index){
uma.innerHTML = msg[index];
uma.style.left=document.body.scrollLeft+550;
uma.style.top=document.body.scrollTop+90;
}
//-->
</SCRIPT>
_JAVA_


&hutter;# フッター表示
&chosaku;

}#end shinkiu



##### 馬主登録
sub tourokuu{

$name = $form{'name'};
$formhp = $form{'hp'};
$pass = $form{'pass'};
$formkao = $form{'kao'};
$name =~ s/ / /g;

# 名前・パスワードなどのチェック
if((length($name) < 1)||(length($name) > $nameleng*2)){&error("名前の長さが不適切です。");}
if((length($pass) < 4)||(length($pass) > 8)){&error("パスワードの長さは4〜8文字にしてね。");}
if(length($formhp) > 100){&error("ホームページの長さが長すぎます。");}
if(($formkao < 1)||($formkao > 60)){&error("アイコンが正しく選ばれていません。");}
($formhp =~ /^http:\/\/[a-zA-Z0-9]+/) || ($formhp = ''); #HPの判定

# リモートホスト取得
$host = $ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};

open(BA,"$banushifile"); # (馬名・馬主)の重複チェック
seek(BA,0,0); @ba = <BA>; close(BA);

if(@ba[$max_man]){&error("これ以上登録できないよ。");}

foreach $lines (@ba){
($orname, $d, $d, $d, $d, $hosts, $d) = split(/<>/,$lines);
if($orname eq $name){&error("その馬主名はすでに使われています。");}
if($hosts eq $host){&error("重複登録はできません。");}
}

$times =time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($times);

# 登録時刻
$month = sprintf("%02d",$mon +1);
$mday = sprintf("%02d",$mday);
$hour = sprintf("%02d",$hour);
$min = sprintf("%02d",$min);
$sec = sprintf("%02d",$sec);
$jikan = "$month/$mday $hour:$min";


# ロック開始
&lockgoo;

$shinkibanushi="$name<>$pass<>$formhp<>$formkao<>10000<>$host<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<><><><><><><><><><><><><>\n";

push(@ba, $shinkibanushi);

open(BA,">$banushifile") ;
eval 'flock(BA,2);';
seek(BA,0,0); print BA @ba;
eval 'flock(BA,8);';
close(BA);


# クッキーを発行
&set_cookie;

# ロック終了
&lockend;


}#end tourokuu




##### 騎手登録画面
sub shinkik{

&header;# ヘッダー表示

print "<center><font color=000000 size=6><B>騎手登録</B></font><br><br>";

print <<"_HTML3_";

<DIV id=uma style=position:absolute;background:ffffff;></DIV>
<br><table width="600" border="1" bordercolor=009900><tr><td>
<form action="$cgifile" method="$method">
<select name=ki>
_HTML3_

for ($t=1; $t<41; $t++) {print "<option value=\"$t\">$t";}

print <<"_HTML3_";
</select>:アイコン(左下の数字をクリックで見れます。)<br>
<b onClick=Msg(event.x,event.y,0)> 1〜10</b><br>
<b onClick=Msg(event.x,event.y,1)>11〜20</b><br>
<b onClick=Msg(event.x,event.y,2)>21〜30</b><br>
<b onClick=Msg(event.x,event.y,3)>31〜40</b><br>
  <b onClick=Msg(event.x,event.y,10)>消す</b><br>
<select name=type>
<option value="1">逃げ重視型
<option value="2">先行重視型
<option value="3">差し重視型
<option value="4">追込重視型
<option value="5">バランス型
<option value="6">何かやってくれそうな騎手
<option value="7">大物騎手20%、駄目騎手80%
<option value="8">超大物騎手10%、超駄目騎手90%
</select>:タイプ<br>
<input type="text" name="name" value="$c_name" size="16">:あなたの名前(全角$nameleng文字まで)<br>
<input type="text" name="kisyuname" value="" size="16">:騎手の名前(全角$nameleng文字まで)<br>
<input type="text" name="hp" value="$c_hp" size="50">:ホームページ<BR>
<input type="password" name="pass" value="$c_pass" size="10">:パスワード<BR>
</td></tr></table>

<br><center><input type="submit" name="tourokuk" value="登録" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
</form>

_HTML3_


for($i=0; $i<4; $i++){
$k1=$i*10+1;$k2=$i*10+2;$k3=$i*10+3;$k4=$i*10+4;$k5=$i*10+5;$k6=$i*10+6;$k7=$i*10+7;$k8=$i*10+8;$k9=$i*10+9;$k10=$i*10+10;
$msg[$i]="<tr><td><img src=$imgurl/ki$k1.gif><br><center>$k1</td><td><img src=$imgurl/ki$k2.gif><br><center>$k2</td><td><img src=$imgurl/ki$k3.gif><br><center>$k3</td><td><img src=$imgurl/ki$k4.gif><br><center>$k4</td><td><img src=$imgurl/ki$k5.gif><br><center>$k5</td></tr><tr><td><img src=$imgurl/ki$k6.gif><br><center>$k6</td><td><img src=$imgurl/ki$k7.gif><br><center>$k7</td><td><img src=$imgurl/ki$k8.gif><br><center>$k8</td><td><img src=$imgurl/ki$k9.gif><br><center>$k9</td><td><img src=$imgurl/ki$k10.gif><br><center>$k10</td>";
}

print <<"_JAVA_";
<SCRIPT language="JavaScript">
<!--

msg=new Array();
msg[0]="<table border=1>$msg[0]</tr></table>";
msg[1]="<table border=1>$msg[1]</tr></table>";
msg[2]="<table border=1>$msg[2]</tr></table>";
msg[3]="<table border=1>$msg[3]</tr></table>";
msg[10]="";
function Msg(x,y,index){
uma.innerHTML = msg[index];
uma.style.left=document.body.scrollLeft+550;
uma.style.top=document.body.scrollTop+90;
}
//-->
</SCRIPT>
_JAVA_


&hutter;# フッター表示
&chosaku;

}#end shinkik



##### 騎手登録
sub tourokuk{

$name = $form{'name'};
$formkiname = $form{'kisyuname'};
$formhp = $form{'hp'};
$pass = $form{'pass'};
$formki = $form{'ki'};
$formtype = $form{'type'};
$formkiname =~ s/ / /g;

# 名前・パスワードなどのチェック
if((length($name) < 1)||(length($name) > $nameleng*2)){&error("名前の長さが不適切です。");}
if((length($formkiname) < 1)||(length($formkiname) > $nameleng*2)){&error("騎手の名前の長さが不適切です。");}
if((length($pass) < 4)||(length($pass) > 8)){&error("パスワードの長さは4〜8文字にしてね。");}
if(length($formhp) > 100){&error("ホームページの長さが長すぎます。");}
if(($formki < 1)||($formki > 40)){&error("アイコンが正しく選ばれていません。");}
if(($formtype < 1)||($formtype > 8)){&error("タイプが正しく選ばれていません。");}
($formhp =~ /^http:\/\/[a-zA-Z0-9]+/) || ($formhp = ''); #HPの判定

# リモートホスト取得
$host = $ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};

open(KI,"$kisyufile"); # 重複チェック
seek(KI,0,0); @ki = <KI>; close(KI);

if(@ki[$max_kisyu]){&error("これ以上登録できないよ。");}

foreach $lines (@ki){
($da, $d, $d, $d, $orname, $hosts, $d) = split(/<>/,$lines);
if($orname eq $formkiname){&error("その騎手名はすでに使われています。");}
if($hosts eq $host || $da eq $name){&error("重複登録はできません。");}
}

# ロック開始
&lockgoo;

# 騎手能力決定(1,5,9)
# 豪腕 風車鞭 牝馬○ 新馬○ 長距離 海外○ 長手綱 ローカル○ 2歳○ 折り合い 好スタート 早仕掛け
# 貧腕 空回鞭 牝馬× 新馬× 短距離 海外× 短手綱 ローカル× 2歳× かかり癖 出遅れ ため殺し

if($formtype==1){$tokunou=1;$nige=int(rand(2))+4;$senkou=int(rand(3))+2;$sashi=int(rand(3))+1;$oikomi=int(rand(3))+1;}
elsif($formtype==2){$tokunou=1;$nige=int(rand(2))+2;$senkou=int(rand(2))+4;$sashi=int(rand(2))+2;$oikomi=int(rand(3))+1;}
elsif($formtype==3){$tokunou=1;$nige=int(rand(3))+1;$senkou=int(rand(2))+2;$sashi=int(rand(2))+4;$oikomi=int(rand(2))+2;}
elsif($formtype==4){$tokunou=1;$nige=int(rand(3))+1;$senkou=int(rand(3))+1;$sashi=int(rand(3))+2;$oikomi=int(rand(2))+4;}
elsif($formtype==5){$tokunou=1;$nige=int(rand(2))+3;$senkou=int(rand(2))+2;$sashi=int(rand(2))+2;$oikomi=int(rand(2))+3;}
elsif($formtype==6){$tokunou=2;$nige=int(rand(2))+2;$senkou=int(rand(2))+2;$sashi=int(rand(2))+2;$oikomi=int(rand(2))+2;}
elsif($formtype==7){if(20>=rand(100)){$tokunou=2;$nige=int(rand(2))+4;$senkou=int(rand(3))+3;$sashi=int(rand(3))+3;$oikomi=int(rand(2))+4;}else{$tokunou=1;$nige=int(rand(2))+1;$senkou=int(rand(2))+1;$sashi=int(rand(2))+1;$oikomi=int(rand(2))+1;}}
else{if(10>=rand(100)){$tokunou=2;$nige=int(rand(2))+4;$senkou=int(rand(2))+4;$sashi=int(rand(2))+4;$oikomi=int(rand(2))+4;}else{$tokunou=1;$nige=int(rand(1));$senkou=int(rand(1));$sashi=int(rand(1));$oikomi=int(rand(1));}}

$u[0]=$u[1]=$u[2]=$u[3]=$u[4]=$u[5]=$u[6]=$u[7]=$u[8]=$u[9]=$u[10]=$u[11]=5;
$j=int(rand(12));$u[$j]=9;$u[$j+2]=1;
if($tokunou==2){for($k=0; $k<3; $k++){$j=int(rand(4))+($k*4);$u[$j]=9;}}

$tok="$u[0]$u[1]$u[2]$u[3]$u[4]$u[5]$u[6]$u[7]$u[8]$u[9]$u[10]$u[11]";


$shinkikisyu="$name<>$pass<>$formhp<>$formki<>$formkiname<>$host<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>$nige<>$senkou<>$sashi<>$oikomi<>$tok<>19<>3<>10<><><><><>\n";

push(@ki, $shinkikisyu);

open(KI,">$kisyufile") ;
eval 'flock(KI,2);';
seek(KI,0,0); print KI @ki;
eval 'flock(KI,8);';
close(KI);


# クッキーを発行
&set_cookie;

# ロック終了
&lockend;


}#end tourokuk



##### ログイン
sub login{

$loginname = $form{'loginname'};
$loginpass = $form{'loginpass'};
if($loginname eq "" || $loginpass eq ""){&error('入力されてません。');}

# クッキーを取得
&get_cookie;
if($loginname ne $c_name && $c_name ne ""){&error('2重登録ですか?');}

# 馬主情報
$banushiiru=0;
open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

foreach $lines (@ba){
($name, $pass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$lines);
if(($name eq $loginname)&&($pass eq $loginpass)){$banushiiru=1;last;}
}

if($banushiiru==1){

$nowkane=$nowwin=1;
foreach $lines (@ba){
($d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $sort1, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $sort2, $d) = split(/<>/,$lines);
if($k1 < $sort1){$nowwin++;}
if($kkakutoku < $sort2){$nowkane++;}
}

if($shikin>=10000){$oku=int($shikin/10000);$man=$shikin-($oku*10000);if($man==0){$shikins="$oku億円";}else{$shikins="$oku億$man万円";}}else{$shikins="$shikin万円";}
if($tkakutoku>=10000){$oku2=int($tkakutoku/10000);$man2=$tkakutoku-($oku2*10000);if($man2==0){$tkakutokus="$oku2億円";}else{$tkakutokus="$oku2億$man2万円";}}else{$tkakutokus="$tkakutoku万円";}
if($kkakutoku>=10000){$oku3=int($kkakutoku/10000);$man3=$kkakutoku-($oku3*10000);if($man3==0){$kkakutokus="$oku3億円";}else{$kkakutokus="$oku3億$man3万円";}}else{$kkakutokus="$kkakutoku万円";}

$msg[0]="<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td width=450><center><table border=1 bordercolor=$button1><tr><td width=350><center><font size=+10>$name</font></td><td width=100 height=40><center><img src=$imgurl/kao$icon.gif></td></tr></table><br><table border=1 width=400 bordercolor=$button1><tr><td colspan=4 bgcolor=$button1><center><b>通算成績</b></td></tr><tr><td width=25% bgcolor=$button1><center>通算勝数</td><td colspan=3><center>$t1-$t2-$t3-$t4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $tg1勝</td><td><center>GU $tg2勝</td><td><center>GV $tg3勝</td></tr><tr><td bgcolor=$button1><center>最多勝</td><td><center>$maxwin回</td><td bgcolor=$button1><center>最多賞金</td><td><center>$maxkane回</td></tr><tr><td bgcolor=$button1><center>獲得資金</td><td colspan=3><center>$tkakutokus</td></tr><tr><td bgcolor=$button1><center>所持資金</td><td colspan=3><center>$shikins</td></tr></table><br><table border=1 width=400 bordercolor=$button1><tr><td colspan=4 bgcolor=$button1><center><b>今期成績</b></td></tr><tr><td bgcolor=$button1><center>今期成績</td><td colspan=3><center>$k1-$k2-$k3-$k4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $kg1勝</td><td><center>GU $kg2勝</td><td><center>GV $kg3勝</td></tr><tr><td bgcolor=$button1><center>勝数順位</td><td><center>$nowwin位</td><td bgcolor=$button1><center>賞金順位</td><td><center>$nowkane位</td></tr><tr><td bgcolor=$button1><center>獲得資金</td><td colspan=3><center>$kkakutokus</td></tr></table><br></td></tr></table>";}
else{$msg[0]="<table border=1 bordercolor=$button1 width=450 height=350 bgcolor=FFFFFF><tr><td width=450><center><font size=+10>馬主未登録</font></td></tr></table>";}



# 騎手情報
$kisyuiru=0;@kisyulist="";
open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

foreach $lines (@ki){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);
if(($kname eq $loginname)&&($kpass eq $loginpass)){$kisyuiru=1;last;}
}

$knowkane=$knowwin=1;
foreach $lines (@ki){
($d, $d, $d, $d, $dkisyuname, $d, $d, $d, $d, $d, $ksort1, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $ksort2, $d) = split(/<>/,$lines);
push @kisyulist, "<option value=$dkisyuname>$dkisyuname";
if($kk1 < $ksort1){$knowwin++;}
if($kkkakutoku < $ksort2){$knowkane++;}
}

if($kisyuiru==1){

if($ktkakutoku>=10000){$koku2=int($ktkakutoku/10000);$kman2=$ktkakutoku-($koku2*10000);if($kman2==0){$ktkakutokus="$koku2億円";}else{$ktkakutokus="$koku2億$kman2万円";}}else{$ktkakutokus="$ktkakutoku万円";}
if($kkkakutoku>=10000){$koku3=int($kkkakutoku/10000);$kman3=$kkkakutoku-($koku3*10000);if($kman3==0){$kkkakutokus="$koku3億円";}else{$kkkakutokus="$koku3億$kman3万円";}}else{$kkkakutokus="$kkkakutoku万円";}


$to1=$to2=$to3=$to4=$to5=$to6=$to7=$to8=$to9=$to10=$to11=$to12="-";
if(substr("$ktok", 0, 1)>=8){$to1="豪腕";}
elsif(substr("$ktok", 0, 1)<=2){$to1="貧腕";}
if(substr("$ktok", 1, 1)>=8){$to2="風車鞭";}
elsif(substr("$ktok", 1, 1)<=2){$to2="空回鞭";}
if(substr("$ktok", 2, 1)>=8){$to3="牝馬○";}
elsif(substr("$ktok", 2, 1)<=2){$to3="牝馬×";}
if(substr("$ktok", 3, 1)>=8){$to4="新馬○";}
elsif(substr("$ktok", 3, 1)<=2){$to4="新馬×";}
if(substr("$ktok", 4, 1)>=8){$to5="長距離";}
elsif(substr("$ktok", 4, 1)<=2){$to5="短距離";}
if(substr("$ktok", 5, 1)>=8){$to6="海外○";}
elsif(substr("$ktok", 5, 1)<=2){$to6="海外×";}
if(substr("$ktok", 6, 1)>=8){$to7="長手綱";}
elsif(substr("$ktok", 6, 1)<=2){$to7="短手綱";}
if(substr("$ktok", 7, 1)>=8){$to8="ローカル○";}
elsif(substr("$ktok", 7, 1)<=2){$to8="ローカル×";}
if(substr("$ktok", 8, 1)>=8){$to9="2歳○";}
elsif(substr("$ktok", 8, 1)<=2){$to9="2歳×";}
if(substr("$ktok", 9, 1)>=8){$to10="折り合い";}
elsif(substr("$ktok", 9, 1)<=2){$to10="かからせ癖";}
if(substr("$ktok", 10,1)>=8){$to11="好スタート";}
elsif(substr("$ktok", 10,1)<=2){$to11="出遅れ";}
if(substr("$ktok", 11,1)>=8){$to12="早仕掛け";}
elsif(substr("$ktok", 11,1)<=2){$to12="ため殺し";}

@kinou=($knige, $ksenkou, $ksashi, $koikomi);
for($n=0; $n<4; $n++){
if(@kinou[$n]==7){@kinou[$n]="<font color=gold><b>S</b></font>";}
elsif(@kinou[$n]>=6){@kinou[$n]="<font color=FF00FF><b>A</b></font>";}
elsif(@kinou[$n]>=5){@kinou[$n]="<font color=FF0000><b>B</b></font>";}
elsif(@kinou[$n]>=4){@kinou[$n]="<font color=FF8C00><b>C</b></font>";}
elsif(@kinou[$n]>=3){@kinou[$n]="<font color=FFD700><b>D</b></font>";}
elsif(@kinou[$n]>=2){@kinou[$n]="<font color=00A600><b>E</b></font>";}
elsif(@kinou[$n]>=1){@kinou[$n]="<font color=4B0082><b>F</b></font>";}
else{@kinou[$n]="<font color=3C3C3C><b>G</b></font>";}
}

$msg[1]="<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td width=450><center><table border=1 bordercolor=$button1><tr><td width=350><center><font size=+10>$kisyuname</font> $ktoshi歳</td><td width=100 height=40><center><img src=$imgurl/ki$kicon.gif></td></tr></table><br><table border=1 width=400 bordercolor=$button1><tr><td colspan=4 bgcolor=$button1><center><b>通算成績</b></td></tr><tr><td width=25% bgcolor=$button1><center>通算勝数</td><td colspan=3><center>$kt1-$kt2-$kt3-$kt4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $ktg1勝</td><td><center>GU $ktg2勝</td><td><center>GV $ktg3勝</td></tr><tr><td bgcolor=$button1><center>最多勝</td><td><center>$kmaxwin回</td><td bgcolor=$button1><center>最多賞金</td><td><center>$kmaxkane回</td></tr><tr><td bgcolor=$button1><center>獲得資金</td><td colspan=3><center>$ktkakutokus</td></tr></table><br><table border=1 width=400 bordercolor=$button1><tr><td colspan=4 bgcolor=$button1><center><b>今期成績</b></td></tr><tr><td bgcolor=$button1><center>今期成績</td><td colspan=3><center>$kk1-$kk2-$kk3-$kk4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $kkg1勝</td><td><center>GU $kkg2勝</td><td><center>GV $kkg3勝</td></tr><tr><td bgcolor=$button1><center>勝数順位</td><td><center>$knowwin位</td><td bgcolor=$button1><center>賞金順位</td><td><center>$knowkane位</td></tr><tr><td bgcolor=$button1><center>獲得資金</td><td colspan=3><center>$kkkakutokus</td></tr></table><br><table border=1 width=400 bordercolor=$button1><tr><td colspan=4 bgcolor=$button1><center><b>騎手能\力</b></td></tr><tr><td bgcolor=$button1 width=100><center>逃げ</td><td bgcolor=$button1 width=100><center>先行</td><td bgcolor=$button1 width=100><center>差し</td><td bgcolor=$button1 width=100><center>追込</td></tr><tr><td><center>@kinou[0]</td><td><center>@kinou[1]</td><td><center>@kinou[2]</td><td><center>@kinou[3]</td></tr><tr><td><center>$to1</td><td><center>$to2</td><td><center>$to3</td><td><center>$to4</td></tr><tr><td><center>$to5</td><td><center>$to6</td><td><center>$to7</td><td><center>$to8</td></tr><tr><td><center>$to9</td><td><center>$to10</td><td><center>$to11</td><td><center>$to12</td></tr></td></tr></table><br></td></tr></table>";}
else{$msg[1]="<table border=1 bordercolor=$button1 width=450 height=350 bgcolor=FFFFFF><tr><td width=450><center><font size=+10>騎手未登録</font></td></tr></table>";}


# 競走馬情報

open(UM,"$umafile");
seek(UM,0,0); @uma1 = <UM>; close(UM);

open(UM,"$uma2file");
seek(UM,0,0); @uma2 = <UM>; close(UM);

open(UM,"$uma3file");
seek(UM,0,0); @uma3 = <UM>; close(UM);

push(@uma, @uma1, @uma2, @uma3);

@click="";@umalist="";$kazu=7;$cno=2;$nanashi=0;
foreach $list (@uma) {
($no, $umaname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $dmy, $dmy, $dmy, $dmy, $seisanka, $uketou1, $uketou2, $uketou3, $date, $dmy, $dmy, $umatoku) = split(/<>/,$list);


if(($syoyuusya eq $loginname)&&($upass eq $loginpass)){# 所有馬
if($umaname eq "名無し"){$nanashi=1;}
($utt, $otok0) = split(/<mm>/,$utt);
($uhh, $htok0) = split(/<mm>/,$uhh);

$ic=int($utyoushi);
if(($ic>=0)&&($ic<3)){$ic=2;}
elsif($ic<0){$ic=1;}
push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$cno)>$umaname</b> <img src=$imgurl/cond$ic.gif></td></tr>";

$times =time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($times);
if($no==1){push @umalist, "<option value=登録済み>登録済み";}
elsif($no==2 && $times < ($date + 60 * 60 * 24 * 2.5)){
$nyuusya = $date+60*60*24*2.5;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($nyuusya);
$month = sprintf("%02d",$mon +1);
$mday = sprintf("%02d",$mday);
$hour = sprintf("%02d",$hour);
$min = sprintf("%02d",$min);
push @umalist, "<option value=短期放牧>放牧中($month/$mday $hour:$minまで)";}
elsif($no==3 && $times < ($date + 60 * 60 * 24 * 5)){
$nyuusya = $date+60*60*24*5;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($nyuusya);
$month = sprintf("%02d",$mon +1);
$mday = sprintf("%02d",$mday);
$hour = sprintf("%02d",$hour);
$min = sprintf("%02d",$min);
push @umalist, "<option value=長期放牧>放牧中($month/$mday $hour:$minまで)";}
else{push @umalist, "<option value=$umaname:$utoshi>$umaname($utoshi$usei)";}


@kinsou = split(/<rr>/,$kinsou5);@mae5="";# 近5走
for($n=0; $n<5; $n++){
@mae = split(/<r>/,$kinsou[$n]);
push (@mae5, "<tr><td><center>$mae[4]</td><td><center>$mae[5]</td><td><center>$mae[0]</td><td><center>$mae[1]</td><td><center>$mae[2]</td><td><center>$mae[3]</td></tr>");
}

@katikura="";
if($ukatig1){# GT
@g = split(/<r>/,$ukatig1);
foreach $list (@g){if($list){push (@katikura,"<font color=red>$list  </font>");}}
}
if($ukatig2){# GU
@g = split(/<r>/,$ukatig2);
foreach $list (@g){if($list){push (@katikura,"<font color=blue>$list  </font>");}}
}
if($ukatig3){# GV
@g = split(/<r>/,$ukatig3);
foreach $list (@g){if($list){push (@katikura,"<font color=green>$list  </font>");}}
}


@umanou=($usp, $usyu, $uzizoku, $ukon, $uki, $ukenkou);
for($n=0; $n<6; $n++){
if(@umanou[$n]>=80){@umanou[$n]="<img src=$imgurl/n1.gif><img src=$imgurl/n2.gif><img src=$imgurl/n3.gif><img src=$imgurl/n4.gif><img src=$imgurl/n5.gif>";}
elsif(@umanou[$n]>=70){@umanou[$n]="<img src=$imgurl/n1.gif><img src=$imgurl/n2.gif><img src=$imgurl/n3.gif><img src=$imgurl/n4.gif>";}
elsif(@umanou[$n]>=60){@umanou[$n]="<img src=$imgurl/n1.gif><img src=$imgurl/n2.gif><img src=$imgurl/n3.gif>";}
elsif(@umanou[$n]>=50){@umanou[$n]="<img src=$imgurl/n1.gif><img src=$imgurl/n2.gif>";}
else{@umanou[$n]="<img src=$imgurl/n1.gif>";}
}


$max=$ust*40; # 1400~3400
$min=$max-$uki*10;

$umeyasu=$ukyonen+$ukotoshi;

if($utotal>=10000){$oku=int($utotal/10000);$man=$utotal-($oku*10000);if($man==0){$tkakutokus="$oku億円";}else{$tkakutokus="$oku億$man万円";}}else{$tkakutokus="$utotal万円";}
if($umeyasu>=10000){$oku2=int($umeyasu/10000);$man2=$umeyasu-($oku2*10000);if($man2==0){$umeyasus="$oku2億円";}else{$umeyasus="$oku2億$man2万円";}}else{$umeyasus="$umeyasu万円";}


$msg[$cno]="<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td width=450><center><table border=1 bordercolor=$button1><tr><td width=350><center><font size=+10>$umaname</font> $utoshi$usei</td><td width=100 height=40><center><img src=$imgurl/$ukeicon></td></tr></table><br><center><table border=1 width=400 bordercolor=$button1><tr><td width=25% bgcolor=$button1><center>通算成績</td><td colspan=3><center>$u1i-$u2i-$u3i-$u4i</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $ug1勝</td><td><center>GU $ug2勝</td><td><center>GV $ug3勝</td></tr><tr><td bgcolor=$button1><center>通算獲得賞金</td><td colspan=3><center>$tkakutokus</td></tr><tr><td bgcolor=$button1><center>本年昨年賞金</td><td colspan=3><center>$umeyasus</td></tr></table><br><center><table border=1 width=420 bordercolor=$button1><tr><td width=75 bgcolor=$button1><center>スピード</td><td width=120>@umanou[0]</td><td width=75 bgcolor=$button1><center>瞬発力</td><td>@umanou[1]</td></tr><tr><td bgcolor=$button1><center>持続力</td><td>@umanou[2]</td><td bgcolor=$button1 bgcolor=$button1><center>根性</td><td>@umanou[3]</td></tr><tr><td bgcolor=$button1><center>気性</td><td>@umanou[4]</td><td bgcolor=$button1><center>精神力</td><td>@umanou[5]</td></tr><tr><td bgcolor=$button1><center>距離適正</td><td><center>$min〜$max</td><td bgcolor=$button1><center>成長型</td><td><center>$useikata</td></tr><tr><td bgcolor=$button1><center>父</td><td><center>$utt</td><td bgcolor=$button1><center>母</td><td><center>$uhh</td></tr></table><br><center><table border=1 width=430 bordercolor=$button1><tr bgcolor=$button1><td width=30><center>月</td><td width=30><center>週</td><td width=125><center>レース名</td><td width=70><center>距離</td><td width=50><center>着順</td><td width=125><center>騎手</td></tr>@mae5</table><br>@katikura</td></tr></table>";
$cno++;$kazu--;if($kazu<=0){last;}
}# 所有馬

}



for($n=0; $n<$kazu; $n++){
push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$cno)>空き[競走馬]</b></td></tr>";
$cno++;
push @umalist, "<option value=空き[競走馬]>空き[競走馬]";
}



# 繁殖牝馬情報

open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

$kazu=5;$cno=9;
foreach $list (@mk) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);


if(($syoyuusya eq $loginname)&&($hpass eq $loginpass)){# 所有繁殖牝馬
($tame, $tok0) = split(/<mm>/,$tame);
($ht,$tok1)=split(/<mm>/,$ht);if($tok1){$ht="$ht<img src=$imgurl/$tok1.gif>";}
($hh,$tok2)=split(/<mm>/,$hh);if($tok2){$hh="$hh<img src=$imgurl/$tok2.gif>";}
($htt,$tok3)=split(/<mm>/,$htt);if($tok3){$htt="$htt<img src=$imgurl/$tok3.gif>";}
($hth,$tok4)=split(/<mm>/,$hth);if($tok4){$hth="$hth<img src=$imgurl/$tok4.gif>";}
($hht,$tok5)=split(/<mm>/,$hht);if($tok5){$hht="$hht<img src=$imgurl/$tok5.gif>";}
($hhh,$tok6)=split(/<mm>/,$hhh);if($tok6){$hhh="$hhh<img src=$imgurl/$tok6.gif>";}

push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$cno)>$tame</b></td></tr>";
push @umalist, "<option value=$tame>$tame";

@hnou=($hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou);
for($n=0; $n<7; $n++){
if(@hnou[$n]>=67){@hnou[$n]="<center><b>◎</b>";}
elsif(@hnou[$n]>=65){@hnou[$n]="<center><b>○</b>";}
elsif(@hnou[$n]>=63){@hnou[$n]="<center><b>△</b>";}
else{@hnou[$n]="<center><b>×</b>";}
}

($da1, $da2, $da3) = split(/<dd>/,$hsanku);
($dn1, $dh1, $dp1) = split(/<d>/,$da1);
($dn2, $dh2, $dp2) = split(/<d>/,$da2);
($dn3, $dh3, $dp3) = split(/<d>/,$da3);

if($hflag){$hflag="<b>種付け可能\</b>";}else{$hflag="<b>種付け済み</b>";}
if($tok0){$tame2="$tame<img src=$imgurl/$tok0.gif>";}else{$tame2="$tame";}

$msg[$cno]="<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td width=450><center><table border=1 bordercolor=$button1><tr><td width=350><center><font size=+10>$tame</font> $htoshi歳</td><td width=100 height=40><center><img src=$imgurl/$hkeiro></td></tr></table><br><center><table border=1 cellspacing=0 cellpadding=3><tr><td rowspan=4 bgcolor=#FF95CA width=150>$tame2<br>($hketou1系)</td><td rowspan=2 bgcolor=#84C1FF width=150>$ht</td><td bgcolor=#84C1FF width=150>$htt</td></tr><tr><td bgcolor=#FF95CA>$hth</td></tr><tr><td rowspan=2 bgcolor=#FF95CA>$hh<br>($hketou2系)</td><td bgcolor=#84C1FF>$hht</td></tr><tr><td bgcolor=#FF95CA>$hhh<br>($hketou3系)</td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td><center>スピード</td><td><center>瞬発力</td><td><center>持続力</td><td><center>根性</td><td><center>スタミナ</td><td><center>気性</td><td><center>精神力</td><td rowspan=2 width=70><center>$hyouka万円<br>$hflag</td></tr><tr><td>@hnou[0]</td><td>@hnou[1]</td><td>@hnou[2]</td><td>@hnou[3]</td><td>@hnou[4]</td><td>@hnou[5]</td><td>@hnou[6]</td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td bgcolor=$button1 colspan=2><center><b>代表\産駒</b></td></tr><tr><td width=120>$dn1<br>$dn2<br>$dn3</td><td>$dh1<br>$dh2<br>$dh3</font></td></tr></table><br></td></tr></table>";
$cno++;$kazu--;if($kazu<=0){last;}
}# 所有繁殖牝馬

}

for($n=0; $n<$kazu; $n++){
push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$cno)>空き[繁殖牝馬]</b></td></tr>";
$cno++;
push @umalist, "<option value=空き[繁殖牝馬]>空き[繁殖牝馬]";
}





# 種牡馬情報

open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

$kazu=5;$cno=14;
foreach $list (@tk) {
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$list);

if(($syoyuusya eq $loginname)&&($opass eq $loginpass)){# 所有種牡馬
($tane, $tok0) = split(/<mm>/,$tane);
($tt,$tok1)=split(/<mm>/,$tt);if($tok1){$tt="$tt<img src=$imgurl/$tok1.gif>";}
($th,$tok2)=split(/<mm>/,$th);if($tok2){$th="$th<img src=$imgurl/$tok2.gif>";}
($ttt,$tok3)=split(/<mm>/,$ttt);if($tok3){$ttt="$ttt<img src=$imgurl/$tok3.gif>";}
($tth,$tok4)=split(/<mm>/,$tth);if($tok4){$tth="$tth<img src=$imgurl/$tok4.gif>";}
($tht,$tok5)=split(/<mm>/,$tht);if($tok5){$tht="$tht<img src=$imgurl/$tok5.gif>";}
($thh,$tok6)=split(/<mm>/,$thh);if($tok6){$thh="$thh<img src=$imgurl/$tok6.gif>";}

push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$cno)>$tane</b></td></tr>";
push @umalist, "<option value=$tane>$tane";

@onou=($osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou);
for($n=0; $n<7; $n++){
if(@onou[$n]>=68){@onou[$n]="<center><b>◎</b>";}
elsif(@onou[$n]>=66){@onou[$n]="<center><b>○</b>";}
elsif(@onou[$n]>=64){@onou[$n]="<center><b>△</b>";}
else{@onou[$n]="<center><b>×</b>";}
}

($da1, $da2, $da3) = split(/<dd>/,$osanku);
($dn1, $dh1, $dp1) = split(/<d>/,$da1);
($dn2, $dh2, $dp2) = split(/<d>/,$da2);
($dn3, $dh3, $dp3) = split(/<d>/,$da3);
if($tok0){$tane2="$tane<img src=$imgurl/$tok0.gif>";}else{$tane2="$tane";}

$msg[$cno]="<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td width=450><center><table border=1 bordercolor=$button1><tr><td width=350><center><font size=+10>$tane</font> $otoshi歳</td><td width=100 height=40><center><img src=$imgurl/$okeiro></td></tr></table><br><center><table border=1 cellspacing=0 cellpadding=3><tr><td rowspan=4 bgcolor=#84C1FF width=150>$tane2<br>($oketou1系)</td><td rowspan=2 bgcolor=#84C1FF width=150>$tt</td><td bgcolor=#84C1FF width=150>$ttt</td></tr><tr><td bgcolor=#FF95CA>$tth</td></tr><tr><td rowspan=2 bgcolor=#FF95CA>$th<br></td><td bgcolor=#84C1FF>$tht</td></tr><tr><td bgcolor=#FF95CA>$thh<br></td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td><center>スピード</td><td><center>瞬発力</td><td><center>持続力</td><td><center>根性</td><td><center>スタミナ</td><td><center>気性</td><td><center>精神力</td><td rowspan=2 width=70><center>$oyouka万円<br>$oseityou</td></tr><tr><td>@onou[0]</td><td>@onou[1]</td><td>@onou[2]</td><td>@onou[3]</td><td>@onou[4]</td><td>@onou[5]</td><td>@onou[6]</td></tr><tr><td colspan=2><center>産駒獲得賞金</td><td colspan=2><center>$sankukane万円</td><td colspan=2><center>リーディングサイアー</td><td><center>$topsaia回</td><td><center>残り$onokori株</td></tr><tr><td colspan=2><center>産駒成績</td><td colspan=6><center>$s1-$s2-$s3-$s4  (GT $sg1  GU $sg2  GV $sg3)</td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td bgcolor=$button1 colspan=2><center><b>代表\産駒</b></td></tr><tr><td width=120>$dn1<br>$dn2<br>$dn3</td><td>$dh1<br>$dh2<br>$dh3</font></td></tr></table><br></td></tr></table>";
$cno++;$kazu--;if($kazu<=0){last;}
}# 所有種牡馬

}

for($n=0; $n<$kazu; $n++){
push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$cno)>空き[種牡馬]</b></td></tr>";
$cno++;
push @umalist, "<option value=空き[種牡馬]>空き[種牡馬]";
}



&header;# ヘッダー表示

print <<"_HTML_";
<center><DIV id=uma style=position:absolute;background:#ffffff;></DIV>
<table border=0 width=800><tr><td width=150>
<table border=1 width=150 height=400>
<tr><td width=150 bgcolor=$button1><center><b>メニュー</b></td></tr>
<tr><td><center><b onClick=Msg(event.x,event.y,0)>馬主情報</b></td></tr>
<tr><td><center><b onClick=Msg(event.x,event.y,1)>騎手情報</b></td></tr>
@click
<tr><td><center><b onClick=Msg(event.x,event.y,20)>閉じる</b></td></tr>
</table><br></td></tr></table>



<SCRIPT language="JavaScript">
<!--

msg=new Array();
msg[0]="$msg[0]";
msg[1]="$msg[1]";
msg[2]="$msg[2]";
msg[3]="$msg[3]";
msg[4]="$msg[4]";
msg[5]="$msg[5]";
msg[6]="$msg[6]";
msg[7]="$msg[7]";
msg[8]="$msg[8]";
msg[9]="$msg[9]";
msg[10]="$msg[10]";
msg[11]="$msg[11]";
msg[12]="$msg[12]";
msg[13]="$msg[13]";
msg[14]="$msg[14]";
msg[15]="$msg[15]";
msg[16]="$msg[16]";
msg[17]="$msg[17]";
msg[18]="$msg[18]";
msg[20]="";
function Msg(x,y,index){
uma.innerHTML = msg[index];
uma.style.left=document.body.scrollLeft+400;
uma.style.top=document.body.scrollTop+15;
}
//-->
</SCRIPT>
_HTML_

if($nanashi){

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type=hidden name=lname value=$loginname>
<input type=hidden name=lpass value=$loginpass>

<input type="text" name="umaname" size="16">
<input type=submit name=namekime value=馬名登録 onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
</form>
_HTML_

}elsif($banushiiru){

@p = "";
for($j=1; $j<13; $j++){

@list = ('race', $j,'file');
$file = join( "" , @list);

open(RR,"${$file}");
seek(RR,0,0); @ra = <RR>; close(RR);
($mei, $basyoo, $nenn, $kyo, $kaku, $tyeku) = split(/<r>/,$ra[0]);
if($nenn == 2){$seigen="2歳限定";}
elsif($nenn == 3){$seigen="3歳限定";}
elsif($nenn == 4){$seigen="古馬限定";}
else{$seigen="3歳以上";}

$p[$j] = "$mei:$basyoo:$kyo:($seigen)";
}


print <<"_HTML_";
<form action="$cgifile" method="$method">
<a href=\"$cgifile?mode=prof\" target=\~_blank\">開催日程</a>
<select name=syus>
@kisyulist
</select>:<a href=\"$cgifile?mode=kilist\" target=\~_blank\">騎手</a>
<select name=sakusens>
<option value="0">大逃
<option value="1">  ↑
<option value="2">  |
<option value="3">  |
<option value="4">  |
<option value="5">  |
<option value="6">  |
<option value="7">  |
<option value="8">  ↓
<option value="9">追込
</select>
<select name=umaname>
@umalist
</select>
<select name=rs>
<option value=1>$p[1]
<option value=2>$p[2]
<option value=3>$p[3]
<option value=4>$p[4]
<option value=5>$p[5]
<option value=6>$p[6]
<option value=7>$p[7]
<option value=8>$p[8]
<option value=9>$p[9]
<option value=10>$p[10]
<option value=11>$p[11]
<option value=12>$p[12]
<option value=13>[放牧]短期放牧
<option value=14>[放牧]長期放牧
<option value=15>[引退]競走馬の引退
<option value=16>[生産]2歳馬生産
<option value=17>[生産]2歳馬購入
<option value=18>[生産]2歳馬売却
<option value=19>[生産]繁殖牝馬購入
<option value=20>[生産]繁殖牝馬売却
<option value=21>[生産]種牡馬売却
</select>

<input type=hidden name=lname value=$loginname>
<input type=hidden name=lpass value=$loginpass>

<input type=submit name=touroku value=登録 style= background:4169E1;color:ffffff;>
<input type=submit name=houboku value=放牧 style= background:green;color:ffffff;>
<input type=submit name=intai value=引退 style= background:DAA520;color:ffffff;>
<input type=submit name=seisan value=生産 style= background:FF0000;color:ffffff;>
</form>

_HTML_
}# else名無し

&hutter;# フッター表示
&chosaku;

}#end login



##### 馬名登録
sub namekime{

$name = $form{'lname'};
$pass = $form{'lpass'};
$formumaname = $form{'umaname'};
$formumaname =~ s/ / /g;

# 名前・パスワードのチェック
if((length($name) < 1)||(length($name) > $nameleng*2)){&error("名前の長さが不適切です。");}
if((length($pass) < 4)||(length($pass) > 8)){&error("パスワードの長さは4〜8文字にしてね。");}
if((length($formumaname) < 4)||(length($formumaname) > 16)){&error("名前の長さが不適切です。");}

# リモートホスト取得
$host = $ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};

open(UM,"$umafile"); # 重複チェック
seek(UM,0,0); @uma = <UM>; close(UM);
open(SM,"$uma2file");
seek(SM,0,0); @uma2 = <SM>; close(SM);
open(XM,"$uma3file");
seek(XM,0,0); @uma3 = <XM>; close(XM);
@uma1="";
push(@uma1, @uma, @uma2, @uma3);

$tou2=0;$tou3=0;
foreach $lines (@uma1){
($dmy, $umaname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $dmy, $dmy, $dmy, $dmy, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$lines);
if($umaname eq $formumaname){&error("その馬名はすでに使われています。");}
if(($syoyuusya eq $name)&&($utoshi==2)){$tou3++;}
}
if($tou3>3){&error("1世代3頭までです。");}

$ita=0;
foreach $lines (@uma){
($dmy, $umaname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $uttt, $utth, $uhht, $uhhh, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$lines);
if(($umaname eq "名無し")&&($syoyuusya eq $name)&&($upass eq $pass)){$lines="";$ita=1;last;}
}

if($ita==1){

# ロック開始
&lockgoo;

$nazukeuma="0<>$formumaname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>2<>3<>$useikata<>0<>0<>0<>0<>0<>0<>0<><><><>0<>0<>0<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$kinsou5<>$uttt<>$utth<>$uhht<>$uhhh<>$seisanka<>$uketou1<>$uketou2<>$uketou3<><><><>$umatoku<>\n";

push(@uma, $nazukeuma);

open(UM,">$umafile") ;
eval 'flock(UM,2);';
seek(UM,0,0); print UM @uma;
eval 'flock(UM,8);';
close(UM);

# ロック終了
&lockend;

}else{&error("いない・・・");}


}#end namekime





##### 各種一覧
sub list{

&header;# ヘッダー表示

print "<center><font color=000000 size=6><B>各種一覧</B></font><br><br>";
print <<"_HTML_";
<form action="$cgifile" method="$method">
<select name=listlist>
<option value="0">馬主
<option value="1">騎手
<option value="2">2歳馬
<option value="3">2歳(牡)
<option value="4">2歳(牝)
<option value="5">3歳馬
<option value="6">3歳(牡)
<option value="7">3歳(牝)
<option value="8">古馬
<option value="9">古馬(牡)
<option value="10">古馬(牝)
<option value="11">種牡馬
<option value="12">繁殖牝馬
</select>  
<input type=submit name=listview value=表\示>
</form>
_HTML_




&hutter;# フッター表示
&chosaku;

}#end list




####### クッキーの発行

sub set_cookie{
$ENV{'TZ'} = "GMT"; # 国際標準時を取得
local($secg,$ming,$hourg,$mdayg,$mong,$yearg,$wdayg,$ydayg,$isdstg)=localtime(time+60*24*60*60);
$yearg += 1900;
if ($secg < 10) { $secg = "0$secg"; }
if ($ming < 10) { $ming = "0$ming"; }
if ($hourg < 10) { $hourg = "0$hourg"; }
if ($mdayg < 10) { $mdayg = "0$mdayg"; }
$month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$mong];
$youbi = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$wdayg];
$ENV{'TZ'} = "Japan";
$date_gmt = "$youbi, $mdayg\-$month\-$yearg $hourg:$ming:$secg GMT";

$cookies="name\<>$name\,pass\<>$pass";
print "Set-Cookie: HORSE3=$cookies; expires=$date_gmt\n";
}#end set_cookie

####### クッキーを取得

sub get_cookie{
@pairs = split(/\;/, $ENV{'HTTP_COOKIE'});
foreach $pair (@pairs) {
local($name, $value) = split(/\=/, $pair);
$name =~ s/ //g;
$DUMMY{$name} = $value;
}
@pairs = split(/\,/, $DUMMY{'HORSE3'});
foreach $pair (@pairs) {
local($name, $value) = split(/\<>/, $pair);
$COOKIE{$name} = $value;
}

$c_name = $COOKIE{'name'};
$c_pass = $COOKIE{'pass'};

if($form{'name'}){$c_name = $form{'name'};}
if($form{'pass'}){$c_pass = $form{'pass'};}

}#end get_cookie


# ロック開始
sub lockgoo{

$times =time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($times);
open(GL,"+<$lockfile");
eval 'flock(GL,2);';
@gamelock = <GL>;
($gamecheck, $locktime) = split(/<>/, @gamelock[0]);
if($gamecheck == 0 || ($times > ($locktime + 30))){$gamelock = "1<>$times<>\n";}
else{&error("現在別の処理中です。もうちょっと待っててね。");}
truncate (GL, 0);
seek(GL,0,0); print GL $gamelock;
close(GL);
eval 'flock(GL,8);';

}#end lockgoo


# ロック解除
sub lockend{

$times =time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($times);
$gamelock = "0<>$times<>\n";
open(GL,"+<$lockfile");
eval 'flock(GL,2);';
truncate (GL, 0);
seek(GL,0,0); print GL $gamelock;
close(GL);
eval 'flock(GL,8);';

}#end lockend


##### エラーの時の処理
sub error{

print "Content-type: text/html\n\n";#コンテントタイプ出力

$err_msg = @_[0];

print <<"_ERROR_";

<html><head><title>ERROR</title></head>
$body
<br><br><br><center>$err_msg
<BR>
<center><form action="$cgifile" method="$method">
<input type="submit" value="戻る">
_ERROR_

exit;

}#END error








【horse3_rank.cgi】

#!/usr/bin/perl

#----------------------------------------------------------------------
# 制作者 : ゴードン
# E-MAIL : zaza99jp@yahoo.co.jp
# URL : http://godon.s53.xrea.com/
#
# 使用前にまず利用規定を読んでください
# http://godon.s53.xrea.com/kiyaku.html
# [このスクリプトを使用して起きたいかなる損害にも責任は負いません。]
#----------------------------------------------------------------------

$| = 1;
require './jcode.pl';
require './horse3.cgi';&kankyou;


##### 一覧選択
sub listview{

&header;# ヘッダー表示
print "<center><font color=000000 size=6><B>各種一覧</B></font><br><br>";
print <<"_HTML_";
<form action="$cgifile" method="$method">
<select name=listlist>
<option value="0">馬主
<option value="1">騎手
<option value="2">2歳馬
<option value="3">2歳(牡)
<option value="4">2歳(牝)
<option value="5">3歳馬
<option value="6">3歳(牡)
<option value="7">3歳(牝)
<option value="8">古馬
<option value="9">古馬(牡)
<option value="10">古馬(牝)
<option value="11">種牡馬
<option value="12">繁殖牝馬
</select>  
<input type=submit name=listview value=表\示>
</form>
_HTML_

$listno = $form{'listlist'};

if($listno==0){

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="listview" value="1">
<input type="submit" name="l1" value="今期勝数">  
<input type="submit" name="l2" value="GT勝数">  
<input type="submit" name="l3" value="GU勝数">  
<input type="submit" name="l4" value="GV勝数">  
<input type="submit" name="l5" value="獲得資金">  
</form>
_HTML_

# 馬主情報
$banushisuu=0;
open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

if($form{'l5'}){$ll =23;}
elsif($form{'l4'}){$ll =19;}
elsif($form{'l3'}){$ll =18;}
elsif($form{'l2'}){$ll =17;}
else{$ll =10;}

@sortdata = sort { (split(/<>/,$b))[$ll] <=> (split(/<>/,$a))[$ll] } @ba;

foreach $lines (@sortdata){
($name, $pass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$lines);
$banushisuu++;

if($kkakutoku>=10000){$oku3=int($kkakutoku/10000);$man3=$kkakutoku-($oku3*10000);if($man3==0){$kkakutokus="$oku3億円";}else{$kkakutokus="$oku3億$man3万円";}}else{$kkakutokus="$kkakutoku万円";}


if($banushisuu<=10){print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td colspan=3><center><font size=+3>$name</font></td><td width=100 height=40><center><img src=$imgurl/kao$icon.gif></td></tr><tr><td colspan=4 bgcolor=$button1><center><b>今期成績</b></td></tr><tr><td bgcolor=$button1><center>今期成績</td><td colspan=3><center>$k1-$k2-$k3-$k4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $kg1勝</td><td><center>GU $kg2勝</td><td><center>GV $kg3勝</td></tr><tr><td bgcolor=$button1><center>獲得資金</td><td colspan=3><center>$kkakutokus</td></tr></table><br><br>";} else{print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td width=100><center>$name</td><td width=65><center>$k1-$k2-$k3-$k4</td><td><center>GT $kg1 GU $kg2 GV $kg3</td><td width=90><center>$kkakutokus</td></tr></table>";}
}

}elsif($listno==1){

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="listview" value="1">
<input type="hidden" name="listlist" value="1">
<input type="submit" name="l1" value="今期勝数">  
<input type="submit" name="l2" value="GT勝数">  
<input type="submit" name="l3" value="GU勝数">  
<input type="submit" name="l4" value="GV勝数">  
<input type="submit" name="l5" value="獲得資金">  
</form>
_HTML_

# 騎手情報
$kisyusuu=0;
open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

if($form{'l5'}){$ll =23;}
elsif($form{'l4'}){$ll =19;}
elsif($form{'l3'}){$ll =18;}
elsif($form{'l2'}){$ll =17;}
else{$ll =10;}

@sortdata = sort { (split(/<>/,$b))[$ll] <=> (split(/<>/,$a))[$ll] } @ki;

foreach $lines (@sortdata){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);
$kisyusuu++;

if($kkkakutoku>=10000){$koku3=int($kkkakutoku/10000);$kman3=$kkkakutoku-($koku3*10000);if($kman3==0){$kkkakutokus="$koku3億円";}else{$kkkakutokus="$koku3億$kman3万円";}}else{$kkkakutokus="$kkkakutoku万円";}


if($kisyusuu<=10){print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td colspan=3><center><font size=+3>$kisyuname</font> $ktoshi歳</td><td width=100 height=40><center><img src=$imgurl/ki$kicon.gif></td></tr><tr><td colspan=4 bgcolor=$button1><center><b>今期成績</b></td></tr><tr><td bgcolor=$button1><center>今期成績</td><td colspan=3><center>$kk1-$kk2-$kk3-$kk4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $kkg1勝</td><td><center>GU $kkg2勝</td><td><center>GV $kkg3勝</td></tr><tr><td bgcolor=$button1><center>獲得資金</td><td colspan=3><center>$kkkakutokus</td></tr></table><br><br>";}
else{print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td width=100><center>$kisyuname</td><td width=65><center>$kk1-$kk2-$kk3-$kk4</td><td><center>GT $kkg1 GU $kkg2 GV $kkg3</td><td width=90><center>$kkkakutokus</td></tr></table>";}
}


}elsif($listno<=10){

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="listview" value="1">
<input type="hidden" name="listlist" value="$listno">
<input type="submit" name="l1" value="通算勝数">  
<input type="submit" name="l2" value="GT勝数">  
<input type="submit" name="l3" value="GU勝数">  
<input type="submit" name="l4" value="GV勝数">  
<input type="submit" name="l5" value="獲得賞金">  
</form>
<table border=1 width=790 bordercolor=$button1 bgcolor=FFFFFF><tr bgcolor=$button1>
<td width=50><center><B>順位</td>
<td width=200><center><B>馬名(性別)</td>
<td width=100><center><B>成績</td>
<td width=70><center><B>重賞成績</td>
<td width=130><center><B>総賞金</td>
<td width=120><center><B>所有馬主</td>
<td width=120><center><B>生産家</td>
</tr>
_HTML_

# 競走馬情報
@uma="";
open(UM,"$umafile");
seek(UM,0,0); @uma1 = <UM>; close(UM);

open(UM,"$uma2file");
seek(UM,0,0); @uma2 = <UM>; close(UM);

open(UM,"$uma3file");
seek(UM,0,0); @uma3 = <UM>; close(UM);

push(@uma, @uma1, @uma2, @uma3);

if($listno==2){$inumber = 2;$unhit="";}
elsif($listno==3){$inumber = 2;$unhit="牝";}
elsif($listno==4){$inumber = 2;$unhit="牡";}
elsif($listno==5){$inumber = 3;$unhit="";}
elsif($listno==6){$inumber = 3;$unhit="牝";}
elsif($listno==7){$inumber = 3;$unhit="牡";}
elsif($listno==8){$inumber = 4;$unhit="";}
elsif($listno==9){$inumber = 4;$unhit="牝";}
else{$inumber = 4;$unhit="牡";}


foreach $lines (@uma){
($no, $umaname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $dmy) = split(/<>/,$lines);
if(($inumber==4) && ($usei ne $unhit) && ($utoshi>=4)){push(@hit, $lines);}
elsif($inumber == $utoshi && $usei ne $unhit){push(@hit, $lines);}
}

if($form{'l1'}){$ll =10;}
elsif($form{'l4'}){$ll =16;}
elsif($form{'l3'}){$ll =15;}
elsif($form{'l2'}){$ll =14;}
else{$ll =20;}

@sortdata = sort { (split(/<>/,$b))[$ll] <=> (split(/<>/,$a))[$ll] } @hit;

foreach $list (@sortdata) {
($no, $umaname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $dmy, $dmy, $dmy, $dmy, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$list);

if($utotal>=10000){$oku=int($utotal/10000);$man=$utotal-($oku*10000);if($man==0){$tkakutokus="$oku億円";}else{$tkakutokus="$oku億$man万円";}}else{$tkakutokus="$utotal万円";}
$umasuu++;
print "<tr><td><center>$umasuu位</td><td><center>$umaname($utoshi$usei)</td><td><center>$u1i-$u2i-$u3i-$u4i</td><td><center>$ug1-$ug2-$ug3</td><td><center>$tkakutokus</td><td><center>$syoyuusya</td><td><center>$seisanka</td></tr>";
}

print "</table>";


}elsif($listno==11){

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="listview" value="1">
<input type="hidden" name="listlist" value="11">
<input type="submit" name="l1" value="年齢">  
<input type="submit" name="l2" value="血統">  
<input type="submit" name="l3" value="毛色">  
<input type="submit" name="l4" value="SP">  
<input type="submit" name="l5" value="瞬発力">  
<input type="submit" name="l6" value="持続力">  
<input type="submit" name="l7" value="根性">  
<input type="submit" name="l8" value="ST">  
<input type="submit" name="l9" value="気性">  
<input type="submit" name="l10" value="精神力">  
<input type="submit" name="l11" value="種付け料">  
<input type="submit" name="l12" value="爆発力">  
<input type="submit" name="l13" value="成長型">  
</form>
<table border=1 width=90% bordercolor=$button1 bgcolor=FFFFFF><tr bgcolor=$button1>
<td><center><B>馬名</td>
<td><center><B>年齢</td>
<td><center><B>血統</td>
<td><center><B>毛色</td>
<td><center><B>SP</td>
<td><center><B>瞬発力</td>
<td><center><B>持続力</td>
<td><center><B>根性</td>
<td><center><B>ST</td>
<td><center><B>気性</td>
<td><center><B>精神力</td>
<td><center><B>種付け料</td>
<td><center><B>爆発力</td>
<td><center><B>成長型</td>
<td><center><B>余株</td>
</tr>
_HTML_

# 種牡馬情報
open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

if($form{'l1'}){$snumber = 4;}
elsif($form{'l2'}){$snumber =20;}
elsif($form{'l3'}){$snumber =12;}
elsif($form{'l4'}){$snumber = 5;}
elsif($form{'l5'}){$snumber = 6;}
elsif($form{'l6'}){$snumber = 7;}
elsif($form{'l7'}){$snumber = 8;}
elsif($form{'l8'}){$snumber = 9;}
elsif($form{'l9'}){$snumber =10;}
elsif($form{'l10'}){$snumber=11;}
elsif($form{'l12'}){$snumber=13;}
elsif($form{'l13'}){$snumber=22;}
else{$snumber = 3;}


if($snumber == 20 || $snumber == 12 || $snumber == 13 || $snumber == 22){
@sortdata = sort { (split(/<>/,$a))[$snumber] cmp (split(/<>/,$b))[$snumber] } @tk;}
else{
@sortdata = sort { (split(/<>/,$b))[$snumber] <=> (split(/<>/,$a))[$snumber] } @tk;}


foreach $lines (@sortdata){
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$lines);

($tane, $dmy) = split(/<mm>/,$tane);
@onou=($osp, $osyu, $ozizoku, $okon, $oki, $okenkou);
for($n=0; $n<6; $n++){
if(@onou[$n]>=68){@onou[$n]="<center><b>◎</b>";}
elsif(@onou[$n]>=66){@onou[$n]="<center><b>○</b>";}
elsif(@onou[$n]>=64){@onou[$n]="<center><b>△</b>";}
else{@onou[$n]="<center><b>×</b>";}
}

if($ost>=70){$osts="長距離";}
elsif($ost>=60){$osts="中長距離";}
elsif($ost>=50){$osts="中距離";}
elsif($ost>=40){$osts="短中距離";}
else{$osts="短距離";}


if($onokori>0){$kabu="$onokori株";}else{$kabu="Bookfull";}
print "<tr><td><center>$tane</td><td><center>$otoshi歳</td><td><center>$oketou1系</td><td><center><img src=$imgurl/$okeiro></td><td>@onou[0]</td><td>@onou[1]</td><td>@onou[2]</td><td>@onou[3]</td><td>$osts</td><td>@onou[4]</td><td>@onou[5]</td><td><center>$oyouka万円</td><td><center>$obaku</td><td><center>$oseityou</td><td><center>$kabu</td></tr>";
}

print "</table>";

}else{

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="listview" value="1">
<input type="hidden" name="listlist" value="12">
<input type="submit" name="l1" value="年齢">  
<input type="submit" name="l2" value="血統">  
<input type="submit" name="l3" value="毛色">  
<input type="submit" name="l4" value="評価額">  
<input type="submit" name="l5" value="影響力">  
<input type="submit" name="l6" value="所有者">  
</form>
<table border=1 width=70% bordercolor=$button1 bgcolor=FFFFFF><tr bgcolor=$button1>
<td><center><B>馬名</td>
<td><center><B>年齢</td>
<td><center><B>血統</td>
<td><center><B>毛色</td>
<td><center><B>評価額</td>
<td><center><B>影響力</td>
<td><center><B>所有者</td>
</tr>
_HTML_

# 繁殖牝馬情報

open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

if($form{'l1'}){$snumber = 4;}
elsif($form{'l2'}){$snumber =20;}
elsif($form{'l3'}){$snumber =12;}
elsif($form{'l5'}){$snumber =13;}
elsif($form{'l6'}){$snumber = 1;}
else{$snumber = 3;}


if($snumber == 20 || $snumber == 12 || $snumber == 13 || $snumber == 1){
@sortdata = sort { (split(/<>/,$a))[$snumber] cmp (split(/<>/,$b))[$snumber] } @mk;}
else{
@sortdata = sort { (split(/<>/,$b))[$snumber] <=> (split(/<>/,$a))[$snumber] } @mk;}


foreach $lines (@sortdata){
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$lines);

($tame, $dmy) = split(/<mm>/,$tame);

if($syoyuusya eq ""){$syoyuusya="−";}
print "<tr><td><center>$tame</td><td><center>$htoshi歳</td><td><center>$hketou1系</td><td><center><img src=$imgurl/$hkeiro></td><td><center>$hyouka万円</td><td><center>$hbaku</td><td><center>$syoyuusya</td></tr>";
}

print "</table>";

}

&hutter;# フッター表示
&chosaku;

}#end listview



sub raceno{ # 登録馬一覧

&header;# ヘッダー表示

$no = $form{'raceno'};
@list = ('race', $no,'file');
$file = join( "" , @list);

open(EE,"${$file}");
seek(EE,0,0); @ee = <EE>; close(EE);

@log = split(/<r>/,$ee[0]);
if($log[4] eq "オープン"){$mae="<B><font size=+1>";$ushi="</B></font>";}
elsif($log[4] eq "GV"){$mae="<B><font color=green size=+1>";$ushi="</B></font>";}
elsif($log[4] eq "GU"){$mae="<B><font color=blue size=+1>";$ushi="</B></font>";}
elsif($log[4] eq "GT"){$mae="<B><font color=red size=+1>";$ushi="</B></font>";}
else{$mae="<font size=+1>";$ushi="</font>";}

print "<center>$mae$log[0]$ushi($log[1]$log[3]m)<br><br><table border=1 width=910><tr bgcolor=$button1><td width=200><center>馬</td><td width=120><center>前走</td><td width=120><center>2前走</td><td width=120><center>3前走</td><td width=120><center>4前走</td><td width=120><center>5前走</td><td width=110><center>騎手/馬主</td></tr>";


if($log[5] == 2){$rkazu=$#ee;}else{$rkazu=$#ee+1;}
for ($g=1; $g<$rkazu; $g++){
($dmy, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $norite, $dmy, $dmy, $umatoku) = split(/<>/,$ee[$g]);

if($log[4] eq "新馬" || $log[4] eq "未勝利"){$omori=54;}
elsif($log[2] eq "2" && $log[4] eq "オープン"){$omori=55;}
elsif($log[4] eq "オープン"){$omori=56;}
elsif($log[2] eq "2"){$omori=55;}
elsif($log[2] eq "3" && $log[4] eq "GT"){$omori=57;}
elsif($log[2] eq "3"){$omori=56;}
elsif($log[4] eq "GT"){$omori=58;}
else{$omori=57;}
if(($log[4] eq "オープン" || $log[4] eq "GV") && ($log[2] eq "34" || $log[2] eq "4")){$omori += int(($ug1*1.5) + $ug2 + ($ug3*0.5));}
if($usei eq "牝" && ($log[4] eq "オープン" || $log[2] eq "2")){$omori -= 1;}
elsif($usei eq "牝"){$omori -= 2;}
if($log[2] eq "34" && $utoshi==3){$omori -= 2;}

@kinsou = split(/<rr>/,$kinsou5);@mae5="";# 近5走
for($n=0; $n<5; $n++){
@mae = split(/<r>/,$kinsou[$n]);
if($mae[0] eq "-"){push (@mae5, "<td><center>−</td>");}
elsif($mae[0] =~ m/放牧/){push (@mae5, "<td><center>$mae[0]</td>");}
else{
if($mae[2] eq "1"){$col="#FF79BC";}
elsif($mae[2] eq "2"){$col="#2894FF";}
elsif($mae[2] eq "3"){$col="#02C874";}
else{$col="";}
push (@mae5, "<td bgcolor=$col><center>$mae[0]<br>$mae[2]着</td>");}
}


$kin = $ukyonen+$ukotoshi;
print "<tr><td><center>$uname($usei) $omorikg<br>$u1i-$u2i-$u3i-$u4i ( $kin万円 )</td>@mae5<td><center>$norite<br>$syoyuusya</td></tr>\n";
}#for

print "</table>";

&hutter;# フッター表示
&chosaku;

} # end raceno

sub prof{

&header;# ヘッダー表示

open(ST,"$racefile");
seek(ST,0,0); @st = <ST>; close(ST);

print "<center><table border=1 bordercolor=$button1><tr bgcolor=$button1><td><center>レース名</td><td><center>開催競馬場</td><td><center>年齢</td><td><center>距離</td><td><center>格</td><td><center>性別指定</td></tr>";

for($i=1; $i<$#st+1; $i++) {
@stt = split(/<>/,$st[$i]);
for($j=0; $j<6; $j++) {
($mei, $basyo, $nen, $kyo, $kaku, $tyeku, $seibetu, $syoukin1, $dmy, $dmy, $dmy, $dmy) = split(/<r>/,$stt[$j]);

if($nen == 3){$nenn = "3歳";}
elsif($nen == 2){$nenn = "2歳";}
elsif($nen == 4){$nenn = "4歳以上";}
else{$nenn = "3歳以上";}
if($seibetu eq "牝"){$seibetuu = "牝馬";}
elsif($seibetu eq "牡"){$seibetuu = "牡馬";}
else{$seibetuu = "−";}

if($j == 0){$tuki=int($i/4)+1;$syuu=$i%4;if($syuu==0){$syuu=4;$tuki-=1;}
print "<tr><td bgcolor=$button1 colspan = 6><center>$tuki月$syuu週</td></tr>";
}
print "<tr bgcolor=FFFFFF><td><center>$mei</td><td><center>$basyo</td><td><center>$nenn</td><td><center>$kyo</td><td><center>$kaku</td><td><center>$seibetuu</td></tr>";
}}

print "</table>";

&hutter;# フッター表示
&chosaku;

} # end prof



# 騎手一覧(能力表示)
sub kilist{

&header;# ヘッダー表示

print "<center><table border=1 width=650 bordercolor=$button1><tr bgcolor=$button1><td width=200><center>名前 (年齢)</td><td><center>今期成績</td><td><center>逃先差追</td><td width=250><center>特殊能\力</td></tr>";

open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

@sortdata = sort { (split(/<>/,$b))[10] <=> (split(/<>/,$a))[10] } @ki;

foreach $lines (@sortdata){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);

$to1=$to2=$to3=$to4=$to5=$to6=$to7=$to8=$to9=$to10=$to11=$to12="";
if(substr("$ktok", 0, 1)>=8){$to1="<img src=$imgurl/t1.gif alt=豪腕>";}
elsif(substr("$ktok", 0, 1)<=2){$to1="<img src=$imgurl/t2.gif alt=貧腕>";}
if(substr("$ktok", 1, 1)>=8){$to2="<img src=$imgurl/t3.gif alt=風車鞭>";}
elsif(substr("$ktok", 1, 1)<=2){$to2="<img src=$imgurl/t4.gif alt=空回鞭>";}
if(substr("$ktok", 2, 1)>=8){$to3="<img src=$imgurl/t5.gif alt=牝馬○>";}
elsif(substr("$ktok", 2, 1)<=2){$to3="<img src=$imgurl/t6.gif alt=牝馬×>";}
if(substr("$ktok", 3, 1)>=8){$to4="<img src=$imgurl/t7.gif alt=新馬○>";}
elsif(substr("$ktok", 3, 1)<=2){$to4="<img src=$imgurl/t8.gif alt=新馬×>";}
if(substr("$ktok", 4, 1)>=8){$to5="<img src=$imgurl/t9.gif alt=長距離>";}
elsif(substr("$ktok", 4, 1)<=2){$to5="<img src=$imgurl/t10.gif alt=短距離>";}
if(substr("$ktok", 5, 1)>=8){$to6="<img src=$imgurl/t11.gif alt=海外○>";}
elsif(substr("$ktok", 5, 1)<=2){$to6="<img src=$imgurl/t12.gif alt=海外×>";}
if(substr("$ktok", 6, 1)>=8){$to7="<img src=$imgurl/t13.gif alt=長手綱>";}
elsif(substr("$ktok", 6, 1)<=2){$to7="<img src=$imgurl/t14.gif alt=短手綱>";}
if(substr("$ktok", 7, 1)>=8){$to8="<img src=$imgurl/t15.gif alt=ローカル○>";}
elsif(substr("$ktok", 7, 1)<=2){$to8="<img src=$imgurl/t16.gif alt=ローカル×>";}
if(substr("$ktok", 8, 1)>=8){$to9="<img src=$imgurl/t17.gif alt=2歳○>";}
elsif(substr("$ktok", 8, 1)<=2){$to9="<img src=$imgurl/t18.gif alt=2歳×>";}
if(substr("$ktok", 9, 1)>=8){$to10="<img src=$imgurl/t19.gif alt=折り合い>";}
elsif(substr("$ktok", 9, 1)<=2){$to10="<img src=$imgurl/t20.gif alt=かからせ癖>";}
if(substr("$ktok", 10,1)>=8){$to11="<img src=$imgurl/t21.gif alt=好スタート>";}
elsif(substr("$ktok", 10,1)<=2){$to11="<img src=$imgurl/t22.gif alt=出遅れ>";}
if(substr("$ktok", 11,1)>=8){$to12="<img src=$imgurl/t23.gif alt=早仕掛け>";}
elsif(substr("$ktok", 11,1)<=2){$to12="<img src=$imgurl/t24.gif alt=ため殺し>";}

@kinou=($knige, $ksenkou, $ksashi, $koikomi);
for($n=0; $n<4; $n++){
if($kt1<20){@kinou[$n]="<font color=#BEBEBE><b>?</b></font>";}
elsif(@kinou[$n]==7){@kinou[$n]="<font color=gold><b>S</b> </font>";}
elsif(@kinou[$n]>=6){@kinou[$n]="<font color=FF00FF><b>A</b> </font>";}
elsif(@kinou[$n]>=5){@kinou[$n]="<font color=FF0000><b>B</b> </font>";}
elsif(@kinou[$n]>=4){@kinou[$n]="<font color=FF8C00><b>C</b> </font>";}
elsif(@kinou[$n]>=3){@kinou[$n]="<font color=FFD700><b>D</b> </font>";}
elsif(@kinou[$n]>=2){@kinou[$n]="<font color=00A600><b>E</b> </font>";}
elsif(@kinou[$n]>=1){@kinou[$n]="<font color=4B0082><b>F</b> </font>";}
else{@kinou[$n]="<font color=3C3C3C><b>G</b> </font>";}
}


print "<tr bgcolor=FFFFFF><td><center>$kisyuname ($ktoshi歳)</td><td><center>$kk1-$kk2-$kk3-$kk4</td><td><center>@kinou[0]@kinou[1]@kinou[2]@kinou[3]</td><td>$to1$to2$to3$to4$to5$to6$to7$to8$to9$to10$to11$to12</td></tr>";
}


print "</table>";

&hutter;# フッター表示
&chosaku;

} # end kilist



##### ゲーム説明
sub manual{

&header;# ヘッダー表示
print <<"_HTML_";

<center>
<font color=000000 size=6><B>ゲーム説明</B></font>
<br><br>
<table border="1" width="840" cellpadding="5" bordercolor=$button1 bgcolor=FFFFFF><tr><td><BR>
 ・ 1人が所有できるのは競走馬7頭、種牡馬5頭、繁殖牝馬5頭までです。<BR><BR>
 ・ 競走馬の登録最大数は各世代<B>$maxsedai</B>頭、全世代で<B>$maxhorse</B>頭までです。<BR><BR>
 ・ レースはAM7:00から1時間毎に1レースずつ行われ、1日に2週進みます。(1週と2週、3週と4週がペア)<BR><BR>
 ・ 海外GTには国内GTを勝たなければ出走できません。<BR><BR>
 ・ 短期放牧は2日半(5週)、長期放牧は5日間(10週)で、放牧期間は何もできません。<BR><BR>
 ・ 登録は先着順で10頭集まり次第締め切ります。<BR><BR>
 ・ ただしGTレースは(去年の獲得賞金+本年の獲得賞金)順です。<BR><BR>
 ・ さらに海外GTレースは最大5頭までです。<BR><BR>
 ・ 1レースに同じ馬主所有の競走馬は1頭しか登録できません。<BR><BR>
 ・ ただしGTレースは複数頭登録できます。<br><br>
 ・ 新馬は新馬戦・未勝利戦、未勝利馬は未勝利戦にしか出走できません。<BR><BR>
 ・ 2歳オープン馬は新馬・未勝利戦以外全て出られます。<BR><BR>
 ・ 3歳GTは(去年の獲得賞金+本年の獲得賞金)が1600万以上必要です。<BR><BR>
 ・ 古馬GTは(去年の獲得賞金+本年の獲得賞金)が4000万、GUは3000万、GVは2000万以上必要です。<BR><BR>
 ・ 古馬GV・オープンはハンデ戦で、ハンデはGV1勝につき+0.5kg、GU1勝につき+1kg、GT1勝につき+1.5kgです。<BR><BR>
 ・ それ以外のレースは定量です。<BR><BR>
 ・ GT3勝以上で殿堂入りします。<BR><BR>
 ・ 12月4週は登録不可です。<BR><BR>
 ・ 連闘や中1週で走らせると調子を崩します。<BR><BR>


<center>
<table border="1" width="800" bordercolor=$button1>
<tr bgcolor=$button1>
<td><center>月</td>
<td><center>競走馬</td>
<td><center>種牡馬</td>
<td><center>繁殖牝馬</td>
<td><center>騎手</td>
<td><center>馬主</td></tr>

<tr>
<td bgcolor=$button1><center>1</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>2</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>3</td>
<td>成長</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>4</td>
<td> </td>
<td> </td>
<td> </td>
<td>自動引退(<B>$kisyuintai</B>歳)</td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>5</td>
<td>成長</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>6</td>
<td> </td>
<td>自動引退(<B>$osuintai</B>歳)</td>
<td>自動引退(<B>$mesuintai</B>歳)</td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>7</td>
<td>成長</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>8</td>
<td> </td>
<td> </td>
<td> </td>
<td>成長</td>
<td> </td>
</tr>

<tr>
<td bgcolor=$button1><center>9</td>
<td>成長</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>10</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>11</td>
<td>成長</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>12</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td></tr>

<tr>
<td bgcolor=$button1><center>年末</td>
<td>各優秀馬表\彰<br>削除…10歳まで放置</td>
<td>リーディングサイアー表\彰</td>
<td>削除…10歳以上で所有者なし</td>
<td>最多勝・最多賞金表\彰</td>
<td>最多勝・最多賞金表\彰<br>削除…年間出走0回</td></tr>

<tr>
<td bgcolor=$button1><center>その他</td>
<td>引退…3歳以上、1回以上出走<br>牡馬…重賞1勝以上で種牡馬<br>牝馬…2勝以上で繁殖牝馬</td>
<td> </td>
<td>種付け済み売却不可</td>
<td> </td>
<td> </td></tr>
</table><br></center>


【爆発力】・・・種牡馬の持っている能\力をどれだけ仔に伝えるかと言うものです。<br>
 |<br>
 ├A:安定して高い能\力を伝える。<br>
 ├B:結\構\安定して高い能\力を伝える。<br>
 ├C:あんまり安定してないが稀に・・・(謎。<br>
 └D:不安定気味。<br><br>
【影響力】・・・繁殖牝馬の持っている能\力がどれだけ仔に影響するかと言うものです。<br>
 |<br>
 ├A:種牡馬 50%:50% 繁殖牝馬<br>
 ├B:種牡馬 60%:40% 繁殖牝馬<br>
 ├C:種牡馬 70%:30% 繁殖牝馬<br>
 └D:種牡馬 80%:20% 繁殖牝馬<br><br>


<table border="1" width="700" cellpadding="0" bordercolor=$button1 bgcolor=FFFFFF>
<tr bgcolor=$button1><td colspan=2><center>騎手特殊能\力一覧</td></tr><tr>
<td><img src=$imgurl/t1.gif>豪腕…ゴール前で逃げ・先行馬の能\力Up</td><td><img src=$imgurl/t2.gif>貧腕…ゴール前で逃げ・先行馬の能\力Down</td></tr><tr>
<td><img src=$imgurl/t3.gif>風車鞭…ゴール前で差し・追込み馬の能\力Up</td><td><img src=$imgurl/t4.gif>空回鞭…ゴール前で差し・追込み馬の能\力Down</td></tr><tr>
<td><img src=$imgurl/t5.gif>牝馬○…牝馬の能\力Up</td><td><img src=$imgurl/t6.gif>牝馬×…牝馬の能\力Down</td></tr><tr>
<td><img src=$imgurl/t7.gif>新馬○…新馬の能\力Up</td><td><img src=$imgurl/t8.gif>新馬×…新馬の能\力Down</td></tr><tr>
<td><img src=$imgurl/t9.gif>長距離…2400m以上で能\力Up</td><td><img src=$imgurl/t10.gif>短距離…1400m以下で能\力Up</td></tr><tr>
<td><img src=$imgurl/t11.gif>海外○…海外遠征で能\力Up</td><td><img src=$imgurl/t12.gif>海外×…海外遠征で能\力Down</td></tr><tr>
<td><img src=$imgurl/t13.gif>長手綱…適性距離より長い距離にも対応</td><td><img src=$imgurl/t14.gif>短手綱…適性距離より短い距離にも対応</td></tr><tr>
<td><img src=$imgurl/t15.gif>ローカル○…小倉・中京・福島・新潟・函館・札幌で能\力Up</td><td><img src=$imgurl/t16.gif>ローカル×…小倉・中京・福島・新潟・函館・札幌で能\力Down</td></tr><tr>
<td><img src=$imgurl/t17.gif>2歳○…2歳馬の能\力Up</td><td><img src=$imgurl/t18.gif>2歳×…2歳馬の能\力Down</td></tr><tr>
<td><img src=$imgurl/t19.gif>折り合い…折り合いやすい</td><td><img src=$imgurl/t20.gif>かかり癖…かかりやすい</td></tr><tr>
<td><img src=$imgurl/t21.gif>好スタート…好スタートをしやすい</td><td><img src=$imgurl/t22.gif>出遅れ…出遅れやすい</td></tr><tr>
<td><img src=$imgurl/t23.gif>早仕掛け…仕掛けが早い</td><td><img src=$imgurl/t24.gif>ため殺し…仕掛けが遅い</td></tr>
</tr></table><p>


<table border=1 cellspacing=0 cellpadding=4>
<tr>
<td rowspan=4 bgcolor=#84C1FF width=150>父(A系)</td>
<td rowspan=2 bgcolor=#84C1FF width=150>父父</td>
<td bgcolor=#84C1FF width=150>父父父</td></tr><tr>
<td bgcolor=#FF95CA>父父母</td>
</tr><tr>
<td rowspan=2 bgcolor=#FF95CA>父母</td>
<td bgcolor=#84C1FF>父母父</td></tr><tr>
<td bgcolor=#FF95CA>父母母</td>
</tr><tr>
<td rowspan=4 bgcolor=#FF95CA width=150>母(B系)</td>
<td rowspan=2 bgcolor=#84C1FF>母父</td>
<td bgcolor=#84C1FF>母父父</td></tr><tr>
<td bgcolor=#FF95CA>母父母</td>
</tr><tr>
<td rowspan=2 bgcolor=#FF95CA>母母(C系)</td>
<td bgcolor=#84C1FF>母母父</td></tr><tr>
<td bgcolor=#FF95CA>母母母(D系)</td>
</tr>
</table><br><br>
【配合理論】<br>
 |<br>
 ├相性:ある特定の血統同士からは強い馬が産まれやすいと言うものです。<br>
 | |<br>
 | ├トリプルニックス(A系−B系、A系−C系、A系−D系)能\力大Up<br>
 | |<br>
 | ├ダブルニックス(A系−B系、A系−C系)能\力中Up<br>
 | |<br>
 | └ニックス(A系−B系)能\力小Up<br>
 |<br>
 ├サヨナラ配合:種牡馬の年齢が○○の配合。30%の確率で能\力Up<br>
 ├同系配合:同じ血統同士の配合。能\力Down<br>
 ├インブリード:種牡馬、繁殖牝馬の血統に共通の祖先の馬がいる配合。<br>
 |  ├(1×2)(1×3)(2×2)(2×3):禁止<br>
 |  └(3×3):気性Down、大因子(<img src=\"$imgurl/sp2.gif\"><img src=\"$imgurl/syu2.gif\"><img src=\"$imgurl/kis2.gif\"><img src=\"$imgurl/st2.gif\"><img src=\"$imgurl/kon2.gif\">)を持っていたら因子++、小因子(<img src=\"$imgurl/sp1.gif\"><img src=\"$imgurl/syu1.gif\"><img src=\"$imgurl/kis1.gif\"><img src=\"$imgurl/st1.gif\"><img src=\"$imgurl/kon1.gif\">)を持っていたら因子+<br>
 |    ├因子の特性は左から(スピード、瞬発力、気性、スタミナ、勝負根性)<br>
 |    └さらに30%の確率で能\力Up、70%の確率で能\力Down<br>
 └アウトブリード:種牡馬、繁殖牝馬の血統に共通の祖先の馬がいない配合。気性Up、精神力Up<br><br>
</td></tr></table><P>


ニックス一覧<P>
<table border="1" width="550" cellpadding="0" bordercolor=$button1 bgcolor=FFFFFF>
<tr>
<td width=150> </td><td>エルバジェ</td><td>クラリオン</td><td>グレイソ\ヴリン</td><td>タ|ントゥ</td><td>ダンテ</td><td>テディ</td><td>ニジンスキ|</td><td>ネイティヴダンサ|</td><td>ネヴァ|ベンド</td><td>ノ|ザンダンサ|</td><td>ハイペリオン</td><td>ハビタット</td><td>パ|ソ\ロン</td><td>ファイントップ</td><td>ブランドフォ|ド</td><td>プリンスリ|ギフト</td><td>プリンスロ|ズ</td><td>ヘイルトゥリ|ズン</td><td>ボ|ルドル|ラ|</td><td>ボワルセル</td><td>ミスタ|プロスペクタ|</td><td>リボ|</td><td>レイズアネイティヴ</td><td>レッドゴッド</td>
</tr><tr>
<td>エルバジェ</td><td>−</td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>クラリオン</td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>グレイソ\ヴリン</td><td>○</td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ターントゥ</td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ダンテ</td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>テディ</td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ニジンスキー</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td>○</td><td>○</td>
</tr><tr>
<td>ネイティヴダンサー</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ネヴァーベンド</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td>−</td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ノーザンダンサー</td><td> </td><td> </td><td>○</td><td> </td><td>○</td><td>○</td><td> </td><td>○</td><td> </td><td>−</td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td>
</tr><tr>
<td>ハイペリオン</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ハビタット</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>パーソ\ロン</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ファイントップ</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ブランドフォード</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>プリンスリーギフト</td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>プリンスローズ</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ヘイルトゥリーズン</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ボールドルーラー</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ボワルセル</td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td><td> </td>
</tr><tr>
<td>ミスタープロスペクター</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td><td> </td>
</tr><tr>
<td>リボー</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td><td> </td>
</tr><tr>
<td>レイズアネイティヴ</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td><td> </td>
</tr><tr>
<td>レッドゴッド</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>○</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td>−</td>


</tr></table><P>



_HTML_
&hutter;# フッター表示
&chosaku;

}#end manual










【horse3_koushin.cgi】

#!/usr/bin/perl

#----------------------------------------------------------------------
# 制作者 : ゴードン
# E-MAIL : zaza99jp@yahoo.co.jp
# URL : http://godon.s53.xrea.com/
#
# 使用前にまず利用規定を読んでください
# http://godon.s53.xrea.com/kiyaku.html
# [このスクリプトを使用して起きたいかなる損害にも責任は負いません。]
#----------------------------------------------------------------------

$| = 1;
require './jcode.pl';

$cgifile = './horse3.cgi'; # このファイル名
$banushifile = './banushi.cgi'; # 馬主データ
$kisyufile = './kisyu.cgi'; # 騎手データ
$tanefile = './tane.cgi'; # 種牡馬データ
$tamefile = './tame.cgi'; # 繁殖牝馬データ
$umafile = './uma.cgi'; # 競走馬データ
$uma2file = './uma2.cgi'; # 競走馬データ2
$uma3file = './uma3.cgi'; # 競走馬データ3
$serifile = './seri.cgi'; # 競走馬セリデータ
$timefile = './time.cgi'; # 月日ファイル
$lockfile = './lock.cgi'; # ロック用

$newsfile = './news.cgi'; # ニュースファイル
$gwinfile = './gwin.cgi'; # G勝ち馬ファイル
$pastfile = './past.cgi'; # 年度代表馬ファイル
$sumafile = './suma.cgi'; # 競争馬成績ファイル
$dumafile = './duma.cgi'; # 殿堂馬ファイル
$dkisyufile = './dkisyu.cgi'; # 殿堂騎手ファイル
$dtanefile = './dtane.cgi'; # 殿堂種牡馬ファイル
$dtamefile = './dtame.cgi'; # 殿堂繁殖牝馬ファイル
$recordfile = './record.cgi'; # レコードファイル
$method = 'POST'; # GET or POSTを指定


sub kseityou{# 騎手成長(7月の末)

open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

@kisyu="";
foreach $lines (@ki){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);

if($ktoshi<=25){$knige+=0.2;$ksenkou+=0.2;$ksashi+=0.2;$koikomi+=0.2;}
elsif($ktoshi<=30){$knige+=0.1;$ksenkou+=0.1;$ksashi+=0.1;$koikomi+=0.1;}
elsif($ktoshi<=35){$knige+=0.0;$ksenkou+=0.0;$ksashi+=0.0;$koikomi+=0.0;}
else{$knige-=0.1;$ksenkou-=0.1;$ksashi-=0.1;$koikomi-=0.1;}

if($knige>=7){$knige=7;}
elsif($knige<0){$knige=0;}
if($ksenkou>=7){$ksenkou=7;}
elsif($ksenkou<0){$ksenkou=0;}
if($ksashi>=7){$ksashi=7;}
elsif($ksashi<0){$ksashi=0;}
if($koikomi>=7){$koikomi=7;}
elsif($koikomi<0){$koikomi=0;}

$seikisyu="$kname<>$kpass<>$khp<>$kicon<>$kisyuname<>$khost<>$kt1<>$kt2<>$kt3<>$kt4<>$kk1<>$kk2<>$kk3<>$kk4<>$ktg1<>$ktg2<>$ktg3<>$kkg1<>$kkg2<>$kkg3<>$kmaxwin<>$kmaxkane<>$ktkakutoku<>$kkkakutoku<>$knige<>$ksenkou<>$ksashi<>$koikomi<>$ktok<>$ktoshi<>$ktyoushi<>$irairyou<><><><><>\n";
if($kisyuname ne ""){push (@kisyu, $seikisyu);}
}#foreach

open(KI,">$kisyufile") ;
eval 'flock(KI,2);';
seek(KI,0,0); print KI @kisyu;
eval 'flock(KI,8);';
close(KI);


}#end kseityou


sub useityou{# 馬成長(2・4・6・8・10月の末)

@uma = "";
open(UM,"$umafile");
seek(UM,0,0); @uma1 = <UM>; close(UM);
open(UN,"$uma2file");
seek(UN,0,0); @uma2 = <UN>; close(UN);
open(UL,"$uma3file");
seek(UL,0,0); @uma3 = <UL>; close(UL);

push (@uma, @uma1, @uma2, @uma3);
@uma1="";@uma2="";@uma3="";

foreach $lines (@uma) {
($no, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $ta1, $ta2, $ta3, $umatoku) = split(/<>/,$lines);

# 成長(1年で+−5)
$seityou=0;

if($useikata eq "早熟" && $utoshi <= 2){$seityou=1;}
elsif($useikata eq "普通早" && $utoshi <= 3){$seityou=1;}
elsif($useikata eq "普通遅" && $utoshi <= 4){$seityou=1;}
elsif($useikata eq "晩成" && $utoshi <= 5){$seityou=1;}
elsif($useikata eq "早熟" && $utoshi >= 4){$seityou=-1;}
elsif($useikata eq "普通早" && $utoshi >= 5){$seityou=-1;}
elsif($useikata eq "普通遅" && $utoshi >= 6){$seityou=-1;}
elsif($useikata eq "晩成" && $utoshi >= 7){$seityou=-1;}

$usp += $seityou;
$usyu += $seityou;
$uzizoku += $seityou;
if($utoshi <= 3){$ukon += 1;}
if($utoshi <= 3){$ust += 1;}
if($utoshi <= 5){$uki += 1;}
if($utoshi <= 3){$ukenkou += 1;}

$liness = "$no<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$kinsou5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<>$ta1<>$ta2<>$ta3<>$umatoku<>\n";
if($uname ne ""){
if($utoshi == 2){push (@uma1, $liness);}
elsif($utoshi == 3){push (@uma2, $liness);}
else{push (@uma3, $liness);}
}
}#foreach

open(UM,">$umafile") ;
eval 'flock(UM,2);';
seek(UM,0,0); print UM @uma1;
eval 'flock(UM,8);';
close(UM);

open(UN,">$uma2file") ;
eval 'flock(UN,2);';
seek(UN,0,0); print UN @uma2;
eval 'flock(UN,8);';
close(UN);

open(UL,">$uma3file") ;
eval 'flock(UL,2);';
seek(UL,0,0); print UL @uma3;
eval 'flock(UL,8);';
close(UL);


}#end useityou


sub koushin{# 年末更新…(馬、種牡馬、繁殖牝馬、騎手、馬主、年度代表馬)

###### 種牡馬

@umao = "";
open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

@sortdata = sort { (split(/<>/,$b))[23] <=> (split(/<>/,$a))[23] } @tk;

$jyunni=0;
foreach $check (@sortdata){
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$check);
$jyunni++;

$otoshi++;$sankukane=0;
if($jyunni==1){$no1sia="$check";$topsaia++;$oyouka+=100;}
elsif($jyunni==2){$no1sia="$tane<>$no1sia";$oyouka+=50;}
elsif($jyunni==3){$no1sia="$tane<>$no1sia";$oyouka+=30;}
if(($jyunni>=($#tk-10))&&($otoshi>=10)){$oyouka-=($jyunni-$#tk-10)*10;}# 下位10頭減額
if($oyouka<=50){$oyouka=50;}


$syuo="$tane<>$syoyuusya<>$opass<>$oyouka<>$otoshi<>$osp<>$osyu<>$ozizoku<>$okon<>$ost<>$oki<>$okenkou<>$okeiro<>$obaku<>$tt<>$th<>$ttt<>$tth<>$tht<>$thh<>$oketou1<>10<>$oseityou<>$sankukane<>$topsaia<>$osanku<>$tsankukane<>$s1<>$s2<>$s3<>$s4<>$sg1<>$sg2<>$sg3<><><><>\n";
push(@umao, $syuo);
}#foreach

open(TK,">$tanefile") ;
eval 'flock(TK,2);';
seek(TK,0,0); print TK @umao;
eval 'flock(TK,8);';
close(TK);


###### 繁殖牝馬

@umam = "";
open(TM,"$tamefile");
seek(TM,0,0); @hansyo = <TM>; close(TM);

foreach $lines (@hansyo) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$lines);

$htoshi++;
if($hsanku ne ""){$hyouka+=500;}

if($htoshi<100 || $syoyuusya ne ""){
$hansyouma = "$tame<>$syoyuusya<>$hpass<>$hyouka<>$htoshi<>$hsp<>$hsyu<>$hzizoku<>$hkon<>$hst<>$hki<>$hkenkou<>$hkeiro<>$hbaku<>$ht<>$hh<>$htt<>$hth<>$hht<>$hhh<>$hketou1<>$hketou2<>$hketou3<>1<>$hsanku<><><>\n";
push(@umam, $hansyouma);}
}#foreach

open(TM,">$tamefile") ;
eval 'flock(TM,2);';
seek(TM,0,0); print TM @umam;
eval 'flock(TM,8);';
close(TM);


##### 騎手

open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

@sortdata = sort { (split(/<>/,$b))[23] <=> (split(/<>/,$a))[23] } @ki;

@kisyu="";$j=0;
foreach $lines (@sortdata){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);

if($j==0){$kkaneoo="$lines";$kmaxkane++;$j=1;}

$seikisyu="$kname<>$kpass<>$khp<>$kicon<>$kisyuname<>$khost<>$kt1<>$kt2<>$kt3<>$kt4<>$kk1<>$kk2<>$kk3<>$kk4<>$ktg1<>$ktg2<>$ktg3<>$kkg1<>$kkg2<>$kkg3<>$kmaxwin<>$kmaxkane<>$ktkakutoku<>$kkkakutoku<>$knige<>$ksenkou<>$ksashi<>$koikomi<>$ktok<>$ktoshi<>$ktyoushi<>$irairyou<><><><><>\n";

push (@kisyu, $seikisyu);
}#foreach

@sortdata=sort { (split(/<>/,$b))[10] <=> (split(/<>/,$a))[10] || (split(/<>/,$b))[11] <=> (split(/<>/,$a))[11] || (split(/<>/,$b))[12] <=> (split(/<>/,$a))[12] } @kisyu;

@kisyu2="";$j=0;
foreach $lines (@sortdata){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);

if($kisyuname ne ""){
$kk1=0;$kk2=0;$kk3=0;$kk4=0;
$kkg1=0;$kkg2=0;$kkg3=0;$kkkakutoku=0;
$ktoshi++;
if($j==0){$kkatioo="$lines";$kmaxwin++;$j=1;}

$seikisyu="$kname<>$kpass<>$khp<>$kicon<>$kisyuname<>$khost<>$kt1<>$kt2<>$kt3<>$kt4<>$kk1<>$kk2<>$kk3<>$kk4<>$ktg1<>$ktg2<>$ktg3<>$kkg1<>$kkg2<>$kkg3<>$kmaxwin<>$kmaxkane<>$ktkakutoku<>$kkkakutoku<>$knige<>$ksenkou<>$ksashi<>$koikomi<>$ktok<>$ktoshi<>$ktyoushi<>$irairyou<><><><><>\n";

push (@kisyu2, $seikisyu);}
}#foreach


open(KI,">$kisyufile") ;
eval 'flock(KI,2);';
seek(KI,0,0); print KI @kisyu2;
eval 'flock(KI,8);';
close(KI);



##### 馬主

open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

@sortdata = sort { (split(/<>/,$b))[23] <=> (split(/<>/,$a))[23] } @ba;

@banushi="";$j=0;
foreach $lines (@sortdata){
($uname, $upass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$lines);

if($j==0){$bkaneoo="$lines";$maxkane++;$j=1;}

$seinushi="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";
push (@banushi, $seinushi);
}#foreach

@sortdata=sort { (split(/<>/,$b))[10] <=> (split(/<>/,$a))[10] || (split(/<>/,$b))[11] <=> (split(/<>/,$a))[11] || (split(/<>/,$b))[12] <=> (split(/<>/,$a))[12] } @banushi;

@banushi2="";$j=0;
foreach $lines (@sortdata){
($uname, $upass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$lines);

if($uname ne "" && ($k1+$k2+$k3+$k4>0)){
$k1=0;$k2=0;$k3=0;$k4=0;
$kg1=0;$kg2=0;$kg3=0;$kkakutoku=0;
if($j==0){$bkatioo="$lines";$maxwin++;$j=1;}
if($shikin<0){$shikin+=5000;}

$seinushi="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";
push (@banushi2, $seinushi);
}
}#foreach


open(BA,">$banushifile") ;
eval 'flock(BA,2);';
seek(BA,0,0); print BA @banushi2;
eval 'flock(BA,8);';
close(BA);



##### 馬

@uma = "";
open(UM,"$umafile");
seek(UM,0,0); @uma1 = <UM>; close(UM);
open(UN,"$uma2file");
seek(UN,0,0); @uma2 = <UN>; close(UN);
open(UL,"$uma3file");
seek(UL,0,0); @uma3 = <UL>; close(UL);

push(@uma, @uma1, @uma2, @uma3);
@uma1="";@uma2="";@uma3="";

foreach $lines (@uma) {
($no, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $ta1, $ta2, $ta3, $umatoku) = split(/<>/,$lines);

$utoshi++;$ukyonen=$ukotoshi;$ukotoshi=0;

$liness = "$no<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$kinsou5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<>$ta1<>$ta2<>$ta3<>$umatoku<>\n";

if(($utoshi == 2)&&($uname ne "")){push(@uma1,$liness);}
elsif(($utoshi == 3)&&($uname ne "")){push(@uma2,$liness);}
elsif(($utoshi <=10)&&($uname ne "")){push(@uma3,$liness);}

}#foreach

open(UM,">$umafile") ;
eval 'flock(UM,2);';
seek(UM,0,0); print UM @uma1;
eval 'flock(UM,8);';
close(UM);

open(UN,">$uma2file") ;
eval 'flock(UN,2);';
seek(UN,0,0); print UN @uma2;
eval 'flock(UN,8);';
close(UN);

open(UL,">$uma3file") ;
eval 'flock(UL,2);';
seek(UL,0,0); print UL @uma3;
eval 'flock(UL,8);';
close(UL);




##### 年度代表馬

open(GW,"$gwinfile");
seek(GW,0,0); @gwin = <GW>; close(GW);

$y1h="該当無し\n";$y1hp=1; # 年度代表馬
$y1t="該当無し\n";$y1tp=1; # 最優秀短距離馬
$y2h="該当無し\n"; # 最優秀2歳牝馬
$y2o="該当無し\n"; # 最優秀2歳牡馬
$y3h="該当無し\n";$y3hp=1; # 最優秀3歳牝馬
$y3o="該当無し\n";$y3op=1; # 最優秀3歳牡馬
$y4h="該当無し\n";$y4hp=1; # 最優秀4歳以上牝馬
$y4o="該当無し\n";$y4op=1; # 最優秀4歳以上牡馬

$m=-1;
foreach $lines (@gwin) {
($sracemei, $sbamei, $ssyoyuusya, $skeiro, $ssei, $stoshi, $stiti, $shaha, $sseisanka) = split(/<>/,$lines);

$m++;$win="";
$uma=$sbamei;
$point1=0;$point2=0;

for($i=$m; $i<$#gwin+1; $i++){
($racemei, $bamei, $syoyuusya, $keiro, $sei, $toshi, $titi, $haha, $seisanka) = split(/<>/,$gwin[$i]);

if($uma eq $bamei && $ssyoyuusya ne ""){

if($racemei eq "高松宮記念"){$point1+=5;$point2+=3;$win="$win<r>$racemei";}
elsif($racemei eq "桜花賞"){$point1+=0;$point2+=3;$win="$win<r>$racemei";}
elsif($racemei eq "皐月賞"){$point1+=0;$point2+=5;$win="$win<r>$racemei";}
elsif($racemei eq "天皇賞(春)"){$point1+=0;$point2+=8;$win="$win<r>$racemei";}
elsif($racemei eq "NHKマイルC"){$point1+=3;$point2+=3;$win="$win<r>$racemei";}
elsif($racemei eq "オークス"){$point1+=0;$point2+=6;$win="$win<r>$racemei";}
elsif($racemei eq "日本ダービー"){$point1+=0;$point2+=10;$win="$win<r>$racemei";}
elsif($racemei eq "安田記念"){$point1+=7;$point2+=5;$win="$win<r>$racemei";}
elsif($racemei eq "英ダービー"){$point1+=0;$point2+=15;$win="$win<r>$racemei";}
elsif($racemei eq "宝塚記念"){$point1+=0;$point2+=8;$win="$win<r>$racemei";}
elsif($racemei eq "KGY&QES"){$point1+=0;$point2+=17;$win="$win<r>$racemei";}
elsif($racemei eq "ムーランドロンシャン賞"){$point1+=10;$point2+=10;$win="$win<r>$racemei";}
elsif($racemei eq "スプリントC"){$point1+=10;$point2+=9;$win="$win<r>$racemei";}
elsif($racemei eq "スプリンターズS"){$point1+=5;$point2+=3;$win="$win<r>$racemei";}
elsif($racemei eq "凱旋門賞"){$point1+=0;$point2+=22;$win="$win<r>$racemei";}
elsif($racemei eq "秋華賞"){$point1+=0;$point2+=5;$win="$win<r>$racemei";}
elsif($racemei eq "菊花賞"){$point1+=0;$point2+=8;$win="$win<r>$racemei";}
elsif($racemei eq "天皇賞(秋)"){$point1+=0;$point2+=9;$win="$win<r>$racemei";}
elsif($racemei eq "BCマイル"){$point1+=10;$point2+=10;$win="$win<r>$racemei";}
elsif($racemei eq "BCターフ"){$point1+=0;$point2+=18;$win="$win<r>$racemei";}
elsif($racemei eq "エリザベス女王杯"){$point1+=0;$point2+=6;$win="$win<r>$racemei";}
elsif($racemei eq "マイルCS"){$point1+=7;$point2+=5;$win="$win<r>$racemei";}
elsif($racemei eq "ジャパンC"){$point1+=0;$point2+=10;$win="$win<r>$racemei";}
elsif($racemei eq "阪神Jフィリーズ"){$y2h="$racemei<r><>$lines";}
elsif($racemei eq "朝日杯FS"){$y2o="$racemei<r><>$lines";}
elsif($racemei eq "有馬記念"){$point1+=0;$point2+=11;$win="$win<r>$racemei";}

}
}#for

if($ssyoyuusya ne ""){
if($y1hp<=$point2){$y1h="$win<>$lines";$y1hp=$point2;}# 年度代表馬
if($y1tp<=$point1){$y1t="$win<>$lines";$y1tp=$point1;}# 最優秀短距離馬
if($ssei eq "牝" && $stoshi==3 && $y3hp<=$point2){$y3h="$win<>$lines";$y3hp=$point2;}
elsif($ssei eq "牡" && $stoshi==3 && $y3op<=$point2){$y3o="$win<>$lines";$y3op=$point2;}
elsif($ssei eq "牝" && $stoshi>=4 && $y4hp<=$point2){$y4h="$win<>$lines";$y4hp=$point2;}
elsif($ssei eq "牡" && $stoshi>=4 && $y4op<=$point2){$y4o="$win<>$lines";$y4op=$point2;}
}
}#foreach

@past="$y1h";
push (@past, "$y1t");
push (@past, "$y2o");
push (@past, "$y2h");
push (@past, "$y3o");
push (@past, "$y3h");
push (@past, "$y4o");
push (@past, "$y4h");
push (@past, "$no1sia"); #リーディングサイアー
push (@past, "$kkaneoo");#最多賞金騎手
push (@past, "$kkatioo");#最多勝利騎手
push (@past, "$bkaneoo");#最多賞金馬主
push (@past, "$bkatioo");#最多勝利馬主

open(PT,"$pastfile"); # 歴代優秀記録
seek(PT,0,0); @ptmae = <PT>; close(PT);

push(@past, @ptmae);
splice(@past, 260);

open(PT,">$pastfile") ;
eval 'flock(PT,2);';
seek(PT,0,0); print PT @past;
eval 'flock(PT,8);';
close(PT);


# GT勝ちを空にする
@g="";
open(GW,">$gwinfile") ;
eval 'flock(GW,2);';
seek(GW,0,0); print GW @g;
eval 'flock(GW,8);';
close(GW);


# 2歳売却馬を空にする
@s="";
open(SE,">$serifile") ;
eval 'flock(SE,2);';
seek(SE,0,0); print SE @s;
eval 'flock(SE,8);';
close(SE);

}#end koushin



sub oyaintai{# 自動引退…種牡馬(20歳)、繁殖牝馬(15歳)

# 種牡馬記録(勝ち G1 リーディングサイアー 種付け料 総賞金)

open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

@intosu="";
foreach $check (@tk){
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$check);

if($otoshi>=20){push (@intosu, $check);$check="";}
}#foreach

open(TK,">$tanefile") ;
eval 'flock(TK,2);';
seek(TK,0,0); print TK @tk;
eval 'flock(TK,8);';
close(TK);


open(DT,"$dtanefile"); # 種牡馬記録
seek(DT,0,0); @rekit = <DT>; close(DT);

foreach $check (@intosu){
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$check);

$f1=0;$f2=0;$f3=0;$f4=0;$f5=0;
foreach $rekih (@rekit) {
($d, $d, $d, $doyouka, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $dtopsaia, $d, $dtsankukane, $ds1, $d, $d, $d, $dsg1, $d, $d, $d) = split(/<>/,$rekih);
if($oyouka <= $doyouka){$f1++;}
if($topsaia <= $dtopsaia){$f2++;}
if($tsankukane <= $dtsankukane){$f3++;}
if($s1 <= $ds1){$f4++;}
if($sg1 <= $dsg1){$f5++;}
}#foreach

if(($f1<20 || $f2<20 || $f3<20 || $f4<20 || $f5<20) && ($doyouka ne "")){
$yuusyuu="$tane<>$syoyuusya<><>$oyouka<><>$osp<>$osyu<>$ozizoku<>$okon<>$ost<>$oki<>$okenkou<>$okeiro<>$obaku<>$tt<>$th<><><><><>$oketou1<>$onokori<>$oseityou<><>$topsaia<>$osanku<>$tsankukane<>$s1<>$s2<>$s3<>$s4<>$sg1<>$sg2<>$sg3<><><><>\n";
push (@rekit, $yuusyuu);
}
}#foreach

open(DT,">$dtanefile") ;
eval 'flock(DT,2);';
seek(DT,0,0); print DT @rekit;
eval 'flock(DT,8);';
close(DT);



# 繁殖牝馬記録(評価額 代表産駒)

open(RM,"$tamefile");
seek(RM,0,0); @hansyo = <RM>; close(RM);

@intmsu="";
foreach $check (@hansyo){
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$check);

if($htoshi>=15){push (@intmsu, $check);$check="";}
}#foreach

open(RM,">$tamefile") ;
eval 'flock(RM,2);';
seek(RM,0,0); print RM @hansyo;
eval 'flock(RM,8);';
close(RM);


open(DM,"$dtamefile"); # 繁殖牝馬記録
seek(DM,0,0); @rekim = <DM>; close(DM);

foreach $check (@intmsu){
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $hsankuf, $dmy) = split(/<>/,$check);

$f1=0;$f2=0;
foreach $rekih (@rekim) {
($d, $d, $d, $dhyouka, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $dhsankuf, $dmy) = split(/<>/,$rekih);
if($hyouka <= $dhyouka){$f1++;}
if($hsankuf <= $dhsankuf){$f2++;}
}#foreach

if(($f1<20 || $f2<20)&&($dhyouka ne "")){
$yuusyuu="$tame<>$syoyuusya<>$hpass<>$hyouka<>$htoshi<>$hsp<>$hsyu<>$hzizoku<>$hkon<>$hst<>$hki<>$hkenkou<>$hkeiro<>$hbaku<>$ht<>$hh<>$htt<>$hth<>$hht<>$hhh<>$hketou1<>$hketou2<>$hketou3<>$hflag<>$hsanku<>$hsankuf<><>\n";
push (@rekim, $yuusyuu);
}
}#foreach

open(DM,">$dtamefile") ;
eval 'flock(DM,2);';
seek(DM,0,0); print DM @rekim;
eval 'flock(DM,8);';
close(DM);


}#end oyaintai




sub kiintai{# 自動引退…騎手(40歳)勝ち G1 G2 G3 総賞金

open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

@kisyuint="";
foreach $lines (@ki){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);
if($ktoshi>=40){push (@kisyuint, $lines);$lines="";}
}#foreach

open(KI,">$kisyufile") ;
eval 'flock(KI,2);';
seek(KI,0,0); print KI @ki;
eval 'flock(KI,8);';
close(KI);


open(DK,"$dkisyufile"); # 騎手記録
seek(DK,0,0); @rekis = <DK>; close(DK);

foreach $check (@kisyuint){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$check);

$f1=0;$f2=0;$f3=0;$f4=0;$f5=0;
foreach $lines (@rekis){
($d, $d, $d, $d, $d, $d, $dkt1, $d, $d, $d, $d, $d, $d, $d, $dktg1, $dktg2, $dktg3, $d, $d, $d, $d, $d, $dktkakutoku, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d) = split(/<>/,$rekih);
if($kt1 <= $dkt1){$f1++;}
if($ktg1 <= $dktg1){$f2++;}
if($ktg2 <= $dktg2){$f3++;}
if($ktg3 <= $dktg3){$f4++;}
if($ktkakutoku <= $dktkakutoku){$f5++;}
}#foreach

if(($f1<20 || $f2<20 || $f3<20 || $f4<20 || $f5<20)&&($dktkakutoku ne "")){
$yuukisyu="$kname<>$kpass<>$khp<>$kicon<>$kisyuname<>$khost<>$kt1<>$kt2<>$kt3<>$kt4<>$kk1<>$kk2<>$kk3<>$kk4<>$ktg1<>$ktg2<>$ktg3<>$kkg1<>$kkg2<>$kkg3<>$kmaxwin<>$kmaxkane<>$ktkakutoku<>$kkkakutoku<>$knige<>$ksenkou<>$ksashi<>$koikomi<>$ktok<>$ktoshi<>$ktyoushi<>$irairyou<><><><><>\n";
push (@rekis, $yuukisyu);
}
}#foreach

open(DK,">$dkisyufile") ;
eval 'flock(DK,2);';
seek(DK,0,0); print DK @rekis;
eval 'flock(DK,8);';
close(DK);

}#end kiintai












【horse3_kiroku.cgi】

#!/usr/bin/perl

#----------------------------------------------------------------------
# 制作者 : ゴードン
# E-MAIL : zaza99jp@yahoo.co.jp
# URL : http://godon.s53.xrea.com/
#
# 使用前にまず利用規定を読んでください
# http://godon.s53.xrea.com/kiyaku.html
# [このスクリプトを使用して起きたいかなる損害にも責任は負いません。]
#----------------------------------------------------------------------

$| = 1;
require './jcode.pl';
require './horse3.cgi';&kankyou;


##### 記録室
sub kiroku{

&header;# ヘッダー表示

print "<center><font color=000000 size=6><B>記録室</B></font><br><br>";
print <<"_HTML_";
<form action="$cgifile" method="$method">
<select name=rekilist>
<option value="0">馬主成績
<option value="1">騎手成績
<option value="2">競走馬成績
<option value="3">種牡馬成績
<option value="4">繁殖牝馬成績
<option value="5">殿堂馬
<option value="6">年度優秀賞
<option value="7">レコード
</select>  
<input type=submit name=rekiview value=表\示>
</form>
_HTML_


&hutter;# フッター表示
&chosaku;

}#end kiroku




##### 記録室表示
sub rekiview{

&header;# ヘッダー表示

print "<center><font color=000000 size=6><B>記録室</B></font><br><br>";
print <<"_HTML_";
<form action="$cgifile" method="$method">
<select name=rekilist>
<option value="0">馬主成績
<option value="1">騎手成績
<option value="2">競走馬成績
<option value="3">種牡馬成績
<option value="4">繁殖牝馬成績
<option value="5">殿堂馬
<option value="6">年度優秀賞
<option value="7">レコード
</select>  
<input type=submit name=rekiview value=表\示>
</form>
_HTML_

$rekino = $form{'rekilist'};

if($rekino==0){# 馬主情報

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="rekiview" value="1">
<input type="submit" name="l1" value="通算勝数">  
<input type="submit" name="l2" value="GT勝数">  
<input type="submit" name="l3" value="GU勝数">  
<input type="submit" name="l4" value="GV勝数">  
<input type="submit" name="l5" value="獲得資金">  
</form>
_HTML_

$banushisuu=0;
open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

if($form{'l5'}){$ll =22;}
elsif($form{'l4'}){$ll =16;}
elsif($form{'l3'}){$ll =15;}
elsif($form{'l2'}){$ll =14;}
else{$ll = 6;}

@sortdata = sort { (split(/<>/,$b))[$ll] <=> (split(/<>/,$a))[$ll] } @ba;

foreach $lines (@sortdata){
($name, $pass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$lines);
$banushisuu++;

if($tkakutoku>=10000){$oku3=int($tkakutoku/10000);$man3=$tkakutoku-($oku3*10000);if($man3==0){$tkakutokus="$oku3億円";}else{$tkakutokus="$oku3億$man3万円";}}else{$tkakutokus="$tkakutoku万円";}


if($banushisuu<=10){print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td colspan=3><center><font size=+3>$name</font></td><td width=100 height=40><center><img src=$imgurl/kao$icon.gif></td></tr><tr><td colspan=4 bgcolor=$button1><center><b>通算成績</b></td></tr><tr><td bgcolor=$button1><center>通算成績</td><td colspan=3><center>$t1-$t2-$t3-$t4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $tg1勝</td><td><center>GU $tg2勝</td><td><center>GV $tg3勝</td></tr><tr><td bgcolor=$button1><center>最多勝</td><td><center>$maxwin回</td><td bgcolor=$button1><center>最多賞金</td><td><center>$maxkane回</td></tr><tr><td bgcolor=$button1><center>獲得資金</td><td colspan=3><center>$tkakutokus</td></tr></table><br><br>";} else{print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td width=100><center>$name</td><td width=65><center>$t1-$t2-$t3-$t4</td><td><center>GT $tg1 GU $tg2 GV $tg3</td><td width=90><center>$tkakutokus</td></tr></table>";}
}


}elsif($rekino==1){# 騎手情報

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="rekiview" value="1">
<input type="hidden" name="rekilist" value="1">
<input type="submit" name="l1" value="通算勝数">  
<input type="submit" name="l2" value="GT勝数">  
<input type="submit" name="l3" value="GU勝数">  
<input type="submit" name="l4" value="GV勝数">  
<input type="submit" name="l5" value="獲得賞金">  
</form>
_HTML_

$kisyusuu=0;
open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

open(DK,"$dkisyufile"); # 騎手記録
seek(DK,0,0); @rekis = <DK>; close(DK);

push(@ki, @rekis);

if($form{'l5'}){$ll =23;}
elsif($form{'l4'}){$ll =19;}
elsif($form{'l3'}){$ll =18;}
elsif($form{'l2'}){$ll =17;}
else{$ll =10;}

@sortdata = sort { (split(/<>/,$b))[$ll] <=> (split(/<>/,$a))[$ll] } @ki;

foreach $lines (@sortdata){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$lines);
$kisyusuu++;

if($ktkakutoku>=10000){$koku3=int($ktkakutoku/10000);$kman3=$ktkakutoku-($koku3*10000);if($kman3==0){$ktkakutokus="$koku3億円";}else{$ktkakutokus="$koku3億$kman3万円";}}else{$ktkakutokus="$ktkakutoku万円";}


if($kisyusuu<=10){print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td colspan=3><center><font size=+3>$kisyuname</font> $ktoshi歳</td><td width=100 height=40><center><img src=$imgurl/ki$kicon.gif></td></tr><tr><td colspan=4 bgcolor=$button1><center><b>通算成績</b></td></tr><tr><td bgcolor=$button1><center>通算成績</td><td colspan=3><center>$kt1-$kt2-$kt3-$kt4</td></tr><tr><td bgcolor=$button1><center>重賞勝数</td><td><center>GT $ktg1勝</td><td><center>GU $ktg2勝</td><td><center>GV $ktg3勝</td></tr><tr><td bgcolor=$button1><center>最多勝</td><td><center>$kmaxwin回</td><td bgcolor=$button1><center>最多賞金</td><td><center>$kmaxkane回</td></tr><tr><td bgcolor=$button1><center>獲得賞金</td><td colspan=3><center>$ktkakutokus</td></tr></table><br><br>";}
else{print "<table border=1 width=400 bordercolor=$button1 bgcolor=FFFFFF><tr><td width=100><center>$kisyuname</td><td width=65><center>$kt1-$kt2-$kt3-$kt4</td><td><center>GT $ktg1 GU $ktg2 GV $ktg3</td><td width=90><center>$ktkakutokus</td></tr></table>";}
}


}elsif($rekino==2){# 競走馬情報

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="rekiview" value="1">
<input type="hidden" name="rekilist" value="2">
<input type="submit" name="l1" value="通算勝数">  
<input type="submit" name="l2" value="GT勝数">  
<input type="submit" name="l3" value="GU勝数">  
<input type="submit" name="l4" value="GV勝数">  
<input type="submit" name="l5" value="総賞金">  
</form>
<table border=1 width=820 bordercolor=$button1 bgcolor=FFFFFF><tr bgcolor=$button1>
<td width=50><center><B>順位</td>
<td width=170><center><B>馬名(性別)</td>
<td width=100><center><B>成績</td>
<td width=70><center><B>重賞成績</td>
<td width=130><center><B>総賞金</td>
<td width=120><center><B>所有馬主</td>
<td width=120><center><B>生産家</td>
<td width=60><center><B>引退年</td>
</tr>
_HTML_

open(UM,"$sumafile");
seek(UM,0,0); @uma = <UM>; close(UM);

if($form{'l1'}){$ll =10;}
elsif($form{'l4'}){$ll =16;}
elsif($form{'l3'}){$ll =15;}
elsif($form{'l2'}){$ll =14;}
else{$ll =20;}

@sortdata = sort { (split(/<>/,$b))[$ll] <=> (split(/<>/,$a))[$ll] } @uma;

foreach $list (@sortdata) {
($nendo, $umaname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $dmy, $dmy, $dmy, $dmy, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$list);

if($utotal>=10000){$oku=int($utotal/10000);$man=$utotal-($oku*10000);if($man==0){$tkakutokus="$oku億円";}else{$tkakutokus="$oku億$man万円";}}else{$tkakutokus="$utotal万円";}
$umasuu++;
print "<tr><td><center>$umasuu位</td><td><center>$umaname($usei)</td><td><center>$u1i-$u2i-$u3i-$u4i</td><td><center>$ug1-$ug2-$ug3</td><td><center>$tkakutokus</td><td><center>$syoyuusya</td><td><center>$seisanka</td><td><center>$nendo年</td></tr>";
}

print "</table>";



}elsif($rekino==3){# 種牡馬情報

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="rekiview" value="1">
<input type="hidden" name="rekilist" value="3">
<input type="submit" name="l1" value="産駒獲得総賞金">  
<input type="submit" name="l2" value="リーディングサイアー">  
<input type="submit" name="l4" value="産駒勝数">  
<input type="submit" name="l5" value="GT勝数">  
<input type="submit" name="l3" value="種付け料">  
</form>
_HTML_

open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

open(DT,"$dtanefile"); # 種牡馬記録
seek(DT,0,0); @rekit = <DT>; close(DT);

push (@tk, @rekit);

if($form{'l3'}){$snumber = 3;}
elsif($form{'l2'}){$snumber =24;}
elsif($form{'l4'}){$snumber =27;}
elsif($form{'l5'}){$snumber =31;}
else{$snumber =26;}

@sortdata = sort {(split(/<>/,$b))[$snumber] <=> (split(/<>/,$a))[$snumber]} @tk;

$syubosuu=0;
foreach $lines (@sortdata){
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$lines);
$syubosuu++;
($tane, $dmy) = split(/<mm>/,$tane);
@onou=($osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou);
for($n=0; $n<7; $n++){
if(@onou[$n]>=68){@onou[$n]="<center><b>◎</b>";}
elsif(@onou[$n]>=66){@onou[$n]="<center><b>○</b>";}
elsif(@onou[$n]>=64){@onou[$n]="<center><b>△</b>";}
else{@onou[$n]="<center><b>×</b>";}
}

if($tsankukane>=10000){$oku=int($tsankukane/10000);$man=$tsankukane-($oku*10000);if($man==0){$tsankukanes="$oku億円";}else{$tsankukanes="$oku億$man万円";}}else{$tsankukanes="$tsankukane万円";}

($da1, $da2, $da3) = split(/<dd>/,$osanku);
($dn1, $dh1, $dp1) = split(/<d>/,$da1);
($dn2, $dh2, $dp2) = split(/<d>/,$da2);
($dn3, $dh3, $dp3) = split(/<d>/,$da3);

if($syubosuu<=20){
print "<table border=1 bordercolor=$button1 width=400 bgcolor=FFFFFF><tr><td width=450><center><table border=1 bordercolor=$button1><tr><td width=350><center><font size=+3>$tane</font></td><td width=100 height=40><center><img src=$imgurl/$okeiro></td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td><center>スピード</td><td><center>瞬発力</td><td><center>持続力</td><td><center>根性</td><td><center>スタミナ</td><td><center>気性</td><td><center>精神力</td><td rowspan=2 width=60><center>$oyouka万円</td></tr><tr><td>@onou[0]</td><td>@onou[1]</td><td>@onou[2]</td><td>@onou[3]</td><td>@onou[4]</td><td>@onou[5]</td><td>@onou[6]</td></tr><tr><td colspan=2><center>産駒獲得総賞金</td><td colspan=2><center>$tsankukanes</td><td colspan=2><center>リーディングサイアー</td><td><center>$topsaia回</td><td><center>$oseityou</td></tr><tr><td colspan=2><center>産駒成績</td><td colspan=6><center>$s1-$s2-$s3-$s4  (GT $sg1  GU $sg2  GV $sg3)</td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td bgcolor=$button1 colspan=2><center><b>代表\産駒</b></td></tr><tr><td width=120>$dn1<br>$dn2<br>$dn3</td><td>$dh1<br>$dh2<br>$dh3</font></td></tr></table><br></td></tr></table><br>";
}}



}elsif($rekino==4){# 繁殖牝馬情報

print <<"_HTML_";
<form action="$cgifile" method="$method">
<input type="hidden" name="rekiview" value="1">
<input type="hidden" name="rekilist" value="4">
<input type="submit" name="l1" value="代表\産駒">  
<input type="submit" name="l2" value="評価額">  
</form>
_HTML_

open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

open(DM,"$dtamefile"); # 繁殖牝馬記録
seek(DM,0,0); @rekim = <DM>; close(DM);

push (@mk, @rekim);

if($form{'l1'}){$snumber =25;}
else{$snumber = 3;}

@sortdata = sort {(split(/<>/,$b))[$snumber] <=> (split(/<>/,$a))[$snumber]} @mk;

$hansuu=0;
foreach $lines (@sortdata){
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dsanku, $dmy) = split(/<>/,$lines);
$hansuu++;
($tame, $dmy) = split(/<mm>/,$tame);
@hnou=($hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou);
for($n=0; $n<7; $n++){
if(@hnou[$n]>=66){@hnou[$n]="<center><b>◎</b>";}
elsif(@hnou[$n]>=64){@hnou[$n]="<center><b>○</b>";}
elsif(@hnou[$n]>=62){@hnou[$n]="<center><b>△</b>";}
else{@hnou[$n]="<center><b>×</b>";}
}

($da1, $da2, $da3) = split(/<dd>/,$hsanku);
($dn1, $dh1, $dp1) = split(/<d>/,$da1);
($dn2, $dh2, $dp2) = split(/<d>/,$da2);
($dn3, $dh3, $dp3) = split(/<d>/,$da3);

if($hansuu<=20){
print "<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td width=450><center><table border=1 bordercolor=$button1><tr><td width=350><center><font size=+3>$tame</font></td><td width=100 height=40><center><img src=$imgurl/$hkeiro></td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td><center>スピード</td><td><center>瞬発力</td><td><center>持続力</td><td><center>根性</td><td><center>スタミナ</td><td><center>気性</td><td><center>精神力</td><td rowspan=2 width=70><center>$hyouka万円</td></tr><tr><td>@hnou[0]</td><td>@hnou[1]</td><td>@hnou[2]</td><td>@hnou[3]</td><td>@hnou[4]</td><td>@hnou[5]</td><td>@hnou[6]</td></tr></table><br><center><table border=1 bordercolor=$button1 width=400><tr><td bgcolor=$button1 colspan=2><center><b>代表\産駒</b></td></tr><tr><td width=120>$dn1<br>$dn2<br>$dn3</td><td>$dh1<br>$dh2<br>$dh3</font></td></tr></table><br></td></tr></table><br>";
}}


}elsif($rekino==5){# 殿堂馬

$no = $form{'pageno'};
if($form{'pageno'} eq ""){$no=0;}

if($form{'l1'}){$no-=10;}
elsif($form{'l2'}){$no+=10;}

open(DT,"$dumafile");
seek(DT,0,0); @dt = <DT>; close(DT);

@click="";$j=0;
for($i=$no; $i<$no+10; $i++) {
($go, $uname, $syoyuusya, $seisanka, $ukeicon, $usei, $utoshi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $uketou1) = split(/<>/,@dt[$i]);

if($uname){push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$j)>$uname</b></td></tr>";}else{push @click, "<tr><td><center><b onClick=Msg(event.x,event.y,$j)>-</b></td></tr>";}

if($utotal>=10000){$oku=int($utotal/10000);$man=$utotal-($oku*10000);if($man==0){$utotals="$oku億円";}else{$utotals="$oku億$man万円";}}else{$utotals="$utotal万円";}

if($ukeicon eq "uma1.gif"){$icon="鹿毛";}
elsif($ukeicon eq "uma2.gif"){$icon="黒鹿毛";}
elsif($ukeicon eq "uma3.gif"){$icon="栃栗毛";}
elsif($ukeicon eq "uma4.gif"){$icon="栗毛";}
elsif($ukeicon eq "uma5.gif"){$icon="尾花栗毛";}
elsif($ukeicon eq "uma6.gif"){$icon="青鹿毛";}
elsif($ukeicon eq "uma7.gif"){$icon="青毛";}
elsif($ukeicon eq "uma8.gif"){$icon="芦毛(濃)";}
elsif($ukeicon eq "uma9.gif"){$icon="芦毛(薄)";}
else{$icon="白毛";}

@katikura="";
if($ukatig1){# GT
@g = split(/<r>/,$ukatig1);
foreach $list (@g){if($list){push (@katikura,"<font color=red>$list  </font>");}}}
if($ukatig2){# GU
@g = split(/<r>/,$ukatig2);
foreach $list (@g){if($list){push (@katikura,"<font color=blue>$list  </font>");}}}
if($ukatig3){# GV
@g = split(/<r>/,$ukatig3);
foreach $list (@g){if($list){push (@katikura,"<font color=green>$list  </font>");}}}

if($uname){$msg[$j]="<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td width=350><center><font size=+3>$go</font><br><b>$uname</b>   $usei  $icon</td><td width=100 height=40><center><img src=$imgurl/$ukeicon></td></tr><tr><td colspan=2><br></center>所有者:$syoyuusya<br>生産家:$seisanka<br>通算成績 $u1i-$u2i-$u3i-$u4i<br>重賞勝数 GT $ug1勝 GU $ug2勝 GV $ug3勝<br>獲得賞金 $utotals<br>$uketou1系<br>父:$utt<br>母:$uhh<br><hr color=$button1>@katikura</td></tr></table>";}else{$msg[$j]="<table border=1 bordercolor=$button1 width=450 bgcolor=FFFFFF><tr><td><center><font size=+10>殿堂馬待ち</font></td></tr></table>";}
$j++;
}#for

print <<"_HTML_";
<center><DIV id=uma style=position:absolute;background:#ffffff;></DIV>
<table border=0 width=800><tr><td width=150>
<table border=1 width=150 height=320>
<tr><td><center>
<form action="$cgifile" method="$method">
<input type="hidden" name="rekiview" value="1">
<input type="hidden" name="rekilist" value="5">
<input type="hidden" name="pageno" value="$no">
<input type="submit" name="l1" value="前へ">  
<input type="submit" name="l2" value="次へ"></form>
</td></tr>
@click
<tr><td><center><b onClick=Msg(event.x,event.y,10)>閉じる</b></td></tr>
</table>
<br>
</td></tr></table>



<SCRIPT language="JavaScript">
<!--

msg=new Array();
msg[0]="$msg[0]";
msg[1]="$msg[1]";
msg[2]="$msg[2]";
msg[3]="$msg[3]";
msg[4]="$msg[4]";
msg[5]="$msg[5]";
msg[6]="$msg[6]";
msg[7]="$msg[7]";
msg[8]="$msg[8]";
msg[9]="$msg[9]";
msg[10]="";
function Msg(x,y,index){
uma.innerHTML = msg[index];
uma.style.left=document.body.scrollLeft+400;
uma.style.top=document.body.scrollTop+105;
}
//-->
</SCRIPT>
_HTML_



}elsif($rekino==6){# 年度優秀賞

$formnen = $form{'nenitu'};
open(TI,"$timefile");
seek(TI,0,0); @now = <TI>; close(TI);
($tuki, $syuu, $raceno, $hi, $zikan, $nendo) = split(/<>/, $now[0]);
if($formnen eq ""){$formnen = $nendo-1;}
$honnen = ($nendo - $formnen - 1)*13;

open(PT,"$pastfile");
seek(PT,0,0); @pt = <PT>; close(PT);

print "<table border=1 width=900><tr>";

$j=0;
for ($i=$honnen; $i<$honnen+2; $i++){
($racemei, $d, $bamei, $syoyuusya, $keiro, $sei, $toshi, $titi, $haha, $seisanka) = split(/<>/,@pt[$i]);
($titi, $dmy) = split(/<mm>/,$titi);
($haha, $dmy) = split(/<mm>/,$haha);
if($j == 0){$topi="年度代表\馬";}
elsif($j == 1){$topi="最優秀短距離馬";}
$j++;

($d, $k1, $k2, $k3, $d) = split(/<r>/,$racemei);
if($bamei eq ""){print "<td width=300 colspan=2><B><font color=gold>$topi</font><br><br><br><br><center>該当無し<br><br><br><br></td>";}else{print "<td width=300 colspan=2><B><font color=gold>$topi</font> $bamei($toshi$sei)</B><br><img src=$imgurl/$keiro><br>所有者:$syoyuusya  生産家:$seisanka<br>父:$titi  母:$haha<br><br><font color=red>$k1 $k2 $k3</font></td>";}

}#for


($tane3i, $tane2i, $tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,@pt[$honnen+8]);
($tane, $d) = split(/<mm>/,$tane);
($tane2i, $d) = split(/<mm>/,$tane2i);
($tane3i, $d) = split(/<mm>/,$tane3i);
if($sankukane>=10000){$oku=int($sankukane/10000);$man=$sankukane-($oku*10000);if($man==0){$sankukanes="$oku億円";}else{$sankukanes="$oku億$man万円";}}else{$sankukanes="$sankukane万円";}

if($tane eq ""){print "<td colspan=2><B><font color=gold>リーディングサイアー</font><br><br><br><br><center>該当無し<br><br><br><br></td>";}else{print "<td width=300 colspan=2><B><font color=gold>リーディングサイアー</font> $tane($otoshi歳)</b><br><img src=$imgurl/$okeiro><br>産駒獲得賞金:$sankukanes<br><br>2位:$tane2i<br>3位:$tane3i<br></td>";}

print "</tr><tr>";



for ($i=$honnen+2; $i<$honnen+8; $i++){
($racemei, $d, $bamei, $syoyuusya, $keiro, $sei, $toshi, $titi, $haha, $seisanka) = split(/<>/,@pt[$i]);

($titi, $dmy) = split(/<mm>/,$titi);
($haha, $dmy) = split(/<mm>/,$haha);
if($j == 2){$topi="最優秀2歳牡馬";}
elsif($j == 3){$topi="最優秀2歳牝馬";}
elsif($j == 4){$topi="最優秀3歳牡馬";}
elsif($j == 5){$topi="最優秀3歳牝馬";}
elsif($j == 6){$topi="最優秀4歳以上牡馬";}
elsif($j == 7){$topi="最優秀4歳以上牝馬";}
$j++;

($d, $k1, $d) = split(/<r>/,$racemei);
if($bamei eq ""){print "<td><B><font color=gold>$topi</font><br><br><br><center>該当無し<br><br><br></td>";}else{print "<td><B><font color=gold>$topi</font><br>$bamei($toshi$sei)</B><br><img src=$imgurl/$keiro><br><br><font color=red>$k1</font></td>";}

}#for


print "</tr><tr>";


for ($i=$honnen+9; $i<$honnen+13; $i++){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,@pt[$i]);

if($j == 8){$topi="最多賞金騎手";$icon="<img src=$imgurl/ki$kicon.gif>";$yname="$kisyuname";if($kkkakutoku>=10000){$oku=int($kkkakutoku/10000);$man=$kkkakutoku-($oku*10000);if($man==0){$ta="$oku億円";}else{$ta="$oku億$man万円";}}else{$ta="$kkkakutoku万円";}}
elsif($j == 9){$topi="最多勝利騎手";$icon="<img src=$imgurl/ki$kicon.gif>";$yname="$kisyuname";$ta="$kk1勝";}
elsif($j == 10){$topi="最多賞金馬主";$icon="<img src=$imgurl/kao$kicon.gif>";$yname="$kname";if($kkkakutoku>=10000){$oku=int($kkkakutoku/10000);$man=$kkkakutoku-($oku*10000);if($man==0){$ta="$oku億円";}else{$ta="$oku億$man万円";}}else{$ta="$kkkakutoku万円";}}
elsif($j == 11){$topi="最多勝利馬主";$icon="<img src=$imgurl/kao$kicon.gif>";$yname="$kname";$ta="$kk1勝";}
$j++;

print "<td><B><font color=gold>$topi</font><br>$yname</B><br>$icon<center>$ta<br></td>";

}#for



print "<td colspan=2><center><br><form action=$cgifile method=$method><input type=hidden name=rekiview value=1><input type=hidden name=rekilist value=6>";
$rimit=($#pt/13)+1;
print "<select name=nenitu>";
for ($r=1; $r<$rimit; $r++) {
$nenyuu=$nendo-$r;
print "<option value=$nenyuu>$nenyuu";
}
print "</select>     <input type=submit name=nenit value=表\示></form></td></tr></table>";



}elsif($rekino==7){# レコード

open(RR,"$recordfile");
seek(RR,0,0); @rr = <RR>; close(RR);

@kyo=("1000","1200","1400","1600","1800","2000","2200","2400","2500","3000","3200","3600");
print "<table border=1 bgcolor=FFFFFF bordercolor=$button1 width=60%><tr bgcolor=$button1><td><center><B>距離</td><td><center><B>タイム</td><td><center><B>馬名</td><td><center><B>騎手</td><td><center><B>場所</td><td><center><B>年度</td></tr>";

for($i=0; $i<12; $i++){
($rhun, $rbyo, $rcon, $ruma, $rkisyu, $rba, $rnen) = split(/<>/,$rr[$i]);

print "<tr><td><center>$kyo[$i]m</td><td><center>$rhun′$rbyo″$rcon</td><td><center>$ruma</td><td><center>$rkisyu</td><td><center>$rba</td><td><center>$rnen年</td></tr>";
}

print "</table><br>";


}



&hutter;# フッター表示
&chosaku;

}#end rekiview












【horse3_umu.cgi】

#!/usr/bin/perl

#----------------------------------------------------------------------
# 制作者 : ゴードン
# E-MAIL : zaza99jp@yahoo.co.jp
# URL : http://godon.s53.xrea.com/
#
# 使用前にまず利用規定を読んでください
# http://godon.s53.xrea.com/kiyaku.html
# [このスクリプトを使用して起きたいかなる損害にも責任は負いません。]
#----------------------------------------------------------------------
$| = 1;
require './jcode.pl';
require './horse3.cgi';&kankyou;


##### 生産
sub seisan{

$name = $form{'lname'};
$pass = $form{'lpass'};
$formrs = $form{'rs'};
$umaname = $form{'umaname'};

if($formrs < 16 || $formrs > 21){&error("生産系コマンドではありません。");}

if($formrs == 16){# 2歳馬生産

# 種牡馬リスト
open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

@olist = "";$so=0;@oclick="";@oclick2="";
foreach $list (@tk) {
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$list);

($tane, $tok0) = split(/<mm>/,$tane);
($tt,$tok1)=split(/<mm>/,$tt);if($tok1){$tt="$tt<img src=$imgurl/$tok1.gif>";}
($th,$tok2)=split(/<mm>/,$th);if($tok2){$th="$th<img src=$imgurl/$tok2.gif>";}
($ttt,$tok3)=split(/<mm>/,$ttt);if($tok3){$ttt="$ttt<img src=$imgurl/$tok3.gif>";}
($tth,$tok4)=split(/<mm>/,$tth);if($tok4){$tth="$tth<img src=$imgurl/$tok4.gif>";}
($tht,$tok5)=split(/<mm>/,$tht);if($tok5){$tht="$tht<img src=$imgurl/$tok5.gif>";}
($thh,$tok6)=split(/<mm>/,$thh);if($tok6){$thh="$thh<img src=$imgurl/$tok6.gif>";}

push (@olist, "<option value=\"$tane\">$tane</option>");
push (@oclick, "<b onClick=Msg(event.x,event.y,$so)>$tane</b><br>");

@onou=($osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou);
for($n=0; $n<7; $n++){
if(@onou[$n]>=68){@onou[$n]="<center><b>◎</b>";}
elsif(@onou[$n]>=66){@onou[$n]="<center><b>○</b>";}
elsif(@onou[$n]>=64){@onou[$n]="<center><b>△</b>";}
else{@onou[$n]="<center><b>×</b>";}
}

$msg[$so]="<table border=1 cellspacing=0 cellpadding=3 width=475><tr><td rowspan=2><center><img src=$imgurl/$okeiro></td><td><center>スピード</td><td><center>瞬発力</td><td><center>持続力</td><td><center>根性</td><td><center>スタミナ</td><td><center>気性</td><td><center>精神力</td><td rowspan=2 width=70><center>$otoshi歳 $oseityou<br>$oyouka万円<br>残り$onokori株</td></tr><tr><td>@onou[0]</td><td>@onou[1]</td><td>@onou[2]</td><td>@onou[3]</td><td>@onou[4]</td><td>@onou[5]</td><td>@onou[6]</td></tr></table><table border=1 cellspacing=0 cellpadding=3><tr><td rowspan=4 bgcolor=#84C1FF width=150>$tane<br>($oketou1系)</td><td rowspan=2 bgcolor=#84C1FF width=150>$tt</td><td bgcolor=#84C1FF width=150>$ttt</td></tr><tr><td bgcolor=#FF95CA>$tth</td></tr><tr><td rowspan=2 bgcolor=#FF95CA>$th<br></td><td bgcolor=#84C1FF>$tht</td></tr><tr><td bgcolor=#FF95CA>$thh<br></td></tr></table>";
push (@oclick2, "msg[$so]=\"$msg[$so]\";\n");
$so++;
}# 種牡馬

push (@oclick, "<b onClick=Msg(event.x,event.y,1000)>消す</b><br>");


# 繁殖牝馬リスト
open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

@hlist = "";
foreach $list (@mk) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);


($tame, $tok0) = split(/<mm>/,$tame);
if(($syoyuusya eq $name)&&($hpass eq $pass)&&($tame eq $umaname)){# 所有繁殖牝馬
if($hflag==0){&error("既に種付けは完了しています。");}
($ht,$tok1)=split(/<mm>/,$ht);if($tok1){$ht="$ht<img src=$imgurl/$tok1.gif>";}
($hh,$tok2)=split(/<mm>/,$hh);if($tok2){$hh="$hh<img src=$imgurl/$tok2.gif>";}
($htt,$tok3)=split(/<mm>/,$htt);if($tok3){$htt="$htt<img src=$imgurl/$tok3.gif>";}
($hth,$tok4)=split(/<mm>/,$hth);if($tok4){$hth="$hth<img src=$imgurl/$tok4.gif>";}
($hht,$tok5)=split(/<mm>/,$hht);if($tok5){$hht="$hht<img src=$imgurl/$tok5.gif>";}
($hhh,$tok6)=split(/<mm>/,$hhh);if($tok6){$hhh="$hhh<img src=$imgurl/$tok6.gif>";}

@hlist="<option value=\"$tame\">$tame</option>";

@hnou=($hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou);
for($n=0; $n<7; $n++){
if(@hnou[$n]>=67){@hnou[$n]="<center><b>◎</b>";}
elsif(@hnou[$n]>=65){@hnou[$n]="<center><b>○</b>";}
elsif(@hnou[$n]>=63){@hnou[$n]="<center><b>△</b>";}
else{@hnou[$n]="<center><b>×</b>";}
}

$msh[0]="<table border=1 cellspacing=0 cellpadding=3><tr><td rowspan=4 bgcolor=#FF95CA width=150>$tame<br>($hketou1系)</td><td rowspan=2 bgcolor=#84C1FF width=150>$ht</td><td bgcolor=#84C1FF width=150>$htt</td></tr><tr><td bgcolor=#FF95CA>$hth</td></tr><tr><td rowspan=2 bgcolor=#FF95CA>$hh<br>($hketou2系)</td><td bgcolor=#84C1FF>$hht</td></tr><tr><td bgcolor=#FF95CA>$hhh<br>($hketou3系)</td></tr></table><table border=1 cellspacing=0 cellpadding=3 width=475><tr><td rowspan=2><center><img src=$imgurl/$hkeiro></td><td><center>スピード</td><td><center>瞬発力</td><td><center>持続力</td><td><center>根性</td><td><center>スタミナ</td><td><center>気性</td><td><center>精神力</td><td rowspan=2 width=70><center>$htoshi歳<br>$hyouka万円</td></tr><tr><td>@hnou[0]</td><td>@hnou[1]</td><td>@hnou[2]</td><td>@hnou[3]</td><td>@hnou[4]</td><td>@hnou[5]</td><td>@hnou[6]</td></tr></table>";
last;}# 所有繁殖牝馬

}

if(@hlist[0] eq ""){&error("繁殖牝馬がいません。");}


&header;# ヘッダー表示

print <<"_HTML_";
<center><font color=000000 size=6><B>生産</B></font><br><br>
<DIV id=uma style=position:absolute;background:84C1FF;></DIV>
<DIV id=uma2 style=position:absolute;background:FF95CA;></DIV>
<br><table width="800" height="400" border="1" bordercolor=009900><tr><td>

<form action="$cgifile" method="$method">
@oclick
<select name=syuboba>@olist</select>:種牡馬<br>
<br>
<select name=hinba>@hlist</select>:繁殖牝馬<br>
</td></tr></table>

<input type=hidden name=uname value=$name>
<input type=hidden name=upass value=$pass>

<br><center><input type="submit" name="umu" value="生産" onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
</form>

_HTML_


print <<"_JAVA_";
<SCRIPT language="JavaScript">
<!--

msg=new Array();
@oclick2
msg[1000]="";

msh=new Array();

msh[0]="$msh[0]";
msh[1000]="";

function Msg(x,y,index){
uma.innerHTML = msg[index];
uma.style.left=document.body.scrollLeft+380;
uma.style.top=document.body.scrollTop+120;

if(index==1000){k=1000;}else{k=0}
uma2.innerHTML = msh[k];
uma2.style.left=document.body.scrollLeft+380;
uma2.style.top=document.body.scrollTop+262;
}

//-->
</SCRIPT>
_JAVA_

&hutter;# フッター表示
&chosaku;


}elsif($formrs == 17){# 2歳馬購入

&header;# ヘッダー表示
print "<center><font size=6><b>2歳馬購入</b></font><P><table border=1 width=600><tr bgcolor=$button1><td><center>名前</td><td><center>性別</td><td><center>父</td><td><center>母</td><td><center>成長型</td><td><center>値段</td></tr>";

open(SE,"$serifile");
seek(SE,0,0); @se = <SE>; close(SE);

@serilist="";
foreach $list (@se) {
($dmy, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$list);

($utt, $d) = split(/<mm>/,$utt);
($uhh, $d) = split(/<mm>/,$uhh);
push @serilist, "<option value=$uname>$uname";
$money=($usp+$usyu+$uzizoku+$ukon+$ust+$uki+$ukenkou-280)*30;
print "<tr><td><center>$uname</td><td><center>$usei</td><td><center>$utt</td><td><center>$uhh</td><td><center>$useikata</td><td><center>$money万円</td></tr>";
}

print <<"_HTML_";
</table><form action="$cgifile" method="$method">
<input type=hidden name=lname value=$name>
<input type=hidden name=lpass value=$pass>

<select name=seriget>@serilist</select> を
<input type="text" name="newname" size="16"> に改名して
<input type=submit name=seribuy value=購入 onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
</form>

_HTML_


&hutter;# フッター表示
&chosaku;


}elsif($formrs == 18){# 2歳馬売却

($umaname, $d) = split(/:/,$umaname);

open(UM,"$umafile");
seek(UM,0,0); @uma = <UM>; close(UM);

$ucheck=0;
foreach $list (@uma) {
($dmy, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$list);

if(($umaname eq $uname)&&($syoyuusya eq $name)&&($upass eq $pass)){# 所有馬
if($u1i+$u2i+$u3i+$u4i>0){&error("未出走馬しか売却できません。");}
$uru="0<>$uname<>$syoyuusya<><>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$kinsou5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<><><><>$umatoku<>\n";
$list="";$ucheck=1;last;
}
}#foreach

if($ucheck==1){

# ロック開始
&lockgoo;

open(UM,">$umafile") ;
eval 'flock(UM,2);';
seek(UM,0,0); print UM @uma;
eval 'flock(UM,8);';
close(UM);


open(SE,"$serifile");# セリに登録
seek(SE,0,0); @se = <SE>; close(SE);

push(@se, $uru);

open(SE,">$serifile") ;
eval 'flock(SE,2);';
seek(SE,0,0); print SE @se;
eval 'flock(SE,8);';
close(SE);

# ロック終了
&lockend;

}else{&error("そんな2歳馬はいません。");}




}elsif($formrs == 19){# 繁殖牝馬購入

&header;# ヘッダー表示
print "<center><font size=6><b>繁殖牝馬購入</b></font><P><table border=1 width=600 bgcolor=FFFFFF bordercolor=$button1><tr bgcolor=$button1><td><center>名前</td><td><center>年齢</td><td><center>血統</td><td><center>影響力</td><td><center>値段</td></tr>";

open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

@hserilist="";
foreach $list (@mk) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);
($tame, $htok0) = split(/<mm>/,$tame);

if($hpass eq ""){
push @hserilist, "<option value=$tame>$tame";

($ht,$tok1)=split(/<mm>/,$ht);if($tok1){$ht="$ht<img src=$imgurl/$tok1.gif>";}
($hh,$tok2)=split(/<mm>/,$hh);if($tok2){$hh="$hh<img src=$imgurl/$tok2.gif>";}
($htt,$tok3)=split(/<mm>/,$htt);if($tok3){$htt="$htt<img src=$imgurl/$tok3.gif>";}
($hth,$tok4)=split(/<mm>/,$hth);if($tok4){$hth="$hth<img src=$imgurl/$tok4.gif>";}
($hht,$tok5)=split(/<mm>/,$hht);if($tok5){$hht="$hht<img src=$imgurl/$tok5.gif>";}
($hhh,$tok6)=split(/<mm>/,$hhh);if($tok6){$hhh="$hhh<img src=$imgurl/$tok6.gif>";}

print "<tr><td><center>$tame</td><td><center>$htoshi歳</td><td><center><table border=1 cellspacing=0 cellpadding=3><tr><td rowspan=2 bgcolor=#84C1FF width=150>$ht<br>($hketou1系)</td><td bgcolor=#84C1FF width=150>$htt</td></tr><tr><td bgcolor=#FF95CA>$hth</td></tr><tr><td rowspan=2 bgcolor=#FF95CA>$hh<br>($hketou2系)</td><td bgcolor=#84C1FF>$hht</td></tr><tr><td bgcolor=#FF95CA>$hhh<br>($hketou3系)</td></tr></table></td><td><center>$hbaku</td><td><center>$hyouka万円</td></tr>";
}}

print <<"_HTML_";
</table><form action="$cgifile" method="$method">
<input type=hidden name=lname value=$name>
<input type=hidden name=lpass value=$pass>

<select name=hseriget>@hserilist</select> を
<input type=submit name=hseribuy value=購入 onMouseOver=this.style.backgroundColor="$button1" onMouseOut=this.style.backgroundColor="$button2">
</form>

_HTML_


&hutter;# フッター表示
&chosaku;



}elsif($formrs == 20){# 繁殖牝馬売却

open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

$hcheck=0;
foreach $list (@mk) {# 所有権売却
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);
($tame, $htok0) = split(/<mm>/,$tame);
if(($umaname eq $tame)&&($syoyuusya eq $name)&&($hpass eq $pass)){
if($hflag==0){&error("種付け前しか売却はできません。");}
$hkanryou="$tame<mm>$htok0<>$syoyuusya<><>$hyouka<>$htoshi<>$hsp<>$hsyu<>$hzizoku<>$hkon<>$hst<>$hki<>$hkenkou<>$hkeiro<>$hbaku<>$ht<>$hh<>$htt<>$hth<>$hht<>$hhh<>$hketou1<>$hketou2<>$hketou3<>0<>$hsanku<><><>\n";$list="";
$hcheck=1;last;}
}# foreach

if($hcheck==1){

# ロック開始
&lockgoo;

push(@mk, $hkanryou);

open(MK,">$tamefile") ;
eval 'flock(MK,2);';
seek(MK,0,0); print MK @mk;
eval 'flock(MK,8);';
close(MK);

# ロック終了
&lockend;

}else{&error("そんな繁殖牝馬はいません。");}




}else{# 種牡馬売却

open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

$ocheck=0;
foreach $list (@tk) {# 所有権売却
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$list);
($tane, $otok0) = split(/<mm>/,$tane);
if(($umaname eq $tane)&&($syoyuusya eq $name)&&($opass eq $pass)){

$okanryou="$tane<mm>$otok0<><><>$oyouka<>$otoshi<>$osp<>$osyu<>$ozizoku<>$okon<>$ost<>$oki<>$okenkou<>$okeiro<>$obaku<>$tt<>$th<>$ttt<>$tth<>$tht<>$thh<>$oketou1<>$onokori<>$oseityou<>$sankukane<>$topsaia<>$osanku<>$tsankukane<>$s1<>$s2<>$s3<>$s4<>$sg1<>$sg2<>$sg3<><><><>\n";$list="";
$ocheck=1;last;}
}# foreach

if($ocheck==1){

# ロック開始
&lockgoo;

push(@tk, $okanryou);

open(TK,">$tanefile") ;
eval 'flock(TK,2);';
seek(TK,0,0); print TK @tk;
eval 'flock(TK,8);';
close(TK);



open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

foreach $list (@ba) {
($uname, $upass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$list);

if($uname eq $name){# +種付け料*(100-(年齢*4))
$shikin+=($oyouka*(100-($otoshi*4)));
$hueta="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";$list="";

}
}# foreach

push(@ba, $hueta);

open(BA,">$banushifile") ;
eval 'flock(BA,2);';
seek(BA,0,0); print BA @ba;
eval 'flock(BA,8);';
close(BA);

# ロック終了
&lockend;

}else{&error("そんな種牡馬はいません。");}



}


}#end seisan



##### 産む
sub umu{

$name = $form{'uname'};
$pass = $form{'upass'};
$syuboba = $form{'syuboba'};
$hinba = $form{'hinba'};
if(($name eq "")||($pass eq "")||($syuboba eq "")||($hinba eq "")){&error("?");}


# リモートホスト取得
$host = $ENV{'REMOTE_HOST'} || $ENV{'REMOTE_ADDR'};

open(UM,"$umafile"); # (馬名・馬主)の重複チェック
seek(UM,0,0); @uma = <UM>; close(UM);
open(SM,"$uma2file");
seek(SM,0,0); @uma2 = <SM>; close(SM);
open(XM,"$uma3file");
seek(XM,0,0); @uma3 = <XM>; close(XM);
@uma1="";
push(@uma1, @uma, @uma2, @uma3);


$syoyuu=0;$syoyuu2=0;$twouma=0;
foreach $lines (@uma1){
($o, $o, $n, $p, $h, $dmy, $dmy, $t, $dmy) = split(/<>/,$lines);
if(($n eq $name) &&($p eq $pass)){$syoyuu++;}
if(($n eq $name)&&($p eq $pass)&&($t==2)){$syoyuu2++;}
if($t==2){$twouma++;}
if(($n eq $name)&&($p ne $pass)){&error("名前とパスワードが合致しないよ。");}
}

if($syoyuu>=7){&error("これ以上所有できないよ。");}
if($syoyuu2>=3){&error("2歳馬はこれ以上所有できないよ。");}
if($twouma>=200){&error("2歳馬はこれ以上生産できないよ。");}


open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

foreach $list (@tk) {
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $dmy) = split(/<>/,$list);
($tane, $otok0) = split(/<mm>/,$tane);
if($syuboba eq $tane){
if($onokori<=0){&error("Bookfullになりました。");}
($tt,$otok1)=split(/<mm>/,$tt);
($th,$otok2)=split(/<mm>/,$th);
($ttt,$otok3)=split(/<mm>/,$ttt);
($tth,$otok4)=split(/<mm>/,$tth);
($tht,$otok5)=split(/<mm>/,$tht);
($thh,$otok6)=split(/<mm>/,$thh);last;}
}


open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

foreach $list (@mk) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);

($tame, $htok0) = split(/<mm>/,$tame);
if($tame eq $hinba && $syoyuusya eq $name){
if($hflag==0){&error("既に種付けは完了しています。");}
($ht,$htok1)=split(/<mm>/,$ht);
($hh,$htok2)=split(/<mm>/,$hh);
($htt,$htok3)=split(/<mm>/,$htt);
($hth,$htok4)=split(/<mm>/,$hth);
($hht,$htok5)=split(/<mm>/,$hht);
($hhh,$htok6)=split(/<mm>/,$hhh);last;}
}



# 種付け料など
open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

foreach $list (@tk) {
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$list);
($tane, $otok0) = split(/<mm>/,$tane);

if($syuboba eq $tane){
$onokori--;if($onokori<0){$onokori=0;}# 念の為
$okanryou="$tane<mm>$otok0<>$syoyuusya<>$opass<>$oyouka<>$otoshi<>$osp<>$osyu<>$ozizoku<>$okon<>$ost<>$oki<>$okenkou<>$okeiro<>$obaku<>$tt<>$th<>$ttt<>$tth<>$tht<>$thh<>$oketou1<>$onokori<>$oseityou<>$sankukane<>$topsaia<>$osanku<>$tsankukane<>$s1<>$s2<>$s3<>$s4<>$sg1<>$sg2<>$sg3<><><><>\n";$list="";
($tt,$otok1)=split(/<mm>/,$tt);
($th,$otok2)=split(/<mm>/,$th);
($ttt,$otok3)=split(/<mm>/,$ttt);
($tth,$otok4)=split(/<mm>/,$tth);
($tht,$otok5)=split(/<mm>/,$tht);
($thh,$otok6)=split(/<mm>/,$thh);
push(@tk, $okanryou);

open(TK,">$tanefile") ;
eval 'flock(TK,2);';
seek(TK,0,0); print TK @tk;
eval 'flock(TK,8);';
close(TK);
last;}
}# foreach

if($syoyuusya ne $name){

open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

$huetano=0;$hettano=0;
foreach $list (@ba) {
($uname, $upass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$list);

if($uname eq $syoyuusya){# 種付け料+
$shikin+=$oyouka;
$hueta="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";$list="";
$huetano=1;
}elsif($uname eq $name){# 種付け料−
$shikin-=$oyouka;
if($shikin<0){&error("資金が足りません。");}
$hetta="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";$list="";
$hettano=1;
}
}# foreach


if($huetano==1){push(@ba, $hueta);}
if($hettano==1){push(@ba, $hetta);}

open(BA,">$banushifile") ;
eval 'flock(BA,2);';
seek(BA,0,0); print BA @ba;
eval 'flock(BA,8);';
close(BA);

}


# 禁止インブリード

if($tane eq $ht){&error("禁止インブリード1*2");}
if($tame eq $tt){&error("禁止インブリード1*2");}
if(($tane eq $htt)||($tane eq $hht)){&error("禁止インブリード1*3");}
if(($tame eq $tth)||($tame eq $thh)){&error("禁止インブリード1*3");}
if($tt eq $ht){&error("禁止インブリード2*2");}
if($th eq $hh){&error("禁止インブリード2*2");}
if(($tt eq $ttt)||($tt eq $tht)||($tt eq $htt)||($tt eq $hht)){&error("禁止インブリード2*3");}
if(($ht eq $ttt)||($ht eq $tht)||($ht eq $htt)||($ht eq $hht)){&error("禁止インブリード2*3");}
if(($th eq $tth)||($th eq $thh)||($th eq $hth)||($th eq $hhh)){&error("禁止インブリード2*3");}
if(($hh eq $tth)||($hh eq $thh)||($hh eq $hth)||($hh eq $hhh)){&error("禁止インブリード2*3");}


# ロック開始
&lockgoo;

# SP<>瞬<>持<>根<>ST<>気<>健

if($obaku eq "A"){@syusei=(0.92, 0.95, 1.00, 1.00, 1.03, 1.05, 1.07, 1.07, 1.09, 1.10, 1.00);}
elsif($obaku eq "B"){@syusei=(0.92, 0.92, 0.95, 1.00, 1.00, 1.03, 1.05, 1.07, 1.07, 1.09, 1.00);}
elsif($obaku eq "C"){@syusei=(0.92, 0.92, 0.95, 0.95, 1.00, 1.03, 1.03, 1.05, 1.07, 1.14, 1.00);}
else{@syusei=(0.92, 0.92, 0.92, 0.95, 0.95, 1.00, 1.00, 1.03, 1.05, 1.07, 1.00);}

@syusei2=(0.95, 0.96, 0.97, 0.98, 0.99, 1.00, 1.01, 1.02, 1.03, 1.04, 1.05);
if($hbaku eq "A"){$effect=0.5;}
elsif($hbaku eq "B"){$effect=0.4;}
elsif($hbaku eq "C"){$effect=0.3;}
else{$effect=0.2;}

$i=int(rand(10));$j=int(rand(10)); # SP
$usp = int(($osp*$syusei[$i]*(1-$effect))+($hsp*$syusei2[$j]*$effect)+$effect);

$i=int(rand(10));$j=int(rand(10)); # 瞬
$usyu=int(($osyu*$syusei[$i]*(1-$effect))+($hsyu*$syusei2[$j]*$effect)+$effect);

$i=int(rand(10));$j=int(rand(10)); # 持
$uzizoku=int(($ozizoku*$syusei[$i]*(1-$effect))+($hzizoku*$syusei2[$j]*$effect)+$effect);

$i=int(rand(10));$j=int(rand(10)); # 根
$ukon=int(($okon*$syusei[$i]*(1-$effect))+($hkon*$syusei2[$j]*$effect)+$effect);

$i=int(rand(10));$j=int(rand(10)); # ST
$ust = int(($ost*$syusei[$i]*(1-$effect))+($hst*$syusei2[$j]*$effect)+$effect);

$i=int(rand(10));$j=int(rand(10)); # 気
$uki = int(($oki*$syusei[$i]*(1-$effect))+($hki*$syusei2[$j]*$effect)+$effect);

$i=int(rand(10));$j=int(rand(10)); # 健
$ukenkou=int(($okenkou*$syusei[$i]*(1-$effect))+($hkenkou*$syusei2[$j]*$effect)+$effect);


if($otoshi==$osuintai){
if(rand(100)<30){$usp+=2;$usyu+=2;$uzizoku+=2;$ukon+=2;$ukenkou+=2;}
}
# インブリード3*3
$inbu=0;
if(($ttt eq $tht)||($ttt eq $htt)||($ttt eq $hht)){$uki-=3;$ukenkou-=3;if($otok3 ne ""){$inbu++;$tokusyu=$otok3;&tokup;}}
if(($tht eq $htt)||($tht eq $hht)){$uki-=3;$ukenkou-=3;if($otok5 ne ""){$inbu++;$tokusyu=$otok5;&tokup;}}
if($htt eq $hht){$uki-=3;$ukenkou-=3;if($htok3 ne ""){$inbu++;$tokusyu=$htok3;&tokup;}}

if(($tth eq $thh)||($tth eq $hth)||($tth eq $hhh)){$uki-=2;$ukenkou-=2;if($otok4 ne ""){$inbu++;$tokusyu=$otok4;&tokup;}}
if(($thh eq $hth)||($thh eq $hhh)){$uki-=2;$ukenkou-=2;if($otok6 ne ""){$inbu++;$tokusyu=$otok6;&tokup;}}
if($hth eq $hhh){$uki-=2;$ukenkou-=2;if($htok4 ne ""){$inbu++;$tokusyu=$htok4;&tokup;}}


if($inbu>0){
for($i=0; $i<$inbu; $i++){
if(rand(100)<30){$uzizoku+=4;}else{$uzizoku-=4;$ukenkou-=2;$usyu-=2;}
}
}else{$uki+=4;$ukenkou+=4;}# アウトブリード


# ニックス
@spo = ('エルバジェ','エルバジェ','グレイソヴリン','ダンテ','ダンテ','テディ','ニジンスキー','ニジンスキー','ニジンスキー','ニジンスキー','ネイティヴダンサー','ネヴァーベンド','ノーザンダンサー','ノーザンダンサー','ノーザンダンサー','ハイペリオン','パーソロン');
@spm = ('グレイソヴリン','ボワルセル','ノーザンダンサー','ノーザンダンサー','プリンスリーギフト','ノーザンダンサー','ネヴァーベンド','ヘイルトゥリーズン','レイズアネイティヴ','レッドゴッド','ノーザンダンサー','パーソロン','ハイペリオン','ヘイルトゥリーズン','リボー','ボールドルーラー','ボワルセル');

$nik1 = 0;$nik2 = 0;$nik3 = 0;
for ($k=0; $k<17; $k++){
if($spo[$k] eq $oketou1 && $spm[$k] eq $hketou1){$nik1=1;last;}
if($spm[$k] eq $oketou1 && $spo[$k] eq $hketou1){$nik1=1;last;}
}
for ($k=0; $k<17; $k++){
if($spo[$k] eq $oketou1 && $spm[$k] eq $hketou2){$nik2=1;last;}
if($spm[$k] eq $oketou1 && $spo[$k] eq $hketou2){$nik2=1;last;}
}
for ($k=0; $k<17; $k++){
if($spo[$k] eq $oketou1 && $spm[$k] eq $hketou3){$nik3=1;last;}
if($spm[$k] eq $oketou1 && $spo[$k] eq $hketou3){$nik3=1;last;}
}
if($nik1 == 1 && $nik2 == 1 && $nik3 == 1){$usp+=6;$usyu+=6;$uzizoku+=6;$ukon+=6;$ukenkou+=6;}
elsif($nik1 == 1 && $nik2 == 1){$usp+=4;$usyu+=4;$uzizoku+=4;$ukon+=4;$ukenkou+=4;}
elsif($nik1 == 1){$usp+=3;$usyu+=3;$uzizoku+=3;$ukon+=3;$ukenkou+=3;}


if($oketou1 eq $hketou1){$usp-=2;$usyu-=2;$uzizoku-=2;}# 同系配合

# 毛色
# 鹿毛 黒鹿毛 栃栗毛 栗毛 尾花栗毛 青鹿毛 青毛 芦毛(濃) 芦毛(薄) 白毛
# 1 2 3 4 5 6 7 8 9 10
$q = rand(100);
if(int(rand(10000))==7777){$b = "uma10.gif";}# 突然変異
elsif($okeiro eq "uma10.gif" && $hkeiro eq "uma10.gif"){ #両方が白毛
if($q > 80){$b = "uma10.gif";}
elsif($q > 50){$b = "uma9.gif";}
elsif($q > 40){$b = "uma8.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma10.gif" || $hkeiro eq "uma10.gif"){ #片方が白毛
if($q > 85){$b = "uma10.gif";}
elsif($q > 70){$b = "uma9.gif";}
elsif($q > 50){$b = "uma8.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma9.gif" && $hkeiro eq "uma9.gif"){ #両方が芦毛(薄)
if($q > 70){$b = "uma9.gif";}
elsif($q > 50){$b = "uma8.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma9.gif" || $hkeiro eq "uma9.gif"){ #片方が芦毛(薄)
if($q > 80){$b = "uma9.gif";}
elsif($q > 60){$b = "uma8.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma8.gif" && $hkeiro eq "uma8.gif"){ #両方が芦毛(濃)
if($q > 75){$b = "uma9.gif";}
elsif($q > 55){$b = "uma8.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma8.gif" || $hkeiro eq "uma8.gif"){ #片方が芦毛(濃)
if($q > 85){$b = "uma9.gif";}
elsif($q > 65){$b = "uma8.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma7.gif" && $hkeiro eq "uma7.gif"){ #両方が青毛
if($q > 95){$b = "uma9.gif";}
elsif($q > 90){$b = "uma8.gif";}
elsif($q > 70){$b = "uma7.gif";}
elsif($q > 50){$b = "uma6.gif";}
elsif($q > 40){$b = "uma2.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma7.gif" || $hkeiro eq "uma7.gif"){ #片方が青毛
if($q > 97){$b = "uma9.gif";}
elsif($q > 94){$b = "uma8.gif";}
elsif($q > 75){$b = "uma7.gif";}
elsif($q > 56){$b = "uma6.gif";}
elsif($q > 47){$b = "uma2.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma6.gif" && $hkeiro eq "uma6.gif"){ #両方が青鹿毛
if($q > 97){$b = "uma8.gif";}
elsif($q > 80){$b = "uma7.gif";}
elsif($q > 70){$b = "uma6.gif";}
elsif($q > 60){$b = "uma2.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma6.gif" || $hkeiro eq "uma6.gif"){ #片方が青鹿毛
if($q > 98){$b = "uma8.gif";}
elsif($q > 85){$b = "uma7.gif";}
elsif($q > 75){$b = "uma6.gif";}
elsif($q > 65){$b = "uma2.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma5.gif" && $hkeiro eq "uma5.gif"){ #両方が尾花栗毛
if($q > 90){$b = "uma5.gif";}
elsif($q > 60){$b = "uma4.gif";}
elsif($q > 50){$b = "uma3.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma5.gif" || $hkeiro eq "uma5.gif"){ #片方が尾花栗毛
if($q > 95){$b = "uma5.gif";}
elsif($q > 70){$b = "uma4.gif";}
elsif($q > 60){$b = "uma3.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma4.gif" && $hkeiro eq "uma4.gif"){ #両方が栗毛
if($q > 97){$b = "uma5.gif";}
elsif($q > 65){$b = "uma4.gif";}
elsif($q > 55){$b = "uma3.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma4.gif" || $hkeiro eq "uma4.gif"){ #片方が栗毛
if($q > 98){$b = "uma5.gif";}
elsif($q > 70){$b = "uma4.gif";}
elsif($q > 60){$b = "uma3.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma3.gif" && $hkeiro eq "uma3.gif"){ #両方が栃栗毛
if($q > 98){$b = "uma5.gif";}
elsif($q > 65){$b = "uma4.gif";}
elsif($q > 55){$b = "uma3.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma3.gif" || $hkeiro eq "uma3.gif"){ #片方が栃栗毛
if($q > 99){$b = "uma5.gif";}
elsif($q > 70){$b = "uma4.gif";}
elsif($q > 60){$b = "uma3.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma2.gif" && $hkeiro eq "uma2.gif"){ #両方が黒鹿毛
if($q > 95){$b = "uma8.gif";}
elsif($q > 90){$b = "uma7.gif";}
elsif($q > 80){$b = "uma6.gif";}
elsif($q > 50){$b = "uma2.gif";}
else{$b = "uma1.gif";}
}
elsif($okeiro eq "uma2.gif" || $hkeiro eq "uma2.gif"){ #片方が黒鹿毛
if($q > 96){$b = "uma8.gif";}
elsif($q > 95){$b = "uma7.gif";}
elsif($q > 85){$b = "uma6.gif";}
elsif($q > 60){$b = "uma2.gif";}
else{$b = "uma1.gif";}
}
else{ #両方が鹿毛
if($q > 95){$b = "uma8.gif";}
elsif($q > 90){$b = "uma7.gif";}
elsif($q > 85){$b = "uma6.gif";}
elsif($q > 80){$b = "uma4.gif";}
elsif($q > 75){$b = "uma3.gif";}
elsif($q > 60){$b = "uma2.gif";}
else{$b = "uma1.gif";}
}

$keicon = $b;


# 性別
if(rand(10)<5){$sei="牡";}else{$sei="牝";$usp-=5;$uzizoku-=5;$uki-=10;$ukon-=10;$ukenkou-=10;}


# 成長型
if($oseityou eq "早熟") {$s1="早熟";$s2="普通早";$s3="普通遅";$s4="晩成";}
elsif($oseityou eq "普通早"){$s2="早熟";$s1="普通早";$s3="普通遅";$s4="晩成";}
elsif($oseityou eq "普通遅"){$s4="早熟";$s2="普通早";$s1="普通遅";$s3="晩成";}
else{$s4="早熟";$s3="普通早";$s2="普通遅";$s1="晩成";}

$seikata=int(rand(100));
if($seikata > 95){$seikata ="$s4";}# 5%
elsif($seikata > 85){$seikata ="$s3";}# 10%
elsif($seikata > 65){$seikata ="$s2";}# 20%
else{$seikata ="$s1";}# 65%


if($seikata eq "早熟"){$usp-=5;$usyu-=5;$uzizoku-=5;}
elsif($seikata eq "普通早"){$usp-=10;$usyu-=10;$uzizoku-=10;}
elsif($seikata eq "普通遅"){$usp-=15;$usyu-=15;$uzizoku-=15;}
else{$usp-=20;$usyu-=20;$uzizoku-=20;}
$uki-=20;$ukon-=10;$ust-=10;$ukenkou-=10;


# 馬特性(1〜5)
# 坂○ 休み空け○ 左○ H○ S○
# 坂× 休み空け× 左× H× S×

if(int(rand(100))==77){$ut1="5";}
elsif(int(rand(100))== 7){$ut1="4";}
elsif(int(rand(100))==42){$ut1="1";}
elsif(int(rand(100))== 4){$ut1="2";}
else{$ut1="3";}

if(int(rand(100))==77){$ut2="5";}
elsif(int(rand(100))== 7){$ut2="4";}
elsif(int(rand(100))==42){$ut2="1";}
elsif(int(rand(100))== 4){$ut2="2";}
else{$ut2="3";}

if(int(rand(100))==77){$ut3="5";}
elsif(int(rand(100))== 7){$ut3="4";}
elsif(int(rand(100))==42){$ut3="1";}
elsif(int(rand(100))== 4){$ut3="2";}
else{$ut3="3";}

if(int(rand(100))==77){$ut4="5";}
elsif(int(rand(100))== 7){$ut4="4";}
elsif(int(rand(100))==42){$ut4="1";}
elsif(int(rand(100))== 4){$ut4="2";}
else{$ut4="3";}

if(int(rand(100))==77){$ut5="5";}
elsif(int(rand(100))== 7){$ut5="4";}
elsif(int(rand(100))==42){$ut5="1";}
elsif(int(rand(100))== 4){$ut5="2";}
else{$ut5="3";}

$umatoku="$ut1$ut2$ut3$ut4$ut5";

$shinkiuma="0<>名無し<>$name<>$pass<>$host<>$keicon<>$sei<>2<>3<>$seikata<>0<>0<>0<>0<>0<>0<>0<><><><>0<>0<>0<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$tane<mm>$otok0<>$tame<mm>$htok0<>長期放牧<r>-<r>-<r>-<r>-<r>-<rr>-<r>-<r>-<r>-<r>-<r>-<rr>-<r>-<r>-<r>-<r>-<r>-<rr>-<r>-<r>-<r>-<r>-<r>-<rr>-<r>-<r>-<r>-<r>-<r>-<rr><>$tt<mm>$otok1<>$th<mm>$otok2<>$ht<mm>$htok1<>$hh<mm>$htok2<>$name<>$oketou1<>$hketou1<>$hketou2<><><><>$umatoku<>\n";

push(@uma, $shinkiuma);

open(UM,">$umafile") ;
eval 'flock(UM,2);';
seek(UM,0,0); print UM @uma;
eval 'flock(UM,8);';
close(UM);


# クッキーを発行
&set_cookie;



open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

foreach $list (@mk) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);

($tame, $htok0) = split(/<mm>/,$tame);

if($tame eq $hinba){# 種付けは1年に1回
$hkanryou="$tame<mm>$htok0<>$syoyuusya<>$hpass<>$hyouka<>$htoshi<>$hsp<>$hsyu<>$hzizoku<>$hkon<>$hst<>$hki<>$hkenkou<>$hkeiro<>$hbaku<>$ht<>$hh<>$htt<>$hth<>$hht<>$hhh<>$hketou1<>$hketou2<>$hketou3<>0<><><><>\n";$list="";

push(@mk, $hkanryou);

open(MK,">$tamefile") ;
eval 'flock(MK,2);';
seek(MK,0,0); print MK @mk;
eval 'flock(MK,8);';
close(MK);

last;}
}#foreach


# ロック終了
&lockend;


}#end umu



# 2歳馬を購入
sub seribuy{

$name = $form{'lname'};
$pass = $form{'lpass'};
$seriuma = $form{'seriget'};
$newname = $form{'newname'};
$newname =~ s/ / /g;
if((length($newname) < 4)||(length($newname) > 16)){&error("名前の長さが不適切です。");}

# ロック開始
&lockgoo;

open(SE,"$serifile");
seek(SE,0,0); @se = <SE>; close(SE);

$scheck=0;
foreach $list (@se) {# 買った馬を消す
($dmy, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$list);
if($seriuma eq $uname){
$getuma="0<>$newname<>$name<>$pass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$kinsou5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<><><><>$umatoku<>\n";
$list="";$scheck=1;last;}
}

if($scheck==1){
open(UM,"$umafile");
seek(UM,0,0); @uma = <UM>; close(UM);

$syoyuu=0;$syoyuu2=0;$twouma=0;
foreach $lines (@uma){
($o, $o, $n, $p, $h, $dmy, $dmy, $t, $dmy) = split(/<>/,$lines);
if(($n eq $name)&&($p eq $pass)){$syoyuu++;}
if(($n eq $name)&&($p eq $pass)&&($t==2)){$syoyuu2++;}
if($t==2){$twouma++;}
if(($n eq $name)&&($p ne $pass)){&error("名前とパスワードが合致しないよ。");}
}

if($syoyuu>=7){&error("これ以上所有できないよ。");}
if($syoyuu2>=3){&error("2歳馬はこれ以上所有できないよ。");}
if($twouma>=200){&error("2歳馬はこれ以上生産できないよ。");}

push(@uma, $getuma);

if($syoyuusya ne $name){

open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

foreach $list (@ba) {
($uname, $upass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$list);

if($uname eq $syoyuusya){# 金+
$shikin+=($usp+$usyu+$uzizoku+$ukon+$ust+$uki+$ukenkou-280)*30;
$hueta="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";$list="";

}elsif($uname eq $name){# 金−
$shikin-=($usp+$usyu+$uzizoku+$ukon+$ust+$uki+$ukenkou-280)*30;
if($shikin<0){&error("資金が足りません。");}
$hetta="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";$list="";

}
}# foreach

push(@ba, $hueta, $hetta);

open(BA,">$banushifile") ;
eval 'flock(BA,2);';
seek(BA,0,0); print BA @ba;
eval 'flock(BA,8);';
close(BA);
}

open(SE,">$serifile") ;
eval 'flock(SE,2);';
seek(SE,0,0); print SE @se;
eval 'flock(SE,8);';
close(SE);


open(UM,">$umafile") ;
eval 'flock(UM,2);';
seek(UM,0,0); print UM @uma;
eval 'flock(UM,8);';
close(UM);

# ロック終了
&lockend;

}else{&error("売り切れました。");}

}#end seribuy



# 繁殖牝馬を購入
sub hseribuy{

$name = $form{'lname'};
$pass = $form{'lpass'};
$hseriuma = $form{'hseriget'};

open(MK,"$tamefile");
seek(MK,0,0); @mk = <MK>; close(MK);

$hsuu=0;$itaka=0;
foreach $list (@mk) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);
if(($syoyuusya eq $name)&&($hpass eq $pass)){$hsuu++;}
($tame, $htok0) = split(/<mm>/,$tame);
if(($hseriuma eq $tame)&&($hpass eq "")){$itaka=1;}
}# foreach
if($hsuu>=5){&error("繁殖牝馬はこれ以上所有できません。");}
if($itaka==0){&error("売り切れました。");}

# ロック開始
&lockgoo;

$hcheck=0;
foreach $list (@mk) {
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dmy) = split(/<>/,$list);
($tame, $htok0) = split(/<mm>/,$tame);
if($hseriuma eq $tame){
$hkanryou="$tame<mm>$htok0<>$name<>$pass<>$hyouka<>$htoshi<>$hsp<>$hsyu<>$hzizoku<>$hkon<>$hst<>$hki<>$hkenkou<>$hkeiro<>$hbaku<>$ht<>$hh<>$htt<>$hth<>$hht<>$hhh<>$hketou1<>$hketou2<>$hketou3<>1<>$hsanku<><><>\n";$list="";
$hcheck=1;last;}
}# foreach



if($hcheck==1){

push(@mk, $hkanryou);


if($syoyuusya ne $name){

open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

foreach $list (@ba) {
($uname, $upass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$list);

if($uname eq $syoyuusya){# 金+
$shikin+=$hyouka;
$hueta="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";$list="";

}elsif($uname eq $name){# 金−
$shikin-=$hyouka;
if($shikin<0){&error("資金が足りません。");}
$hetta="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";$list="";

}
}# foreach

push(@ba, $hueta, $hetta);

open(BA,">$banushifile") ;
eval 'flock(BA,2);';
seek(BA,0,0); print BA @ba;
eval 'flock(BA,8);';
close(BA);

open(MK,">$tamefile") ;
eval 'flock(MK,2);';
seek(MK,0,0); print MK @mk;
eval 'flock(MK,8);';
close(MK);
}

# ロック終了
&lockend;

}else{&error("売り切れました。");}

}#end hseribuy



sub tokup{

if($tokusyu eq "sp2") {$usp += 4;}
elsif($tokusyu eq "sp1") {$usp += 2;}
elsif($tokusyu eq "syu2"){$usyu += 4;}
elsif($tokusyu eq "syu1"){$usyu += 2;}
elsif($tokusyu eq "kis2"){$uki += 4;}
elsif($tokusyu eq "kis1"){$uki += 2;}
elsif($tokusyu eq "st2") {$ust += 4;}
elsif($tokusyu eq "st1") {$ust += 2;}
elsif($tokusyu eq "kon2"){$ukon += 4;}
elsif($tokusyu eq "kon1"){$ukon += 2;}

}#end tokup













【horse3_else.cgi】

#!/usr/bin/perl

#----------------------------------------------------------------------
# 制作者 : ゴードン
# E-MAIL : zaza99jp@yahoo.co.jp
# URL : http://godon.s53.xrea.com//
#
# 使用前にまず利用規定を読んでください
# http://godon.s53.xrea.com/kiyaku.html
# [このスクリプトを使用して起きたいかなる損害にも責任は負いません。]
#----------------------------------------------------------------------
$| = 1;
require './jcode.pl';
require './horse3.cgi';&kankyou;


##### 放牧
sub houboku{

$h = $form{'umaname'}; # 馬
($houname, $toshi) = split(/:/,$h);
if($toshi == 2){$loggfile = "$umafile";}
elsif($toshi == 3){$loggfile = "$uma2file";}
else{$loggfile = "$uma3file";}

$formname = $form{'lname'}; # 人
$formpass = $form{'lpass'}; # pass
$formrss = $form{'rs'}; # コマンド
if($formrss ne "13" && $formrss ne "14"){&error("放牧系コマンドではありません。");}
if($houname eq ""){&error("馬が選択されていません。");}
if($houname =~ m/放牧/){&error("現在放牧中です。");}
if($houname eq "登録済み"){&error("現在登録済みです。");}


open(LO,"$loggfile");
seek(LO,0,0); @login = <LO>; close(LO);

$houita=0;
foreach $check (@login){
@check = split(/<>/,$check);
if($houname eq $check[1] && $formname eq $check[2]){$houuma = "$check";$check = "";$houita=1;last;}
}

if($houita==1){
($no, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$houuma);
if($no==2 || $no==3){&error("現在放牧中です。");}

# ロック開始
&lockgoo;

@mae5="";
if($formrss eq "14"){$noshiru=3;$utyoushi+=4;
@mae5="長期放牧<r>-<r>-<r>-<r>-<r>-<rr>";}
elsif($formrss eq "13"){$noshiru=2;$utyoushi+=2;
@mae5="短期放牧<r>-<r>-<r>-<r>-<r>-<rr>";}
if($utyoushi>=3){$utyoushi=3;}


@kinsou = split(/<rr>/,$kinsou5);# 近5走
for($n=0; $n<4; $n++){
@mae = split(/<r>/,$kinsou[$n]);
@mae5="@mae5$mae[0]<r>$mae[1]<r>$mae[2]<r>$mae[3]<r>$mae[4]<r>$mae[5]<rr>";
}

$times =time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($times);
$houuma = "$noshiru<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>@mae5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<>$times<><><>$umatoku<>\n";

push(@login, $houuma);

open(LO,">$loggfile") ;
eval 'flock(LO,2);';
seek(LO,0,0); print LO @login;
eval 'flock(LO,8);';
close(LO);
}else{&error("そんな競走馬はいません。");}

# ロック終了
&lockend;




}#end houboku



##### 登録
sub touroku{

open(ST,"$timefile");
seek(ST,0,0); @stp = <ST>; close(ST);
($tuki, $syuu, $raceno, $hi, $zikan, $nendo) = split(/<>/, $stp[0]);

$u = $form{'umaname'}; # 馬
($nowname, $nowtoshi) = split(/:/,$u);
if($nowtoshi == 2){$loggfile = "$umafile";}
elsif($nowtoshi == 3){$loggfile = "$uma2file";}
else{$loggfile = "$uma3file";}
$formname = $form{'lname'}; # 人
$formpass = $form{'lpass'}; # pass
$formsakusens = $form{'sakusens'}; # 作戦
$formsyus = $form{'syus'}; # 騎手
$formrss = $form{'rs'}; # コマンド

if($nowname =~ m/放牧/){&error("現在放牧中です。");}
if($nowname eq "登録済み"){&error("現在登録済みです。");}
if($formrss>=13){&error("登録系コマンドではありません。");}
if($nowname eq ""){&error("馬が選択されていません。");}
if($tuki == 12 && $syuu == 4){&error("登録は年が変わってからにして下さい。");}

@list = ('race', $formrss,'file');
$file = join( "" , @list);
$file = "${$file}";

open(LO,"$loggfile");
seek(LO,0,0); @login = <LO>; close(LO);

$iruka=0;
foreach $check (@login){
@check = split(/<>/,$check);
if($nowname eq $check[1] && $formname eq $check[2] && $formpass eq $check[3] && $check[0] eq "1"){&error("既に登録してあります。");}
elsif($nowname eq $check[1] && $formname eq $check[2] && $formpass eq $check[3] && $check[0] eq "2" && $times < ($check[41] + 60 * 60 * 24 * 2.5)){&error("放牧中です。");}
elsif($nowname eq $check[1] && $formname eq $check[2] && $formpass eq $check[3] && $check[0] eq "3" && $times < ($check[41] + 60 * 60 * 24 * 5)){&error("放牧中です。");}
elsif($nowname eq $check[1] && $formname eq $check[2] && $formpass eq $check[3]){$tourokuuma="$check";$check="";$iruka=1;last;}
}
if($iruka==0){&error("そんな競走馬はいません。");}

($no, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$tourokuuma);

open(KK,"$kisyufile");
seek(KK,0,0); @kk = <KK>; close(KK);

$iruki=0;
foreach $check (@kk){
@check = split(/<>/,$check);
if($formsyus eq $check[4]){
$e1=int($check[24]+ rand(1));
$e2=int($check[25]+ rand(1));
$e3=int($check[26]+ rand(1));
$e4=int($check[27]+ rand(1));
$kisyutoku = "$check[28]$e1$e2$e3$e4";$iruki=1;last;}
}
if($iruki==0){&error("そんな騎手はいません。");}

$tourokuuma = "1<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$kinsou5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<>$formsyus<>$formsakusens<>$kisyutoku<>$umatoku<>\n";



$saikin = $ukyonen+$ukotoshi;
#2…2歳限定、3…3歳限定、4…古馬限定、34…3歳以上
open(RR,"$file");
seek(RR,0,0); @files = <RR>; close(RR);
@checks = split(/<r>/,$files[0]);
if($checks[1] eq "海外" && $ug1 == 0){&error("海外GTに出走するには国内GTを勝たなければ出走出来ません。");}
if($checks[5] == 1){&error("登録は既に締め切りました。");}
elsif($checks[5] == 2){&error("レースは既に終了しました。");}
if(($checks[4] eq "新馬") && (($u1i+$u2i+$u3i+$u4i)>0)){&error("クラスが違います。");}
if($checks[4] eq "未勝利" && $u1i>0){&error("クラスが違います。");}
if($checks[4] ne "未勝利" && $checks[4] ne "新馬" && $u1i==0){&error("クラスが違います。");}
if($utoshi == 2 && $checks[2] ne "2"){&error("2歳馬は登録できません。");}
if($utoshi == 3 && ($checks[2] eq "2" || $checks[2] eq "4")){&error("3歳馬は登録できません。");}
if($utoshi >= 4 && ($checks[2] eq "2" || $checks[2] eq "3")){&error("古馬は登録できません。");}
if($usei eq "牡" && $checks[6] eq "牝"){&error("牝馬限定です。");}
elsif($usei eq "牝" && $checks[6] eq "牡"){&error("牡馬限定です。");}
if($checks[2] eq "3" && $checks[4] eq "GT" && ($saikin < 1600)){&error("出走するには獲得賞金が足りません。");}
elsif(($checks[2] eq "4" || $checks[2] eq "34") && $checks[4] eq "GT" && ($saikin < 4000)){&error("出走するには獲得賞金が足りません。");}
elsif(($checks[2] eq "4" || $checks[2] eq "34") && $checks[4] eq "GU" && ($saikin < 3000)){&error("出走するには獲得賞金が足りません。");}
elsif(($checks[2] eq "4" || $checks[2] eq "34") && $checks[4] eq "GV" && ($saikin < 2000)){&error("出走するには獲得賞金が足りません。");}

foreach $check (@files){
@check = split(/<>/,$check);
if($formname eq $check[2] && $checks[4] ne "GT"){&error("1レースに登録できるのは1人1頭までです。");}
if($formsyus eq $check[41]){&error("$formsyus騎手は$check[1]に騎乗する事が決まっています。");}
}

# ロック開始
&lockgoo;

$flag=0;
if($checks[4] eq "GT"){
foreach $check (@files){
@check = split(/<>/,$check);
if($saikin > ($check[21]+$check[22]) && ($check[21] ne "")){$check = "$tourokuuma$check";$flag=2;last;}
}
}# GT
if($flag ne "2"){push(@files,$tourokuuma);}

open(RR,">$file");
eval 'flock(RR,2);';
seek(RR,0,0); print RR @files;
eval 'flock(RR,8);';
close(RR);
push(@login, $tourokuuma);
open(LO,">$loggfile") ;
eval 'flock(LO,2);';
seek(LO,0,0); print LO @login;
eval 'flock(LO,8);';
close(LO);

# GT除外
open(RR,"$file");
seek(RR,0,0); @files = <RR>; close(RR);
@checkg = split(/<r>/,$files[0]);
if($#files >= 11 || ($#files >= 6 && $checkg[1] eq "海外")){
if($checkg[1] eq "海外"){$jg=6;}else{$jg=11;}
@chec = split(/<>/,$files[$jg]);
if($chec[7] == 2){$logggfile = "$umafile";}
elsif($chec[7] == 3){$logggfile = "$uma2file";}
else{$logggfile = "$uma3file";}

open(LO,"$logggfile");
seek(LO,0,0); @login = <LO>; close(LO);

foreach $check (@login){
@check = split(/<>/,$check);
if($chec[1] eq $check[1] && $chec[2] eq $check[2]){$jyogaiuma = "$check";$check="";last;}
}

($no, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$jyogaiuma);

$jyogaiuma = "0<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$kinsou5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<><><><>$umatoku<>\n";
push(@login, $jyogaiuma);
$files[$jg]="";
open(LO,">$logggfile") ;
eval 'flock(LO,2);';
seek(LO,0,0); print LO @login;
eval 'flock(LO,8);';
close(LO);

}# end GT除外

@checks = split(/<r>/,$files[0]);
if($#files >= 10 && $checks[4] ne "GT"){# 締め切り
$files[0] = "$checks[0]<r>$checks[1]<r>$checks[2]<r>$checks[3]<r>$checks[4]<r>1<r>$checks[6]<r>$checks[7]<r>$checks[8]<r>$checks[9]<r>$checks[10]<r>$checks[11]<r>\n";
}
open(RR,">$file");
eval 'flock(RR,2);';
seek(RR,0,0); print RR @files;
eval 'flock(RR,8);';
close(RR);


# ロック終了
&lockend;



}#end touroku



##### 引退
sub intai{

$u = $form{'umaname'}; # 馬
($nowname, $nowtoshi) = split(/:/,$u);
if($nowtoshi == 2){$loggfile = "$umafile";}
elsif($nowtoshi == 3){$loggfile = "$uma2file";}
else{$loggfile = "$uma3file";}
$formname = $form{'lname'}; # 人
$formpass = $form{'lpass'}; # pass
$formrss = $form{'rs'}; # コマンド

if($nowname =~ m/放牧/){&error("現在放牧中です。");}
if($nowname eq "登録済み"){&error("現在登録済みです。");}
if($formrss ne "15"){&error("引退系コマンドではありません。");}
if($nowname eq ""){&error("馬が選択されていません。");}


open(LO,"$loggfile");
seek(LO,0,0); @login = <LO>; close(LO);

$intf=0;
foreach $check (@login){# 消す
@check = split(/<>/,$check);
if($nowname eq $check[1] && $formname eq $check[2] && $utoshi<=4 && ($check[10]+$check[11]+$check[12]+$check[13]) < 1){&error("1回は走らせてからにして下さい。");}
elsif($nowname eq $check[1] && $formname eq $check[2]){$intuma = "$check";$check="";$intf=1;last;}
}
if($intf==0){&error("そんな競走馬いません。");}


# ロック開始
&lockgoo;

open(LO,">$loggfile") ;
eval 'flock(LO,2);';
seek(LO,0,0); print LO @login;
eval 'flock(LO,8);';
close(LO);

($no, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $ashi, $dmy) = split(/<>/,$intuma); # 引退する馬データ

$ust+=int(rand(5))-int(rand(5));
# 種牡馬・繁殖牝馬

if($usei eq "牝" && $u1i>=2){

open(RM,"$tamefile");
seek(RM,0,0); @hansyo = <RM>; close(RM);

$iru=0;
foreach $lines (@hansyo) {
($tame, $hsyoyuu, $hpass, $dmy) = split(/<>/,$lines);

if($hsyoyuu eq $syoyuusya && $hpass eq $upass){$iru++;}

}#foreach

# 評価額・影響力・繁殖能力・因子
$kingaku=1000+$ug1*2000+$ug2*1000+$ug3*500+$u1i*300+$u2i*200+$u3i*100;
$bak = rand(7);
if($bak >= 6){$bakuh = "A";}
elsif($bak >= 4){$bakuh = "B";}
elsif($bak >= 2){$bakuh = "C";}
else{$bakuh = "D";}

@hnou=($usp, $usyu, $uzizoku, $ukon, $uki, $ukenkou);
for($n=0; $n<6; $n++){
@hnou[$n]=int(60+(((@hnou[$n]-40)*2)/10));
}

if($usp>=75){$inshi="sp2";}
elsif($usp>=70){$inshi="sp1";}
elsif($usyu>=80){$inshi="syu2";}
elsif($usyu>=75){$inshi="syu1";}
elsif($uki>=75){$inshi="kis2";}
elsif($uki>=70){$inshi="kis1";}
elsif($ust>=80){$inshi="st2";}
elsif($ust>=75){$inshi="st1";}
elsif($ukon>=75){$inshi="kon2";}
elsif($ukon>=70){$inshi="kon1";}
else{$inshi="";}

if($iru>=5){# これ以上所有できない場合
$hansyouma="$uname<mm>$inshi<>$syoyuusya<><>$kingaku<>$utoshi<>@hnou[0]<>@hnou[1]<>@hnou[2]<>@hnou[3]<>$ust<>@hnou[4]<>@hnou[5]<>$ukeicon<>$bakuh<>$utt<>$uhh<>$utt2<>$uth2<>$uht2<>$uhh2<>$uketou1<>$uketou2<>$uketou3<>1<><><><>\n";
}else{
$hansyouma="$uname<mm>$inshi<>$syoyuusya<>$upass<>$kingaku<>$utoshi<>@hnou[0]<>@hnou[1]<>@hnou[2]<>@hnou[3]<>$ust<>@hnou[4]<>@hnou[5]<>$ukeicon<>$bakuh<>$utt<>$uhh<>$utt2<>$uth2<>$uht2<>$uhh2<>$uketou1<>$uketou2<>$uketou3<>1<><><><>\n";
}

push(@hansyo,$hansyouma);

open(RM,">$tamefile") ;
eval 'flock(RM,2);';
seek(RM,0,0); print RM @hansyo;
eval 'flock(RM,8);';
close(RM);


}elsif($usei eq "牡" && ($ug1+$ug2+$ug3)>=1){

open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

$iru=0;
foreach $check (@tk){
($tane, $osyoyuu, $opass, $dmy) = split(/<>/,$check);

if($osyoyuu eq $syoyuusya && $opass eq $upass){$iru++;}

}#foreach

# 種付け料・爆発力・繁殖能力・因子
$kingaku=50+$ug1*100+$ug2*50+$ug3*30;
$bak = rand(7);
if($bak >= 6){$bakuo = "A";}
elsif($bak >= 4){$bakuo = "B";}
elsif($bak >= 2){$bakuo = "C";}
else{$bakuo = "D";}

@hnou=($usp, $usyu, $uzizoku, $ukon, $uki, $ukenkou);
for($n=0; $n<6; $n++){
@hnou[$n]=int(60+(((@hnou[$n]-35)*2)/10));
}

if($usp>=80){$inshi="sp2";}
elsif($usp>=75){$inshi="sp1";}
elsif($usyu>=80){$inshi="syu2";}
elsif($usyu>=75){$inshi="syu1";}
elsif($uki>=80){$inshi="kis2";}
elsif($uki>=75){$inshi="kis1";}
elsif($ust>=80){$inshi="st2";}
elsif($ust>=75){$inshi="st1";}
elsif($ukon>=80){$inshi="kon2";}
elsif($ukon>=75){$inshi="kon1";}
else{$inshi="";}

if($iru>=5){# これ以上所有できない場合
$syuuma="$uname<mm>$inshi<>$syoyuusya<><>$kingaku<>$utoshi<>@hnou[0]<>@hnou[1]<>@hnou[2]<>@hnou[3]<>$ust<>@hnou[4]<>@hnou[5]<>$ukeicon<>$bakuo<>$utt<>$uhh<>$utt2<>$uth2<>$uht2<>$uhh2<>$uketou1<>20<>$useikata<>0<>0<><>0<>0<>0<>0<>0<>0<>0<>0<><><><>\n";
}else{
$syuuma="$uname<mm>$inshi<>$syoyuusya<>$upass<>$kingaku<>$utoshi<>@hnou[0]<>@hnou[1]<>@hnou[2]<>@hnou[3]<>$ust<>@hnou[4]<>@hnou[5]<>$ukeicon<>$bakuo<>$utt<>$uhh<>$utt2<>$uth2<>$uht2<>$uhh2<>$uketou1<>20<>$useikata<>0<>0<><>0<>0<>0<>0<>0<>0<>0<>0<><><><>\n";
}

push(@tk, $syuuma);

open(TK,">$tanefile") ;
eval 'flock(TK,2);';
seek(TK,0,0); print TK @tk;
eval 'flock(TK,8);';
close(TK);

}


# 殿堂入り

if($ug1>=3){

open(DD,"$dumafile");
seek(DD,0,0); @dend = <DD>; close(DD);

$kati = "$ukatig1";

# 称号

if($ug1 >= 7 && $usei eq "牡" && $ukeicon eq "uma10.gif"){$go="白い奇跡";}
elsif($kati =~ m/皐/ && $kati =~ m/日本/ && $kati =~ m/菊/ && ($u1i+$u2i+$u3i+$u4i) <= 6){$go="和製ラムタラ";}
elsif($kati =~ m/皐/ && $kati =~ m/日本/ && $kati =~ m/菊/ && $usei eq "牝"){$go="驚愕の3冠馬";}
elsif(($u1i+$u2i+$u3i+$u4i) >= 50 && $u1i >= 35){$go="世界一タフな馬";}
elsif($kati =~ m/英国/ && $kati =~ m/KG/ && $kati =~ m/凱/ && ($u1i+$u2i+$u3i+$u4i) <= 6){$go="神の馬";}
elsif($kati =~ m/日本/ && ($u1i+$u2i+$u3i+$u4i) <= 7 && $ashi>=5){$go="音速の末脚";}
elsif($kati =~ m/桜花賞/ && $kati =~ m/クス/ && $kati =~ m/秋華/){$go="ラモーヌの再来";}
elsif($kati =~ m/菊/ && $kati =~ m/天皇賞(春)/ && $kati =~ m/宝塚/ && $usei eq "牡" && ($ukeicon eq "uma8.gif" || $ukeicon eq "uma9.gif") && $useikata eq "晩成"){$go="マックイーンの再来";}
elsif($kati =~ m/英国/ && $kati =~ m/KG/ && $kati =~ m/凱/ && ($u1i+$u2i+$u3i+$u4i) >= 15 && $u4i==0 && $ukeicon eq "uma1.gif"){$go="ミルリーフの再来";}
elsif($ust <= 45 && $kati =~ m/安田/ && $kati =~ m/天皇賞(秋)/){$go="ゼファーの再来";}
elsif($kati =~ m/ジャパン/ && $usei eq "牝"){$go="和製ホーリックス";}
elsif($kati =~ m/皐/ && $kati =~ m/日本/ && $kati =~ m/菊/ && $ashi>=7){$go="シービーの再来";}
elsif($kati =~ m/皐/ && $kati =~ m/日本/ && $kati =~ m/菊/ && $ug1 <= 4){$go="静かなる三冠馬";}
elsif($kati =~ m/皐/ && $kati =~ m/日本/ && $kati =~ m/菊/ && $usei eq "牡"){$go="3冠王者";}
elsif($kati =~ m/皐/ && $kati =~ m/宝塚/ && $kati =~ m/有馬/ && $usei eq "牡" && $icon eq "uma1.gif"){$go="天馬2世";}
elsif($kati =~ m/桜花賞/ && $kati =~ m/クス/ && $ashi<=2){$go="ガビーのように快活に";}
elsif($kati =~ m/英国/ && $kati =~ m/KG/ && $kati =~ m/凱/ && $ug1 >= 15){$go="奇跡の世界最強馬";}
elsif($kati =~ m/皐/ && $kati =~ m/日本/ && $kati =~ m/菊/ && $ug1 >= 10){$go="日本競馬史上最強馬";}
elsif($ug1 >= 15){$go="GTハンター";}
elsif($kati =~ m/英国/ && $kati =~ m/KG/ && $kati =~ m/凱/ && $ug1 >= 10){$go="世界最強馬";}
elsif($kati =~ m/菊/ && $kati =~ m/天皇賞(春)/ && $useikata eq "晩成"){$go="晩成ステイヤー";}
elsif($kati =~ m/天皇賞(秋)/ && $kati =~ m/クス/){$go="府中の盾を制した女傑";}
elsif($kati =~ m/スプリント/ && $ug1 >= 5){$go="世界最速馬";}
elsif($kati =~ m/スプリント/){$go="超特急";}
elsif($kati =~ m/スプリンタ/ && $usei eq "牝"){$go="イダテン娘";}
elsif($kati =~ m/日本/ && $u1i == ($u1i+$u2i+$u3i+$u4i)){$go="トキノミノルの再来";}
elsif($u1i == ($u1i+$u2i+$u3i+$u4i) && $ug1 >= 5){$go="不敗神話";}
elsif($u1i == ($u1i+$u2i+$u3i+$u4i)){$go="パーフェクトホース";}
elsif($u4i==0 && $kati =~ m/ロンシャン/){$go="異次元の走り";}
elsif($u4i==0 && ($u1i+$u2i+$u3i+$u4i) >= 25){$go="不動の軸馬";}
elsif($u4i==0 && ($u1i+$u2i+$u3i+$u4i) >= 15){$go="超堅実派";}
elsif(($ukeicon eq "uma8.gif" || $ukeicon eq "uma9.gif") && $usei eq "牡" && $u4i<=5){$go="第3の怪物";}
elsif(($u1i+$u2i+$u3i+$u4i) >= 60){$go="走る労働者";}
elsif($kati =~ m/BCマ/ && $kati =~ m/BCタ/){$go="BCマニア";}
elsif(($kati =~ m/ロンシャン/ || $kati =~ m/BCマ/)){$go="日本と世界の架橋";}
elsif($kati =~ m/凱/ && $ug1 >= 5){$go="凱旋門最強馬";}
elsif($kati =~ m/凱/){$go="凱旋門賞馬";}
elsif($kati =~ m/KG/ && $ug1 >= 5){$go="キングオブキング";}
elsif($kati =~ m/KG/){$go="キングホース";}
elsif($kati =~ m/菊/ && $kati =~ m/天皇賞(春)/ && $ukeicon eq "uma2.gif" && $ug1 == 3){$go="黒い刺客";}
elsif($kati =~ m/日本/ && $kati =~ m/英国/ && $ug1 <= 4){$go="ダービーマニア";}
elsif($kati =~ m/マイルCS/ && $ukeicon eq "uma3.gif" && $usei eq "牡"){$go="蹴球少年の思い出";}
elsif($kati =~ m/天皇賞(秋)/ && $kati =~ m/天皇賞(春)/){$go="盾の覇者";}
elsif(($u1i+$u2i+$u3i+$u4i) >= 40 && $usei eq "牡"){$go="アイアンホース";}
elsif(($u1i+$u2i+$u3i+$u4i) >= 40 && $usei eq "牝"){$go="鋼鉄の女傑";}
elsif($kati =~ m/日本/ && $kati =~ m/ジャパン/ && $kati =~ m/有馬/){$go="ダービー馬の貫禄\";}
elsif($kati =~ m/日本/ && $kati =~ m/ジャパン/){$go="ダービー馬の名に懸けて";}
elsif($kati =~ m/日本/ && $kati =~ m/有馬/){$go="ダービー馬の意地";}
elsif($ashi<=1 && $ug1 >= 5){$go="逃亡者伝説";}
elsif($ug1 >= 5 && $usei eq "牝" && $ukeicon eq "uma10.gif"){$go="白雪姫";}
elsif($ug1 >= 5 && $usei eq "牡" && $ukeicon eq "uma10.gif"){$go="白い衝撃";}
elsif($usei eq "牡" && $ukeicon eq "uma10.gif"){$go="白の貴公子";}
elsif($ug1 >= 7 && $usei eq "牡" && $ukeicon eq "uma5.gif"){$go="黄金の奇跡";}
elsif($ug1 >= 5 && $usei eq "牝" && $ukeicon eq "uma5.gif"){$go="ライトニング";}
elsif($ashi >= 5 && $ukeicon eq "uma5.gif"){$go="黄金の末脚";}
elsif(($ukeicon eq "uma8.gif" || $ukeicon eq "uma9.gif") && $usei eq "牡" && $ug1 >= 5){$go="芦毛の王者";}
elsif((($u1i+$u2i+$u3i) / ($u1i+$u2i+$u3i+$u4i)) >= 0.7){$go="堅実派";}
elsif($ug2 == 0 && $ug3 == 0 && $usei eq "牡"){$go="GTこそ俺の舞台";}
elsif($ug2 == 0 && $ug3 == 0 && $usei eq "牝"){$go="GTこそ私の舞台";}
elsif($icon eq "uma2.gif" && $ug1 >= 4){$go="漆黒の王";}
elsif($useikata eq "晩成"){$go="大器晩成";}
else{$go="GT$ug1勝";}


$denuma = "$go<>$uname<>$syoyuusya<>$seisanka<>$ukeicon<>$usei<>$utoshi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$usp<>$usyu<>$uzizoku<>$ukon<>$ust<>$uki<>$ukenkou<>$utt<>$uhh<>$uketou1<>\n";

@dend = reverse(@dend);
push(@dend, "$denuma");
@dend = reverse(@dend);

open(DD,">$dumafile") ;
eval 'flock(DD,2);';
seek(DD,0,0); print DD @dend;
eval 'flock(DD,8);';
close(DD);

}


# 競走馬記録(勝ち G1 G2 G3 総賞金)

open(SU,"$sumafile"); # 歴代記録
seek(SU,0,0); @rekiu = <SU>; close(SU);

$f1=0;$f2=0;$f3=0;$f4=0;$f5=0;
foreach $rekih (@rekiu) {
($d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d1i, $d, $d, $d, $dg1, $dg2, $dg3, $d, $d, $d, $dtotal, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $d, $dmy, $d, $d) = split(/<>/,$rekih);

if($u1i <= $d1i){$f1++;}
if($ug1 <= $dg1){$f2++;}
if($ug2 <= $dg2){$f3++;}
if($ug3 <= $dg3){$f4++;}
if($utotal <= $dtotal){$f5++;}

}#foreach


if($f1<20 || $f2<20 || $f3<20 || $f4<20 || $f5<20){
open(TI,"$timefile");# 年度取得
seek(TI,0,0); @time = <TI>; close(TI);
($tuki, $syuu, $raceno, $hi, $zikan, $nendo) = split(/<>/,@time[0]);

$yuusyuu="$nendo<>$uname<>$syoyuusya<><><>$ukeicon<>$usei<><><><>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<><><><>$utotal<><><><><><><><><><>$utt<>$uhh<><><><><><>$seisanka<>$uketou1<><><><><><>\n";
push (@rekiu, $yuusyuu);

open(SU,">$sumafile") ;
eval 'flock(SU,2);';
seek(SU,0,0); print SU @rekiu;
eval 'flock(SU,8);';
close(SU);
}


# 代表産駒(種牡馬・繁殖牝馬)

if(($ug1+$ug2+$ug3)>=1){# 重賞勝ち

if($ug1>=7){$hyogo="<font color=red>GT$ug1勝</font>";$kuras=9;}
elsif($ug1>=2 && $ukatig1 =~ m/皐/ && $ukatig1 =~ m/日本/ && $ukatig1 =~ m/菊/){$hyogo="<font color=red>牡馬三冠</font>";$kuras=8;}
elsif($ug1>=2 && $ukatig1 =~ m/英国/ && $ukatig1 =~ m/KG/ && $ukatig1 =~ m/凱/){$hyogo="<font color=red>欧州三冠</font>";$kuras=8;}
elsif($ug1>=2 && $ukatig1 =~ m/桜花賞/ && $ukatig1 =~ m/クス/ && $ukatig1 =~ m/秋華/){$hyogo="<font color=red>牝馬三冠</font>";$kuras=8;}
elsif($ug1>=2 && $ukatig1 =~ m/天皇賞(秋)/ && $ukatig1 =~ m/天皇賞(春)/){$hyogo="<font color=red>天皇賞(春・秋)</font>";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/宝塚/ && $ukatig1 =~ m/有馬/){$hyogo="<font color=red>グランプリ連覇</font>";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/凱/){$hyogo="<font color=red>凱旋門賞</font> 他";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/KG/){$hyogo="<font color=red>KGY&QES</font> 他";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/BCタ/){$hyogo="<font color=red>BCターフ</font> 他";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/英国/){$hyogo="<font color=red>英国ダービー</font> 他";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/BCマ/){$hyogo="<font color=red>BCマイル</font> 他";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/ロンシャン/){$hyogo="<font color=red>ムーランドロンシャン賞</font> 他";$kuras=7;}
elsif($ug1>=2 && $ukatig1 =~ m/スプリント/){$hyogo="<font color=red>スプリントC</font> 他";$kuras=7;}
elsif($ug1>=1 && $ug2+$ug3>=1){$ukatig1 =~ s/<r>//g;$hyogo="<font color=red>$ukatig1</font> 他";$kuras=6;}
elsif($ug1==1 && $ug2+$ug3==0){$ukatig1 =~ s/<r>//g;$hyogo="<font color=red>$ukatig1</font>";$kuras=5;}
elsif($ug1==0 && $ug2>=1 && $ug2+$ug3>=2){$ukatig2 =~ s/<r>//g;$hyogo="<font color=blue>$ukatig2</font> 他";$kuras=4;}
elsif($ug1==0 && $ug2==1 && $ug3==0){
$ukatig2 =~ s/<r>//g;$hyogo="<font color=blue>$ukatig2</font>";$kuras=3;}
elsif($ug1==0 && $ug2==0 && $ug3>=2){
@g=split(/<r>/,$ukatig3);
if(@g[1] eq "エプソムC"){@g[1]="エプソ\ムC";}
$hyogo="<font color=green>@g[1]</font> 他";$kuras=2;}
else{$ukatig3 =~ s/<r>//g;if($ukatig3 eq "エプソムC"){$ukatig3="エプソ\ムC";}$hyogo="<font color=green>$ukatig3</font>";$kuras=1;}

$konouma="$uname<d>$hyogo<d>$kuras<dd>";



open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);

$iru=0;
foreach $check (@tk){
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$check);
if($utt eq $tane){$check="";$iru=1;last;}
}#foreach

if($iru==1){

($da1, $da2, $da3) = split(/<dd>/,$osanku);
($dn1, $dh1, $dp1) = split(/<d>/,$da1);
($dn2, $dh2, $dp2) = split(/<d>/,$da2);
($dn3, $dh3, $dp3) = split(/<d>/,$da3);

if($dp1 eq ""){$dp1=0;}if($dp2 eq ""){$dp2=0;}if($dp3 eq ""){$dp3=0;}

if($dp1 < $kuras){$osanku="$konouma$da1<dd>$da2<dd>";}
elsif($dp1 >=$kuras && $dp2 < $kuras){$osanku="$da1<dd>$konouma$da2";}
elsif($dp1 >=$kuras && $dp2 >=$kuras && $dp3 < $kuras){$osanku="$da1<dd>$da2<dd>$konouma";}

$syuo="$tane<>$syoyuusya<>$opass<>$oyouka<>$otoshi<>$osp<>$osyu<>$ozizoku<>$okon<>$ost<>$oki<>$okenkou<>$okeiro<>$obaku<>$tt<>$th<>$ttt<>$tth<>$tht<>$thh<>$oketou1<>$onokori<>$oseityou<>$sankukane<>$topsaia<>$osanku<>$tsankukane<>$s1<>$s2<>$s3<>$s4<>$sg1<>$sg2<>$sg3<><><><>\n";

push(@tk, $syuo);

open(TK,">$tanefile") ;
eval 'flock(TK,2);';
seek(TK,0,0); print TK @tk;
eval 'flock(TK,8);';
close(TK);

}


open(RM,"$tamefile");
seek(RM,0,0); @ha = <RM>; close(RM);

$iru=0;
foreach $check (@ha){
($tame, $syoyuusya, $hpass, $hyouka, $htoshi, $hsp, $hsyu, $hzizoku, $hkon, $hst, $hki, $hkenkou, $hkeiro, $hbaku, $ht, $hh, $htt, $hth, $hht, $hhh, $hketou1, $hketou2, $hketou3, $hflag, $hsanku, $dsanku, $dmy) = split(/<>/,$check);
if($uhh eq $tame){$check="";$iru=1;last;}
}#foreach

if($iru==1){

($dah1, $dah2, $dah3) = split(/<dd>/,$hsanku);
($dn1, $dh1, $dp1) = split(/<d>/,$dah1);
($dn2, $dh2, $dp2) = split(/<d>/,$dah2);
($dn3, $dh3, $dp3) = split(/<d>/,$dah3);

if($dp1 eq ""){$dp1=0;}if($dp2 eq ""){$dp2=0;}if($dp3 eq ""){$dp3=0;}

if($dp1 < $kuras){$hsanku="$konouma$dah1<dd>$dah2<dd>";$dsanku=$dp1+$dp2+$kuras;}
elsif($dp1 >=$kuras && $dp2 < $kuras){$hsanku="$dah1<dd>$konouma$dah2";$dsanku=$dp1+$dp2+$kuras;}
elsif($dp1 >=$kuras && $dp2 >=$kuras && $dp3 < $kuras){$hsanku="$dah1<dd>$dah2<dd>$konouma";$dsanku=$dp1+$dp2+$kuras;}

$syuh="$tame<>$syoyuusya<>$hpass<>$hyouka<>$htoshi<>$hsp<>$hsyu<>$hzizoku<>$hkon<>$hst<>$hki<>$hkenkou<>$hkeiro<>$hbaku<>$ht<>$hh<>$htt<>$hth<>$hht<>$hhh<>$hketou1<>$hketou2<>$hketou3<>$hflag<>$hsanku<>$dsanku<><>\n";

push(@ha, $syuh);

open(RM,">$tamefile") ;
eval 'flock(RM,2);';
seek(RM,0,0); print RM @ha;
eval 'flock(RM,8);';
close(RM);

}
}



# ロック終了
&lockend;



}#end intai












【horse3_race.cgi】

#!/usr/bin/perl

#----------------------------------------------------------------------
# 制作者 : ゴードン
# E-MAIL : zaza99jp@yahoo.co.jp
# URL : http://godon.s53.xrea.com/
#
# 使用前にまず利用規定を読んでください
# http://godon.s53.xrea.com/kiyaku.html
# [このスクリプトを使用して起きたいかなる損害にも責任は負いません。]
#----------------------------------------------------------------------
$| = 1;
require './jcode.pl';
require './horse3.cgi';&kankyou;



##### レース
sub race{

# ロック開始
&lockgoo;

open(TI,"$timefile");# 年度取得
seek(TI,0,0); @time = <TI>; close(TI);
($tuki, $syuu, $raceno, $hi, $zikan, $nendo) = split(/<>/,@time[0]);

@list = ('race', $raceno,'file');# レースファイル
$file = join( "" , @list);

open(RA,"${$file}");
seek(RA,0,0); @ra = <RA>; close(RA);

($racemei, $kaitis, $nen, $kyori, $kurasus, $shime, $seibetu, $syoukin1, $syoukin2, $syoukin3, $syoukin4, $syoukin5) = split(/<r>/,$ra[0]);

@s=(1,2,3,4,5,6,7,8,9,10);# 枠順決定
for($j=0; $j<50; $j++){
$i=int(rand(8));
$a=@s[$i];
@s[$i]=@s[$i+2];
@s[$i+2]=$a;
}

$aa = "$ra[@s[0]]";
$bb = "$ra[@s[1]]";
$cc = "$ra[@s[2]]";
$dd = "$ra[@s[3]]";
$ee = "$ra[@s[4]]";
$ff = "$ra[@s[5]]";
$gg = "$ra[@s[6]]";
$hh = "$ra[@s[7]]";
$ii = "$ra[@s[8]]";
$jj = "$ra[@s[9]]";

if($#ra < 10){# COM補充

$com11file = './com11.cgi'; # COM馬(新馬・未勝利)
$com51file = './com51.cgi'; # COM馬(海外GT短)
$com55file = './com55.cgi'; # COM馬(海外GT中長)
$com65file = './com65.cgi'; # COM馬(オープン短)
$com66file = './com66.cgi'; # COM馬(オープン中)
$com67file = './com67.cgi'; # COM馬(オープン長)
$com00file = './com00.cgi'; # COM馬(GT牡短)
$com01file = './com01.cgi'; # COM馬(GT牡中)
$com02file = './com02.cgi'; # COM馬(GT牡長)
$com43file = './com43.cgi'; # COM馬(GT牝短)桜花賞・2歳
$com44file = './com44.cgi'; # COM馬(GT牝中)エリザベス・秋華・オークス
$com21file = './com21.cgi'; # COM馬(重賞牡短)
$com22file = './com22.cgi'; # COM馬(重賞牡中)
$com23file = './com23.cgi'; # COM馬(重賞牡長)
$com32file = './com32.cgi'; # COM馬(重賞牝短)
$com33file = './com33.cgi'; # COM馬(重賞牝中)

if($kurasus eq "新馬" || $kurasus eq "未勝利"){$comsfile = "$com11file";}
elsif($kaitis eq "海外" && $kyori <= 1600){$comsfile = "$com51file";}
elsif($kaitis eq "海外"){$comsfile = "$com55file";}
elsif($kurasus eq "GT" && $seibetu eq "牝" && $kyori <= 1600){$comsfile = "$com43file";}
elsif($kurasus eq "GT" && $seibetu eq "牝"){$comsfile = "$com44file";}
elsif($kurasus eq "GT" && $kyori <= 1600){$comsfile = "$com00file";}
elsif($kurasus eq "GT" && $kyori <= 2400){$comsfile = "$com01file";}
elsif($kurasus eq "GT"){$comsfile = "$com02file";}
elsif($kurasus ne "GT" && $seibetu eq "牝" && $kyori <= 1600){$comsfile = "$com32file";}
elsif($kurasus ne "GT" && $seibetu eq "牝"){$comsfile = "$com33file";}
elsif(($kurasus eq "GU" || $kurasus eq "GV") && $kyori <= 1600){$comsfile = "$com21file";}
elsif(($kurasus eq "GU" || $kurasus eq "GV") && $kyori <= 2400){$comsfile = "$com22file";}
elsif($kurasus eq "GU" || $kurasus eq "GV"){$comsfile = "$com23file";}
elsif($kurasus eq "オープン" && $kyori <= 1600){$comsfile = "$com65file";}
elsif($kurasus eq "オープン" && $kyori <= 2400){$comsfile = "$com66file";}
else{$comsfile = "$com67file";}

open(COM,"$comsfile");
seek(COM,0,0); @com = <COM>; close(COM); # 足りなかったらCOM馬で補充

for($j=0; $j<$#com+1; $j++){# 枠順決定
@v[$j]=$j;
}
$k=$#com+1;
for($j=0; $j<10; $j++){
$l=int(rand($k));
@s[$j]=@v[$l];
splice(@v, $l, 1);
$k--;
}

if($aa eq ""){$aa = "$com[@s[0]]";}
if($bb eq ""){$bb = "$com[@s[1]]";}
if($cc eq ""){$cc = "$com[@s[2]]";}
if($dd eq ""){$dd = "$com[@s[3]]";}
if($ee eq ""){$ee = "$com[@s[4]]";}
if($ff eq ""){$ff = "$com[@s[5]]";}
if($gg eq ""){$gg = "$com[@s[6]]";}
if($hh eq ""){$hh = "$com[@s[7]]";}
if($ii eq ""){$ii = "$com[@s[8]]";}
if($jj eq ""){$jj = "$com[@s[9]]";}
}


@fight = ($aa,$bb,$cc,$dd,$ee,$ff,$gg,$hh,$ii,$jj);
@log="";
if($racemei eq "" || $kyori eq ""){&error("もうちょっと待っててね。");}

$times =time;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($times);
$month = sprintf("%02d",$mon+1);
$mday = sprintf("%02d",$mday);
$hour = sprintf("%02d",$hour);
$min = sprintf("%02d",$min);
$log[$m] = "<center>$racemei($kaitis $kyorim)<br><center>$month月$mday日$hour時$min分<>";
$m++; # 0


@w=('aa','bb','cc','dd','ee','ff','gg','hh','ii','jj');# 各馬の情報
for($i=0; $i<10; $i++){
@{$w[$i]} = split(/<>/,${$w[$i]});
}


for($i=0; $i<10; $i++){ # 初期数値
$x[$i]=750; # X座標
$sokudo[$i]=0; # 速度
$sakusen[$i]=${$w[$i]}[42]; # 作戦(0〜9)
$nokori[$i]=$kyori; # 残り距離
$tyoushi[$i]=${$w[$i]}[8]; # 調子
if(${$w[$i]}[44] eq ""){${$w[$i]}[44]="33333";}
@kinsou = split(/<rr>/,${$w[$i]}[32]);# 近5走
@mae = split(/<r>/,$kinsou[0]);
if($mae[0] =~ m/放牧/){$tyoushi[$i]+=(substr("${$w[$i]}[44]", 1,1)-3);}

$sp[$i]=${$w[$i]}[23]; # SP
$syu[$i]=${$w[$i]}[24]; # 瞬発力
$zizoku[$i]=${$w[$i]}[25]-(9-$sakusen[$i])*5; # 持続力
$kon[$i]=${$w[$i]}[26]; # 根性
$st[$i]=${$w[$i]}[27]; # ST(35~85)
$ki[$i]=${$w[$i]}[28]; # 気性
if($tyoushi[$i] eq ""){# COM
if($kurasus eq "オープン" && $seibetu eq "牝"){$sp[$i]-=5;$syu[$i]-=5;$zizoku[$i]-=5;$kon[$i]-=5;$ki[$i]-=5;}# 牝オープン戦
$tyoushi[$i]=int(rand(6));
}# COM
if($kaitis eq "海外"){$sp[$i]-=int((100-${$w[$i]}[29])/20);
$syu[$i]-=int((100-${$w[$i]}[29])/20);
$zizoku[$i]-=int((100-${$w[$i]}[29])/20);
$kon[$i]-=int((100-${$w[$i]}[29])/20);
$ki[$i]-=int((100-${$w[$i]}[29])/20);}
$max=$st[$i]*40; # 1400~3400
$min=$max-$ki[$i]*10;
$stf[$i]=0; # スタート用
$kif[$i]=0; # 折り合い用
$shf[$i]=3; # 仕掛け用
if($nen eq "2"){$p=50;$q=100;}else{$p=50;$q=50;}

if(substr("${$w[$i]}[43]", 2, 1)>=8 && ${$w[$i]}[6] eq "牝"){$sp[$i]++;$syu[$i]++;}# 牝馬○
elsif(substr("${$w[$i]}[43]", 2, 1)<=2 && ${$w[$i]}[6] eq "牝"){$sp[$i]--;$syu[$i]--;}# 牝馬×
if(substr("${$w[$i]}[43]", 3, 1)>=8 && $kurasus eq "新馬"){$sp[$i]++;$syu[$i]++;}# 新馬○
elsif(substr("${$w[$i]}[43]", 3, 1)<=2 && $kurasus eq "新馬"){$sp[$i]--;$syu[$i]--;}# 新馬×
if(substr("${$w[$i]}[43]", 4, 1)>=8 && $kyori>=2400){$zizoku[$i]++;$syu[$i]++;}# 長距離
elsif(substr("${$w[$i]}[43]", 4, 1)<=2 && $kyori<=1400){$sp[$i]++;$syu[$i]++;}# 短距離
if(substr("${$w[$i]}[43]", 5, 1)>=8 && $kaitis eq "海外"){$sp[$i]++;$syu[$i]++;}# 海外○
elsif(substr("${$w[$i]}[43]", 5, 1)<=2 && $kaitis eq "海外"){$sp[$i]--;$syu[$i]--;}# 海外×
if(substr("${$w[$i]}[43]", 6, 1)>=8){$p+=20;}# 長手綱
elsif(substr("${$w[$i]}[43]", 6, 1)<=2){$q+=20;}# 短手綱
if(substr("${$w[$i]}[43]", 7, 1)>=8 && (($kaitis eq "小倉") || ($kaitis eq "中京") || ($kaitis eq "福島") || ($kaitis eq "新潟") || ($kaitis eq "函館") || ($kaitis eq "札幌"))){$sp[$i]++;$syu[$i]++;}# ローカル○
elsif(substr("${$w[$i]}[43]", 7, 1)<=2 && (($kaitis eq "小倉") || ($kaitis eq "中京") || ($kaitis eq "福島") || ($kaitis eq "新潟") || ($kaitis eq "函館") || ($kaitis eq "札幌"))){$sp[$i]--;$syu[$i]--;}# ローカル×
if(substr("${$w[$i]}[43]", 8, 1)>=8 && ${$w[$i]}[7]==2){$sp[$i]++;$syu[$i]++;}# 2歳○
elsif(substr("${$w[$i]}[43]", 8, 1)<=2 && ${$w[$i]}[7]==2){$sp[$i]--;$syu[$i]--;}# 2歳×
if(substr("${$w[$i]}[43]", 9, 1)>=8){$kif[$i]=5;}# 折り合い
elsif(substr("${$w[$i]}[43]", 9, 1)<=2){$kif[$i]=-5;}# かからせ癖
if(substr("${$w[$i]}[43]", 10,1)>=8){$stf[$i]=10;}# 好スタート
elsif(substr("${$w[$i]}[43]", 10,1)<=2){$stf[$i]=-10;}# 出遅れ
if(substr("${$w[$i]}[43]", 11,1)>=8){$shf[$i]=1;}# 早仕掛け
elsif(substr("${$w[$i]}[43]", 11,1)<=2){$shf[$i]=5;}# ため殺し

$nig[$i]=substr("${$w[$i]}[43]", 12,1);
$sen[$i]=substr("${$w[$i]}[43]", 13,1);
$sas[$i]=substr("${$w[$i]}[43]", 14,1);
$oik[$i]=substr("${$w[$i]}[43]", 15,1);

if($max<$kyori){$zizoku[$i]-=int(($kyori-$max)/$p);$sp[$i]-=int(($kyori-$max)/$p);$toknaga[$i]=1;}
if($min>$kyori){$sp[$i]-=int(($min-$kyori)/$q);$toktan[$i]=1;}
$flag[$i]=0; # ゴールしたか(順位)
$kakatta[$i]=0; # 掛かったか
$kakattaf[$i]=0; # flag
$startf[$i]=0; # flag
$gogo[$i]=0; # 仕掛けるタイミング
$tyakuf[$i]=0; # 着差
# 馬名 騎手 毛色 年齢性別 斤量
if($kurasus eq "新馬" || $kurasus eq "未勝利"){$omori[$i]=54;}
elsif($nen eq "2" && $kurasus eq "オープン"){$omori[$i]=55;}
elsif($kurasus eq "オープン"){$omori[$i]=56;}
elsif($nen eq "2"){$omori[$i]=55;}
elsif($nen eq "3" && $kurasus eq "GT"){$omori[$i]=57;}
elsif($nen eq "3"){$omori[$i]=56;}
elsif($kurasus eq "GT"){$omori[$i]=58;}
else{$omori[$i]=57;}
if(($kurasus eq "オープン" || $kurasus eq "GV") && ($nen eq "34" || $nen eq "4")){$omori[$i] += int((${$w[$i]}[14]*1.5) + ${$w[$i]}[15] + (${$w[$i]}[16]*0.5));}
if(${$w[$i]}[6] eq "牝" && ($kurasus eq "オープン" || $nen eq "2")){$omori[$i] -= 1;}
elsif(${$w[$i]}[6] eq "牝"){$omori[$i] -= 2;}
#2…2歳限定、3…3歳限定、4…古馬限定、34…3歳以上
if(${$w[$i]}[7] ne ""){$ttoshi=${$w[$i]}[7];}else{

if($nen eq "2"){$ttoshi=2;}
elsif($nen eq "3"){$ttoshi=3;}
elsif($nen eq "4"){$ttoshi=4+ int(rand(1) + rand(1) + rand(1));}
else{$ttoshi=3+ int(rand(1) + rand(1) + rand(1));}

if(${$w[$i]}[9] eq "早熟" && $ttoshi>=4){$sp[$i]-=($ttoshi-3)*5;$syu[$i]-=($ttoshi-3)*5;}
elsif(${$w[$i]}[9] eq "普通早" && $ttoshi==2){$sp[$i]-=5;$syu[$i]-=5;}
elsif(${$w[$i]}[9] eq "普通早" && $ttoshi>=5){$sp[$i]-=($ttoshi-4)*5;$syu[$i]-=($ttoshi-4)*5;}
elsif(${$w[$i]}[9] eq "普通遅" && $ttoshi>=6){$sp[$i]-=($ttoshi-5)*5;$syu[$i]-=($ttoshi-5)*5;}
elsif(${$w[$i]}[9] eq "普通遅" && $ttoshi<=4){$sp[$i]-=(5-$ttoshi)*5;$syu[$i]-=(5-$ttoshi)*5;}
elsif(${$w[$i]}[9] eq "晩成" && $ttoshi<=5){$sp[$i]-=(6-$ttoshi)*5;$syu[$i]-=(6-$ttoshi)*5;}

}
if($nen eq "34" && $ttoshi==3){$omori[$i] -= 2;}
if(${$w[$i]}[41] eq ""){${$w[$i]}[41]="${$w[$i]}[40]";}# COM騎手
$log[$m] = "${$w[$i]}[1]<r>${$w[$i]}[41]<r>${$w[$i]}[5]<r>$ttoshi${$w[$i]}[6]<r>$omori[$i]<>";
$m++; # 1〜10
}

push(@xk0, "750");
push(@xk1, "750");
push(@xk2, "750");
push(@xk3, "750");
push(@xk4, "750");
push(@xk5, "750");
push(@xk6, "750");
push(@xk7, "750");
push(@xk8, "750");
push(@xk9, "750");
$ko=$kyori+500;push(@xx, "$ko");

##### レース処理
$number="";$turns="";$mosyon="";
$teiiti=0;$gogo=0;$goulin=1;$timer=0;$timer2=0;$peesu=0;$uoo=0;
while($goulin<11){
$timer2++;if($goulin==1){$timer++;}# ゴールタイム


for($i=0; $i<10; $i++){

if(($kyori-$nokori[$i]<=750)&&($teiiti==0)&&($timer<=120)){# スタート後750m(SP)
$sokudo[$i]=((rand(40)+$sp[$i])/10)*(11-$sakusen[$i]);# 10〜132

if($timer<=5){# 好スタート・出遅れ
if((int(rand(10))==7)&&(rand(100)+ rand(100)<$ki[$i]+$stf[$i])){
$sokudo[$i]=130;$startf[$i]=1;
}elsif((int(rand(10))==4)&&(rand(100)+ rand(100)>$ki[$i]+$stf[$i])){
$sokudo[$i]=0;$startf[$i]=2;
}
}

}elsif($gogo[$i]>$shf[$i]){# ラスト(SP,瞬発力,持続力)
$sokudo[$i]=40+((rand(1000-$ki[$i]*10)+($ki[$i]*10)+($sp[$i]*(10-$peesu))+($syu[$i]*$peesu))/100)*($sakusen[$i]+1)+(abs($peesu-$sakusen[$i])/2)+$sakusen[$i];

if($sakusen[$i]>=5){
if(($kaitis eq "札幌")&&($nokori[$i]<=266)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "函館")&&($nokori[$i]<=262)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "新潟")&&($nokori[$i]<=658)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "福島")&&($nokori[$i]<=292)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "中山")&&($nokori[$i]<=310)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "東京")&&($nokori[$i]<=526)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "中京")&&($nokori[$i]<=314)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "京都")&&($nokori[$i]<=404)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "阪神")&&($nokori[$i]<=353)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "小倉")&&($nokori[$i]<=293)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
elsif(($kaitis eq "海外")&&($nokori[$i]<=600)){$sokudo[$i]+=2;$zizoku[$i]-=0.2;}
if(substr("${$w[$i]}[43]", 1, 1)>=8){$sokudo[$i]+=rand(3);}
elsif(substr("${$w[$i]}[43]", 1, 1)<=2){$sokudo[$i]-=rand(3);}
}else{
if(substr("${$w[$i]}[43]", 0, 1)>=8){$sokudo[$i]+=rand(3);}
elsif(substr("${$w[$i]}[43]", 0, 1)<=2){$sokudo[$i]-=rand(3);}
}

# 坂
if($kaitis eq "阪神" || $kaitis eq "東京" || $kaitis eq "中山" || $kaitis eq "京都"){$sokudo[$i]+=(substr("${$w[$i]}[44]", 0,1)-3);}


# 左
if($kaitis eq "東京" || $kaitis eq "新潟" || $kaitis eq "中京"){$sokudo[$i]+=(substr("${$w[$i]}[44]", 2,1)-3);}


# Hペース
if($peesu<=3){$sokudo[$i]+=(substr("${$w[$i]}[44]", 3,1)-3);}

# Sペース
elsif($peesu>=7){$sokudo[$i]+=(substr("${$w[$i]}[44]", 4,1)-3);}


if($zizoku[$i]<$peesu){$sokudo[$i]-=(20 - $sakusen[$i] + rand(10)+ rand(10));}

if((abs($x[$i]-$x[$i-1])<=20)||(abs($x[$i]-$x[$i+1])<=20)){# 根性
if(rand(100)<$kon[$i]){$sokudo[$i]+=2;}
}

if($sakusen[$i]<=3){$sokudo[$i]+=rand($nig[$i]*(5-$sakusen[$i])+$sen[$i]*(2+$sakusen[$i]));}
elsif($sakusen[$i]<=5){$sokudo[$i]+=rand($sen[$i]*(8-$sakusen[$i])+$sas[$i]*($sakusen[$i]-1));}
else{$sokudo[$i]+=rand($sas[$i]*(11-$sakusen[$i])+$oik[$i]*($sakusen[$i]-4));}
# 5 4 3 2 0 0 0 0 0 0
# 2 3 4 5 4 3 0 0 0 0
# 0 0 0 0 3 4 5 4 3 2
# 0 0 0 0 0 0 2 3 4 5


}else{# 中盤(SP,瞬発力,持続力)
$teiiti=1;
$sokudo[$i]=60+(rand($sp[$i])+ rand($syu[$i])+ rand($zizoku[$i]))/20;# 60〜72

# 掛かったか(気性→持続力減少)
if(((rand(1000)+ rand(1000)+$ki[$i]-$peesu)<70+$kif[$i])&&($kakatta[$i]==0)){
$kakatta[$i]=int((300-$ki[$i])/10);$kakattaf[$i]++;$zizoku[$i]-=10;
$gazou="Img18";
$ii=$i+1;$iii="Kisyu$ii";
$number="$number$iii<n>";$turns="$turns$timer2<n>";$mosyon="$mosyon$gazou<n>";
}
if($kakatta[$i]>0){
$kakatta[$i]--;
if($kakatta[$i]==0){$gazou="Img15";
$ii=$i+1;$iii="Kisyu$ii";
$number="$number$iii<n>";$turns="$turns$timer2<n>";$mosyon="$mosyon$gazou<n>";
}}

# ペース判定
if($peesu==0){$ggg=$timer;
if($timer<=80) {$peesu=1;} # 超H 9 1
elsif($timer<=85) {$peesu=3;} # H 7 3
elsif($timer<=110){$peesu=5;} # M 5 5
elsif($timer<=115){$peesu=7;} # S 3 7
else{$peesu=9;} # 超S 1 9
}

# 仕掛けるタイミング
if($nokori[$i] < ($sakusen[$i]*60+(10-$peesu)*5+$uoo*1000)){
$gogo[$i]++;$uoo++;
if($gogo[$i]==$shf[$i]){
if(substr("${$w[$i]}[43]", 1, 1)>=8){$gazou="Img16";}else{$gazou="Img17";}
$ii=$i+1;$iii="Kisyu$ii";
$number="$number$iii<n>";$turns="$turns$timer2<n>";$mosyon="$mosyon$gazou<n>";}
}

}# else

# 調子
$sokudo[$i]+=rand($tyoushi[$i]+3);
$sokudo[$i]-=($omori[$i]-53);

$sokudo[$i]=int($sokudo[$i]/10);

if($peesu>0 && $sokudo[$i]-$sokudo2[$i]>=2){$sokudo[$i]=$sokudo2[$i]+=1;}
elsif($peesu>0 && $sokudo2[$i]-$sokudo[$i]>=2){$sokudo[$i]=$sokudo2[$i]-=1;}

$sokudo2[$i]=$sokudo[$i];

$x[$i]-=$sokudo[$i]; # X座標
$nokori[$i]-=$sokudo[$i]; # 残り距離

}# for


@sortdata = sort { $a <=> $b } @nokori; # JavaScriptスクロール用
if(($sortdata[0]<=($kyori-750))&&($sortdata[0]>=-500)){
for($i=0; $i<10; $i++){
$x[$i]=($nokori[$i]-$sortdata[0]);
}
}

$xs=$sortdata[0]+500;
push(@xx, ",$xs");
push(@xk0, ",$x[0]");
push(@xk1, ",$x[1]");
push(@xk2, ",$x[2]");
push(@xk3, ",$x[3]");
push(@xk4, ",$x[4]");
push(@xk5, ",$x[5]");
push(@xk6, ",$x[6]");
push(@xk7, ",$x[7]");
push(@xk8, ",$x[8]");
push(@xk9, ",$x[9]");


if($sortdata[0] <= -500){

@jyuni="";# 順位決定
for($i=0; $i<10; $i++){
@jyuni[$i] = "$i<>$nokori[$i]<>${$w[$i]}[1]<>$flag[$i]";
}
@sortdata = sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @jyuni;

for($i=0; $i<10; $i++){
($sno, $ssusunnda, $sname, $sflag) = split(/<>/,@sortdata[$i]);
if(($ssusunnda<=-500)&&($sflag==0)){
$flag[$sno]=$goulin;$goulin++;
for($j=$i+1; $j<10; $j++){
($d, $ssd, $d, $sd) = split(/<>/,@sortdata[$j]);
if($sd==0){$tyakuf[$sno]=abs($ssusunnda-$ssd);last;}# 着差
}
$gazou="Img15";
$ii=$sno+1;$iii="Kisyu$ii";
$number="$number$iii<n>";$turns="$turns$timer2<n>";$mosyon="$mosyon$gazou<n>";
}
}
}

}#while


##### レース終了後の処理

##### 馬主成績の更新

open(BA,"$banushifile");
seek(BA,0,0); @ba = <BA>; close(BA);

for($i=0; $i<10; $i++){
$oflag=0;
foreach $check (@ba){
@checks = split(/<>/,$check);
if((${$w[$i]}[2] eq $checks[0])&&(${$w[$i]}[2] ne "")){$orner = "$check";$check="";$oflag=1;last;}
}

if($oflag==1){
($uname, $upass, $hp, $icon, $shikin, $host, $t1, $t2, $t3, $t4, $k1, $k2, $k3, $k4, $tg1, $tg2, $tg3, $kg1, $kg2, $kg3, $maxwin, $maxkane, $tkakutoku, $kkakutoku, $dmy) = split(/<>/,$orner);

if($flag[$i]==1){$t1++;$k1++;$tkakutoku+=$syoukin1;$kkakutoku+=$syoukin1;
if($kurasus eq "GT"){$tg1++;$kg1++;}
elsif($kurasus eq "GU"){$tg2++;$kg2++;}
elsif($kurasus eq "GV"){$tg3++;$kg3++;}$shikin+=$syoukin1;}
elsif($flag[$i]==2){$t2++;$k2++;$tkakutoku+=$syoukin2;$kkakutoku+=$syoukin2;$shikin+=$syoukin2;}
elsif($flag[$i]==3){$t3++;$k3++;$tkakutoku+=$syoukin3;$kkakutoku+=$syoukin3;$shikin+=$syoukin3;}
elsif($flag[$i]==4){$t4++;$k4++;$tkakutoku+=$syoukin4;$kkakutoku+=$syoukin4;$shikin+=$syoukin4;}
elsif($flag[$i]==5){$t4++;$k4++;$tkakutoku+=$syoukin5;$kkakutoku+=$syoukin5;$shikin+=$syoukin5;}
else{$t4++;$k4++;}

$orner="$uname<>$upass<>$hp<>$icon<>$shikin<>$host<>$t1<>$t2<>$t3<>$t4<>$k1<>$k2<>$k3<>$k4<>$tg1<>$tg2<>$tg3<>$kg1<>$kg2<>$kg3<>$maxwin<>$maxkane<>$tkakutoku<>$kkakutoku<><><><><><><><><>\n";
push(@ba, "$orner");
}#foreach
}#for

open(BA,">$banushifile") ;
eval 'flock(BA,2);';
seek(BA,0,0); print BA @ba;
eval 'flock(BA,8);';
close(BA);


##### 騎手成績の更新

open(KI,"$kisyufile");
seek(KI,0,0); @ki = <KI>; close(KI);

for($i=0; $i<10; $i++){
$kflag=0;
foreach $check (@ki){
@checks = split(/<>/,$check);
if((${$w[$i]}[41] eq $checks[4])&&(${$w[$i]}[2] ne "")){$krner = "$check";$check="";$kflag=1;last;}
}

if($kflag==1){
($kname, $kpass, $khp, $kicon, $kisyuname, $khost, $kt1, $kt2, $kt3, $kt4, $kk1, $kk2, $kk3, $kk4, $ktg1, $ktg2, $ktg3, $kkg1, $kkg2, $kkg3, $kmaxwin, $kmaxkane, $ktkakutoku, $kkkakutoku, $knige, $ksenkou, $ksashi, $koikomi, $ktok, $ktoshi, $ktyoushi, $irairyou, $dmy) = split(/<>/,$krner);

if($flag[$i]==1){$kt1++;$kk1++;$ktkakutoku+=$syoukin1;$kkkakutoku+=$syoukin1;
if($kurasus eq "GT"){$ktg1++;$kkg1++;}
elsif($kurasus eq "GU"){$ktg2++;$kkg2++;}
elsif($kurasus eq "GV"){$ktg3++;$kkg3++;}
$winnerkisyu=$kisyuname;
}
elsif($flag[$i]==2){$kt2++;$kk2++;$ktkakutoku+=$syoukin2;$kkkakutoku+=$syoukin2;}
elsif($flag[$i]==3){$kt3++;$kk3++;$ktkakutoku+=$syoukin3;$kkkakutoku+=$syoukin3;}
elsif($flag[$i]==4){$kt4++;$kk4++;$ktkakutoku+=$syoukin4;$kkkakutoku+=$syoukin4;}
elsif($flag[$i]==5){$kt4++;$kk4++;$ktkakutoku+=$syoukin5;$kkkakutoku+=$syoukin5;}
else{$kt4++;$kk4++;}

# 特殊能力(獲得…上位3着、喪失…下位3着)

for($j=0; $j<12; $j++){
$tokup[$j]=substr("$ktok", $j, 1);
}

if($kakattaf[$i]>0){# かかった
if(rand(100)>93+$kakattaf[$i]){$tokup[9]--;}
if($tokup[9]<=1){$tokup[9]=1;}
}else{
if(rand(100)>97){$tokup[9]++;}
if($tokup[9]>=9){$tokup[9]=9;}
}

if($startf[$i]==1){# スタート
if(rand(100)>95+$flag[$i]){$tokup[10]++;}
if($tokup[10]>=9){$tokup[10]=9;}
}elsif($startf[$i]==2){
if(rand(100)>95+$flag[$i]){$tokup[10]--;}
if($tokup[10]<=1){$tokup[10]=1;}
}

if($flag[$i]<=3){# 上位3着

if(${$w[$i]}[7]==2){# 年齢
if(rand(100)>93+$flag[$i]){$tokup[8]++;}
if($tokup[8]>=9){$tokup[8]=9;}
}

if(${$w[$i]}[6] eq "牝"){# 性別
if(rand(100)>95+$flag[$i]){$tokup[2]++;}
if($tokup[2]>=9){$tokup[2]=9;}
}

if($kyori<=1600){# 距離
if(rand(100)>93+$flag[$i]){$tokup[4]--;}
if($tokup[4]<=1){$tokup[4]=1;}
}elsif($kyori>=2400){
if(rand(100)>95+$flag[$i]){$tokup[4]++;}
if($tokup[4]>=9){$tokup[4]=9;}
}

if(($kaitis eq "小倉") || ($kaitis eq "中京") || ($kaitis eq "福島") || ($kaitis eq "新潟") || ($kaitis eq "函館") || ($kaitis eq "札幌")){# ローカル開催
if(rand(100)>93+$flag[$i]){$tokup[7]++;}
if($tokup[7]>=9){$tokup[7]=9;}
}elsif($kaitis eq "ロンシャン"){# 海外
if(rand(100)>50+$flag[$i]){$tokup[5]++;}
if($tokup[5]>=9){$tokup[5]=9;}
}

if($racemei=~ m/新馬/){# 新馬
if(rand(100)>90+$flag[$i]){$tokup[3]++;}
if($tokup[3]>=9){$tokup[3]=9;}
}

if($sakusen[$i]<5){# 作戦
if(rand(100)>95+$flag[$i]){$tokup[0]++;}
if($tokup[0]>=9){$tokup[0]=9;}
}elsif($sakusen[$i]>=5){
if(rand(100)>95+$flag[$i]){$tokup[1]++;}
if($tokup[1]>=9){$tokup[1]=9;}
}

if($sakusen[$i]>=5 && $peesu>=7){# 早仕掛け
if(rand(100)>95+$flag[$i]){$tokup[11]++;}
if($tokup[11]>=9){$tokup[11]=9;}
}

if($toktan[$i]==1){# 長手綱
if(rand(100)>90+$flag[$i]){$tokup[6]--;}
if($tokup[6]<=1){$tokup[6]=1;}
}elsif($toknaga[$i]==1){
if(rand(100)>90+$flag[$i]){$tokup[6]++;}
if($tokup[6]>=9){$tokup[6]=9;}
}

}elsif($flag[$i]>=8){# 下位3着

if(${$w[$i]}[7]==2){# 年齢
if(rand(100)>105-$flag[$i]){$tokup[8]--;}
if($tokup[8]<=1){$tokup[8]=1;}
}

if(${$w[$i]}[6] eq "牝"){# 性別
if(rand(100)>105-$flag[$i]){$tokup[2]--;}
if($tokup[2]<=1){$tokup[2]=1;}
}

if(($kaitis eq "小倉") || ($kaitis eq "中京") || ($kaitis eq "福島") || ($kaitis eq "新潟") || ($kaitis eq "函館") || ($kaitis eq "札幌")){# ローカル開催
if(rand(100)>105-$flag[$i]){$tokup[7]--;}
if($tokup[7]<=1){$tokup[7]=1;}
}elsif($kaitis eq "ロンシャン"){# 海外
if(rand(100)>50-$flag[$i]){$tokup[5]--;}
if($tokup[5]<=1){$tokup[5]=1;}
}

if($racemei=~ m/新馬/){# 新馬
if(rand(100)>100-$flag[$i]){$tokup[3]--;}
if($tokup[3]<=1){$tokup[3]=1;}
}

if($sakusen[$i]<5){# 作戦
if(rand(100)>105-$flag[$i]){$tokup[0]--;}
if($tokup[0]<=1){$tokup[0]=1;}
}elsif($sakusen[$i]>=5){
if(rand(100)>105-$flag[$i]){$tokup[1]--;}
if($tokup[1]<=1){$tokup[1]=1;}
}

if($sakusen[$i]<5 && $peesu<=3){# 溜め殺し
if(rand(100)>105-$flag[$i]){$tokup[11]--;}
if($tokup[11]<=1){$tokup[11]=1;}
}

}

$ktok="$tokup[0]$tokup[1]$tokup[2]$tokup[3]$tokup[4]$tokup[5]$tokup[6]$tokup[7]$tokup[8]$tokup[9]$tokup[10]$tokup[11]";


$krner="$kname<>$kpass<>$khp<>$kicon<>$kisyuname<>$khost<>$kt1<>$kt2<>$kt3<>$kt4<>$kk1<>$kk2<>$kk3<>$kk4<>$ktg1<>$ktg2<>$ktg3<>$kkg1<>$kkg2<>$kkg3<>$kmaxwin<>$kmaxkane<>$ktkakutoku<>$kkkakutoku<>$knige<>$ksenkou<>$ksashi<>$koikomi<>$ktok<>$ktoshi<>$ktyoushi<>$irairyou<><><><><>\n";
push(@ki, "$krner");
}#foreach
}#for

open(KI,">$kisyufile") ;
eval 'flock(KI,2);';
seek(KI,0,0); print KI @ki;
eval 'flock(KI,8);';
close(KI);


##### 馬の成績の更新

open(UM,"$umafile");
seek(UM,0,0); @uma = <UM>; close(UM);

open(UMM,"$uma2file");
seek(UMM,0,0); @uma2 = <UMM>; close(UMM);

open(UMMM,"$uma3file");
seek(UMMM,0,0); @uma3 = <UMMM>; close(UMMM);


for ($i=0; $i<10; $i++){
($no, $uname, $syoyuusya, $upass, $uhost, $ukeicon, $usei, $utoshi, $utyoushi, $useikata, $u1i, $u2i, $u3i, $u4i, $ug1, $ug2, $ug3, $ukatig1, $ukatig2, $ukatig3, $utotal, $ukyonen, $ukotoshi, $usp, $usyu, $uzizoku, $ukon, $ust, $uki, $ukenkou, $utt, $uhh, $kinsou5, $utt2, $uth2, $uht2, $uhh2, $seisanka, $uketou1, $uketou2, $uketou3, $dmy, $dmy, $dmy, $umatoku) = split(/<>/,$fight[$i]);

if($syoyuusya ne ""){# COM馬は飛ばす1

@mae5="$racemei<r>$kyorim<r>$flag[$i]<r>${$w[$i]}[41]<r>$tuki<r>$syuu<rr>";# レース結果
@kinsou = split(/<rr>/,$kinsou5);# 近5走
for($n=0; $n<4; $n++){
@mae = split(/<r>/,$kinsou[$n]);
if($n==0){$b=$mae[4];$bb=$mae[5];}
@mae5="@mae5$mae[0]<r>$mae[1]<r>$mae[2]<r>$mae[3]<r>$mae[4]<r>$mae[5]<rr>";
}

$t=abs(($tuki*4+$syuu)-($b*4+$bb));
if($kinsou[0] =~ m/放牧/){$utyoushi++;$t=0;}
elsif($kinsou[1] =~ m/放牧/){$utyoushi++;}
else{$utyoushi-=int((rand(10)+5) * 0.1);}

if($t==1 || $t==47){$utyoushi-=3;}# 連闘
elsif($t==2 || $t==46){$utyoushi-=1;}# 中1週

if($utyoushi<=-3){$utyoushi=-2.9;} # -3-2-1, 012, 3, 4, 5
elsif($utyoushi>=6){$utyoushi=5.9;}
}# COM馬は飛ばす1

if($flag[$i]==1){$u1i++;$utotal+=$syoukin1;$ukotoshi+=$syoukin1;

if($kurasus eq "GT"){$ug1++;$ukatig1="$ukatig1<r>$racemei";}
elsif($kurasus eq "GU"){$ug2++;$ukatig2="$ukatig2<r>$racemei";}
elsif($kurasus eq "GV"){$ug3++;$ukatig3="$ukatig3<r>$racemei";}
$winneruma=$uname;# レコード用
if($winnerkisyu eq ""){$winnerkisyu=${$w[$i]}[40];}# COM騎手取得
$winnner="$racemei<>$uname<>$syoyuusya<>$ukeicon<>$usei<>$utoshi<>$utt<>$uhh<>$seisanka<>\n";

}
elsif($flag[$i]==2){$u2i++;$utotal+=$syoukin2;$ukotoshi+=$syoukin2;}
elsif($flag[$i]==3){$u3i++;$utotal+=$syoukin3;$ukotoshi+=$syoukin3;}
elsif($flag[$i]==4){$u4i++;$utotal+=$syoukin4;$ukotoshi+=$syoukin4;}
elsif($flag[$i]==5){$u4i++;$utotal+=$syoukin5;$ukotoshi+=$syoukin5;}
elsif($flag[$i]==6){$u4i++;}
elsif($flag[$i]==7){$u4i++;}
elsif($flag[$i]==8){$u4i++;}
elsif($flag[$i]==9){$u4i++;}
elsif($flag[$i]==10){$u4i++;}

if($syoyuusya ne ""){# COM馬は飛ばす2

if($utoshi == 2){
foreach $checkl (@uma){
@checkm = split(/<>/,$checkl);
if($uname eq $checkm[1]){$checkl = "0<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$checkm[23]<>$checkm[24]<>$checkm[25]<>$checkm[26]<>$checkm[27]<>$checkm[28]<>$checkm[29]<>$utt<>$uhh<>@mae5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<><><><>$umatoku<>\n";last;}
}
}elsif($utoshi == 3){
foreach $checkl (@uma2){
@checkm = split(/<>/,$checkl);
if($uname eq $checkm[1]){$checkl = "0<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$checkm[23]<>$checkm[24]<>$checkm[25]<>$checkm[26]<>$checkm[27]<>$checkm[28]<>$checkm[29]<>$utt<>$uhh<>@mae5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<><><><>$umatoku<>\n";last;}
}
}else{
foreach $checkl (@uma3){
@checkm = split(/<>/,$checkl);
if($uname eq $checkm[1]){$checkl = "0<>$uname<>$syoyuusya<>$upass<>$uhost<>$ukeicon<>$usei<>$utoshi<>$utyoushi<>$useikata<>$u1i<>$u2i<>$u3i<>$u4i<>$ug1<>$ug2<>$ug3<>$ukatig1<>$ukatig2<>$ukatig3<>$utotal<>$ukyonen<>$ukotoshi<>$checkm[23]<>$checkm[24]<>$checkm[25]<>$checkm[26]<>$checkm[27]<>$checkm[28]<>$checkm[29]<>$utt<>$uhh<>@mae5<>$utt2<>$uth2<>$uht2<>$uhh2<>$seisanka<>$uketou1<>$uketou2<>$uketou3<><><><>$umatoku<>\n";last;}
}
}

}# COM馬は飛ばす2
}#for

open(UM,">$umafile") ;
eval 'flock(UM,2);';
seek(UM,0,0); print UM @uma;
eval 'flock(UM,8);';
close(UM);

open(UMM,">$uma2file") ;
eval 'flock(UMM,2);';
seek(UMM,0,0); print UMM @uma2;
eval 'flock(UMM,8);';
close(UMM);

open(UMMM,">$uma3file") ;
eval 'flock(UMMM,2);';
seek(UMMM,0,0); print UMMM @uma3;
eval 'flock(UMMM,8);';
close(UMMM);


##### 種牡馬成績の更新

open(TK,"$tanefile");
seek(TK,0,0); @tk = <TK>; close(TK);


for($i=0; $i<10; $i++){
$sflag=0;
foreach $check (@tk){
@checks = split(/<>/,$check);
if((${$w[$i]}[30] eq $checks[0])&&(${$w[$i]}[30] ne "")){$srner = "$check";$check="";$sflag=1;last;}
}

if($sflag==1){
($tane, $syoyuusya, $opass, $oyouka, $otoshi, $osp, $osyu, $ozizoku, $okon, $ost, $oki, $okenkou, $okeiro, $obaku, $tt, $th, $ttt, $tth, $tht, $thh, $oketou1, $onokori, $oseityou, $sankukane, $topsaia, $osanku, $tsankukane, $s1, $s2, $s3, $s4, $sg1, $sg2, $sg3, $dmy) = split(/<>/,$srner);

if($flag[$i]==1){$s1++;$sankukane+=$syoukin1;$tsankukane+=$syoukin1;

if($kurasus eq "GT"){$sg1++;$oyouka+=50;}
elsif($kurasus eq "GU"){$sg2++;$oyouka+=20;}
elsif($kurasus eq "GV"){$sg3++;$oyouka+=10;}

}elsif($flag[$i]==2){$s2++;$sankukane+=$syoukin2;$tsankukane+=$syoukin2;
}elsif($flag[$i]==3){$s3++;$sankukane+=$syoukin3;$tsankukane+=$syoukin3;
}elsif($flag[$i]==4){$s4++;$sankukane+=$syoukin4;$tsankukane+=$syoukin4;
}elsif($flag[$i]==5){$s4++;$sankukane+=$syoukin5;$tsankukane+=$syoukin5;
}else{$s4++;}


$srner="$tane<>$syoyuusya<>$opass<>$oyouka<>$otoshi<>$osp<>$osyu<>$ozizoku<>$okon<>$ost<>$oki<>$okenkou<>$okeiro<>$obaku<>$tt<>$th<>$ttt<>$tth<>$tht<>$thh<>$oketou1<>$onokori<>$oseityou<>$sankukane<>$topsaia<>$osanku<>$tsankukane<>$s1<>$s2<>$s3<>$s4<>$sg1<>$sg2<>$sg3<><><><>\n";
push(@tk, $srner);
}
}#for


open(TK,">$tanefile") ;
eval 'flock(TK,2);';
seek(TK,0,0); print TK @tk;
eval 'flock(TK,8);';
close(TK);



##### レコードの更新($def…減らす:タイムが遅く、増やす:タイムが早くなる。)

if($kyori==1000){$byo= 50;$def=140;$rm= 0;}#!!!!
elsif($kyori==1200){$byo= 60;$def=130;$rm= 1;}#!!!!
elsif($kyori==1400){$byo= 70;$def=150;$rm= 2;}#!!!!
elsif($kyori==1600){$byo= 90;$def=250;$rm= 3;}#!!!!
elsif($kyori==1800){$byo=100;$def=260;$rm= 4;}#!!!!
elsif($kyori==2000){$byo=110;$def=270;$rm= 5;}#!!!!
elsif($kyori==2200){$byo=130;$def=370;$rm= 6;}#!!!!
elsif($kyori==2400){$byo=140;$def=370;$rm= 7;}#!!!!
elsif($kyori==2500){$byo=150;$def=410;$rm= 8;}#!!!!
elsif($kyori==3000){$byo=180;$def=470;$rm= 9;}#!!!!
elsif($kyori==3200){$byo=190;$def=470;$rm=10;}#!!!!
else{$byo=220;$def=580;$rm=11;}#!!!!

$pur=int(($timer-$def)/10);$con=$timer-$def-(10*$pur);if($con<0){$con=0;}
$hun=int(($byo+$pur)/60);
$byo=$byo+$pur-($hun*60);


open(RE,"$recordfile");
seek(RE,0,0); @record = <RE>; close(RE);

($rhun, $rbyo, $rcon, $ruma, $rkisyu, $rba, $rnen) = split(/<>/,$record[$rm]);
$recflag="";
if(($rhun*1000000+$rbyo*100+$rcon)>($hun*1000000+$byo*100+$con)){#レコード更新
$recflag="<font color=red>レコード</font>";

@newrecord="";
for($i=0; $i<12; $i++){
if($i==$rm){push (@newrecord, "$hun<>$byo<>$con<>$winneruma<>$winnerkisyu<>$kaitis<>$nendo<>\n");}
else{push (@newrecord, "$record[$i]");}
}

open(RE,">$recordfile") ;
eval 'flock(RE,2);';
seek(RE,0,0); print RE @newrecord;
eval 'flock(RE,8);';
close(RE);
}



@jyuni="";# 順位確定
for($i=0; $i<10; $i++){
@jyuni[$i] = "${$w[$i]}[1]<>$flag[$i]<>$tyakuf[$i]";
}
@sortdata = sort { (split(/<>/,$a))[1] <=> (split(/<>/,$b))[1] } @jyuni;

$t2="$hun′$byo″$con$recflag";
for($i=0; $i<10; $i++){
($n, $j, $t) = split(/<>/,@sortdata[$i]);
$log[$m] = "<tr><td width=120>$n</td><td><center>$t2</td></tr><>";

if($t<=3){$t2="ハナ";}
elsif($t<=10){$t2="アタマ";}
elsif($t<=15){$t2="クビ";}
elsif($t<=35){$t2="1/2馬身";}
elsif($t<=45){$t2="3/4馬身";}
elsif($t<=60){$t2="1馬身";}
else{

$bas=int($t/60);
$nok=$t-$bas*60;
if($nok<=15){$nok="1/4";}
elsif($nok<=35){$nok="1/2";}
else{$nok="3/4";}
$t2="$bas $nok馬身";
}

$m++; # 11〜20
}


$log[21] = "@xk0<>";# 21〜30
$log[22] = "@xk1<>";
$log[23] = "@xk2<>";
$log[24] = "@xk3<>";
$log[25] = "@xk4<>";
$log[26] = "@xk5<>";
$log[27] = "@xk6<>";
$log[28] = "@xk7<>";
$log[29] = "@xk8<>";
$log[30] = "@xk9<>";

if($peesu==1){$peesu="超H";}
elsif($peesu==3){$peesu="H";}
elsif($peesu==5){$peesu="M";}
elsif($peesu==7){$peesu="S";}
else{$peesu="超S";}

$log[31] = "$peesu<>";
$log[32] = "$timer⇒$hun′$byo″$con$recflag<>";

$log[33] = "$number<>";# 騎手の動作
$log[34] = "$turns<>";
$log[35] = "$mosyon<>";

$log[36] = "@xx<>\n";# 残り距離



##### GT勝ち馬の記録

if($kurasus eq "GT"){
open(GW,"$gwinfile");
seek(GW,0,0); @gwin = <GW>; close(GW);

push (@gwin, $winnner);

open(GW,">$gwinfile") ;
eval 'flock(GW,2);';
seek(GW,0,0); print GW @gwin;
eval 'flock(GW,8);';
close(GW);
}

##### 対戦記録ファイルの更新

@list = ('race', $raceno,'file');
$file = join( "" , @list);

open(RA,"${$file}");
seek(RA,0,0); @ra = <RA>; close(RA);

push(@ra, @log);

open(RA,">${$file}") ;
eval 'flock(RA,2);';
seek(RA,0,0); print RA @ra;
eval 'flock(RA,8);';
close(RA);


###### レース終了の印

if($raceno == 1){
for($r=2; $r<7; $r++){
@rlist = ('race', $r,'file');
$rfile = join( "" , @rlist);
open(RRA,"${$rfile}");
seek(RRA,0,0); @rshiru = <RRA>; close(RRA);

@checkr = split(/<r>/,$rshiru[0]);
$rshiru[0] = "$checkr[0]<r>$checkr[1]<r>$checkr[2]<r>$checkr[3]<r>$checkr[4]<r>1<r>$checkr[6]<r>$checkr[7]<r>$checkr[8]<r>$checkr[9]<r>$checkr[10]<r>$checkr[11]<r>\n";

open(RRA,">${$rfile}") ;
eval 'flock(RRA,2);';
seek(RRA,0,0); print RRA @rshiru;
eval 'flock(RRA,8);';
close(RRA);

}
}

open(RA,"${$file}");
seek(RA,0,0); @shirushi = <RA>; close(RA);

@checks = split(/<r>/,$shirushi[0]);
$shirushi[0] = "$checks[0]<r>$checks[1]<r>$checks[2]<r>$checks[3]<r>$checks[4]<r>2<r>$checks[6]<r>$checks[7]<r>$checks[8]<r>$checks[9]<r>$checks[10]<r>$checks[11]<r>\n";

open(RA,">${$file}") ;
eval 'flock(RA,2);';
seek(RA,0,0); print RA @shirushi;
eval 'flock(RA,8);';
close(RA);


}#end rece




##### レース表示
sub top2{

if($form{'kekkano'} <= 90){
$no = $form{'kekkano'};

@list = ('race', $no,'file');
$file = join( "" , @list);
open(EE,"${$file}");
seek(EE,0,0); @ee = <EE>; close(EE);
@log = split(/<>/,$ee[$#ee]);

}elsif($form{'kekkano'} <= 190){
$no = $form{'kekkano'}-101;
open(ZE,"$zenfile");
seek(ZE,0,0); @ze = <ZE>; close(ZE);
@log = split(/<>/,$ze[$no]);

}elsif($form{'kekkano'} <= 1500){
$no = $form{'kekkano'}-1001;
open(ZZ,"$zzenfile");
seek(ZZ,0,0); @zz = <ZZ>; close(ZZ);
@log = split(/<>/,$zz[$no]);
}

if(@log[0] =~ m/中山/){$kaisai="nakayama";}
elsif(@log[0] =~ m/東京/){$kaisai="tokyo";}
elsif(@log[0] =~ m/京都/){$kaisai="kyoto";}
elsif(@log[0] =~ m/新潟/){$kaisai="niigata";}
elsif(@log[0] =~ m/阪神/){$kaisai="hanshin";}
elsif(@log[0] =~ m/中京/){$kaisai="chukyo";}
elsif(@log[0] =~ m/札幌/){$kaisai="sapporo";}
elsif(@log[0] =~ m/函館/){$kaisai="hakodate";}
elsif(@log[0] =~ m/小倉/){$kaisai="kokura";}
elsif(@log[0] =~ m/福島/){$kaisai="fukushima";}

else{$kaisai="ronsyan";}

@hyou="";
for($b=1; $b<11; $b++){
@prof = split(/<r>/,@log[$b]);
if(@prof[2] eq "uma1.gif"){$kiro[$b] = "k1.gif";}
elsif(@prof[2] eq "uma2.gif"){$kiro[$b] = "k2.gif";}
elsif(@prof[2] eq "uma3.gif"){$kiro[$b] = "k3.gif";}
elsif(@prof[2] eq "uma4.gif"){$kiro[$b] = "k4.gif";}
elsif(@prof[2] eq "uma5.gif"){$kiro[$b] = "k5.gif";}
elsif(@prof[2] eq "uma6.gif"){$kiro[$b] = "k6.gif";}
elsif(@prof[2] eq "uma7.gif"){$kiro[$b] = "k7.gif";}
elsif(@prof[2] eq "uma8.gif"){$kiro[$b] = "k8.gif";}
elsif(@prof[2] eq "uma9.gif"){$kiro[$b] = "k9.gif";}
elsif(@prof[2] eq "uma10.gif"){$kiro[$b] = "k10.gif";}
else{&error('レースデータがありません。');}
push (@hyou, "<tr><td><center>@prof[0]</td><td><center>@prof[1]</td><td><center>@prof[3]</td><td><center>@prof[4]kg</td></tr>");
}

@number = split(/<n>/,$log[33]);
@turns = split(/<n>/,$log[34]);
@mosyon = split(/<n>/,$log[35]);
$log[33] =~ s/<n>/,/g;
$log[34] =~ s/<n>/,/g;
$log[35] =~ s/<n>/,/g;
$kae = $#number+1;


&header;# ヘッダー表示
print <<"_HTML2_";
<br>$log[0]<P>
<table border=1 width=400><tr bgcolor=$button1><td><center>馬名</td><td><center>騎手</td><td><center>年齢</td><td><center>斤量</td></tr>
@hyou</table><br>
<SCRIPT type="text/javascript">

document.write('<center><table border=2 width=960 height=270 background=$imgurl/shiba.gif><tr><td>');
document.write('<DIV style=position=relative width=960 height=270 align="center">');
document.write('<IMG src=$imgurl/uma11.gif id=tree1 Name=Tree1 width=20 height=45 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=tree2 Name=Tree2 width=20 height=45 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=tree3 Name=Tree3 width=20 height=45 style=position:relative;>');
document.write('<br><img src=$imgurl/saku1.gif id=ita Name=Ban width=320 height=22><img src=$imgurl/saku1.gif width=320 height=22 id=ita2 Name=Ban2><img src=$imgurl/saku1.gif width=320 height=22 id=ita3 Name=Ban3></DIV>');
document.write('<DIV style=position=relative width=960 height=270 align="center">');
document.write('<IMG src=$imgurl/uma11.gif id=goul Name=Goul width=25 height=36 style=position:relative;>');
document.write('<br><IMG src=$imgurl/uma11.gif id=sono1 Name=Sono1 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono2 Name=Sono2 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono3 Name=Sono3 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono4 Name=Sono4 width=64 height=44 style=position:relative;>');

document.write('<IMG src=$imgurl/uma11.gif id=sono5 Name=Sono5 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono6 Name=Sono6 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono7 Name=Sono7 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono8 Name=Sono8 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono9 Name=Sono9 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=sono10 Name=Sono10 width=64 height=44 style=position:relative;>');
document.write('<br><IMG src=$imgurl/uma11.gif id=kisyu1 Name=Kisyu1 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu2 Name=Kisyu2 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu3 Name=Kisyu3 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu4 Name=Kisyu4 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu5 Name=Kisyu5 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu6 Name=Kisyu6 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu7 Name=Kisyu7 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu8 Name=Kisyu8 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu9 Name=Kisyu9 width=64 height=44 style=position:relative;>');
document.write('<IMG src=$imgurl/uma11.gif id=kisyu10 Name=Kisyu10 width=64 height=44 style=position:relative;>');
document.write('</center></DIV><BR><BR><BR><BR><BR></td></tr></table>');

InitX=500;
var judgeflg;
var cnt;
var modosu;
var ugoku;
var aa;
var bb;
var cc;
var dd;
var ee;
var ff;
var gg;
var hh;
var ii;
var Img1= new Image(); Img1.src="$imgurl/$kiro[1]";
var Img2= new Image(); Img2.src="$imgurl/$kiro[2]";
var Img3= new Image(); Img3.src="$imgurl/$kiro[3]";
var Img6= new Image(); Img6.src="$imgurl/$kiro[4]";
var Img7= new Image(); Img7.src="$imgurl/$kiro[5]";
var Img8= new Image(); Img8.src="$imgurl/$kiro[6]";
var Img9= new Image(); Img9.src="$imgurl/$kiro[7]";
var Img10=new Image(); Img10.src="$imgurl/$kiro[8]";
var Img11=new Image(); Img11.src="$imgurl/$kiro[9]";
var Img12=new Image(); Img12.src="$imgurl/$kiro[10]";
var Img4=new Image(); Img4.src="$imgurl/uma11.gif";//透明
var Img5=new Image(); Img5.src="$imgurl/$kaisai.gif";//ゴール板
var Img13=new Image(); Img13.src="$imgurl/saku2.gif";//動く柵
var Img14=new Image(); Img14.src="$imgurl/saku1.gif";//動かない柵


var Img15=new Image(); Img15.src="$imgurl/m1.gif";//普通
var Img16=new Image(); Img16.src="$imgurl/m2.gif";//風車鞭
var Img17=new Image(); Img17.src="$imgurl/m3.gif";//鞭
var Img18=new Image(); Img18.src="$imgurl/m4.gif";//掛かる


var Img19=new Image(); Img19.src="$imgurl/tree1.gif";//標識200
var Img20=new Image(); Img20.src="$imgurl/tree2.gif";//標識400
var Img21=new Image(); Img21.src="$imgurl/tree3.gif";//標識600


XA = new Array($log[21]);
XB = new Array($log[22]);
XC = new Array($log[23]);
XD = new Array($log[24]);
XE = new Array($log[25]);
XF = new Array($log[26]);
XG = new Array($log[27]);
XH = new Array($log[28]);
XI = new Array($log[29]);
XJ = new Array($log[30]);

number = new Array($log[33]1);
turns = new Array($log[34]1);
mosyon = new Array($log[35]1);

XX = new Array($log[36]);//残り距離

function InitProc(){
//変数初期化
cnt=-1;
modosu=0;
ugoku=0;
aa=0;bb=0;cc=0;dd=0;ee=0;ff=0;gg=0;hh=0;ii=0;
turn = XA.length;

//画像を戻す(動かない馬)
Sono1.src=Img4.src;
Sono2.src=Img4.src;
Sono3.src=Img4.src;
Sono4.src=Img4.src;
Sono5.src=Img4.src;
Sono6.src=Img4.src;
Sono7.src=Img4.src;
Sono8.src=Img4.src;
Sono9.src=Img4.src;
Sono10.src=Img4.src;

// 騎手
Kisyu1.src=Img4.src;
Kisyu2.src=Img4.src;
Kisyu3.src=Img4.src;
Kisyu4.src=Img4.src;
Kisyu5.src=Img4.src;
Kisyu6.src=Img4.src;
Kisyu7.src=Img4.src;
Kisyu8.src=Img4.src;
Kisyu9.src=Img4.src;
Kisyu10.src=Img4.src;

// ゴール板
Goul.src=Img5.src;

mae=0;
//初期の位置
InitMidoten();
}

function InitMidoten(){
sono1.style.posLeft = InitX+250;
sono2.style.posLeft = InitX+250-64*1;
sono3.style.posLeft = InitX+250-64*2;
sono4.style.posLeft = InitX+250-64*3;
sono5.style.posLeft = InitX+250-64*4;
sono6.style.posLeft = InitX+250-64*5;
sono7.style.posLeft = InitX+250-64*6;
sono8.style.posLeft = InitX+250-64*7;
sono9.style.posLeft = InitX+250-64*8;
sono10.style.posLeft = InitX+250-64*9;

kisyu1.style.posLeft = InitX+250;
kisyu2.style.posLeft = InitX+250-64*1;
kisyu3.style.posLeft = InitX+250-64*2;
kisyu4.style.posLeft = InitX+250-64*3;
kisyu5.style.posLeft = InitX+250-64*4;
kisyu6.style.posLeft = InitX+250-64*5;
kisyu7.style.posLeft = InitX+250-64*6;
kisyu8.style.posLeft = InitX+250-64*7;
kisyu9.style.posLeft = InitX+250-64*8;
kisyu10.style.posLeft= InitX+250-64*9;

sono1.style.posTop = -55;
sono2.style.posTop = -40;
sono3.style.posTop = -25;
sono4.style.posTop = -10;
sono5.style.posTop = 5;
sono6.style.posTop = 20;
sono7.style.posTop = 35;
sono8.style.posTop = 50;
sono9.style.posTop = 65;
sono10.style.posTop = 80;


goul.style.posLeft= -3200;
goul.style.posTop = -38;

tree1.style.posTop = 20;
tree2.style.posTop = 20;
tree3.style.posTop = 20;
tree1.style.posLeft = -600;
tree2.style.posLeft = -600;
tree3.style.posLeft = -600;

}
function ShowKazariTrue(){
InitProc();
ShowHanabi();
}
function ShowHanabi(){
timer1 = setTimeout('MoveHanabi()',50);
}
function MoveHanabi(){
clearTimeout(timer1);
if (cnt == -1){//スタート前

Sono1.src=Img1.src;
Sono2.src=Img2.src;
Sono3.src=Img3.src;
Sono4.src=Img6.src;
Sono5.src=Img7.src;
Sono6.src=Img8.src;
Sono7.src=Img9.src;
Sono8.src=Img10.src;
Sono9.src=Img11.src;
Sono10.src=Img12.src;

Kisyu1.src=Img15.src;
Kisyu2.src=Img15.src;
Kisyu3.src=Img15.src;
Kisyu4.src=Img15.src;
Kisyu5.src=Img15.src;
Kisyu6.src=Img15.src;
Kisyu7.src=Img15.src;
Kisyu8.src=Img15.src;
Kisyu9.src=Img15.src;
Kisyu10.src=Img15.src;

kisyu1.style.posTop = -95;
kisyu2.style.posTop = -80;
kisyu3.style.posTop = -65;
kisyu4.style.posTop = -50;
kisyu5.style.posTop = -35;
kisyu6.style.posTop = -20;
kisyu7.style.posTop = -5;
kisyu8.style.posTop = 10;
kisyu9.style.posTop = 25;
kisyu10.style.posTop = 40;


Kisyu1.w=0;Kisyu2.w=0;Kisyu3.w=0;Kisyu4.w=0;Kisyu5.w=0;
Kisyu6.w=0;Kisyu7.w=0;Kisyu8.w=0;Kisyu9.w=0;Kisyu10.w=0;

timer1=setTimeout('MoveHanabi()',1500);
}
else if ( cnt < turn ){//下

if (modosu == 0){
document.getElementById('comm').innerHTML='<b>スタートしました!</b>';
modosu=1;
}


for (i=mae; i<$kae; i++) {
if(cnt==turns[i]){
number[i].src=mosyon[i].src;mae++;
if(mosyon[i]==Img16){number[i].w=-7;}//風車鞭
else if(mosyon[i]==Img17){number[i].w=-7;}//鞭
else if(mosyon[i]==Img18){number[i].w=-7;}//掛かる
else if(mosyon[i]==Img15){number[i].w=-3;}//普通
}
}



// X座標
sono1.style.posLeft = (XA[cnt]);
sono2.style.posLeft = (XB[cnt])-64*1;
sono3.style.posLeft = (XC[cnt])-64*2;
sono4.style.posLeft = (XD[cnt])-64*3;
sono5.style.posLeft = (XE[cnt])-64*4;
sono6.style.posLeft = (XF[cnt])-64*5;
sono7.style.posLeft = (XG[cnt])-64*6;
sono8.style.posLeft = (XH[cnt])-64*7;
sono9.style.posLeft = (XI[cnt])-64*8;
sono10.style.posLeft= (XJ[cnt])-64*9;

kisyu1.style.posLeft= (XA[cnt]);
kisyu2.style.posLeft= (XB[cnt])-64*1;
kisyu3.style.posLeft= (XC[cnt])-64*2;
kisyu4.style.posLeft= (XD[cnt])-64*3;
kisyu5.style.posLeft= (XE[cnt])-64*4;
kisyu6.style.posLeft= (XF[cnt])-64*5;
kisyu7.style.posLeft= (XG[cnt])-64*6;
kisyu8.style.posLeft= (XH[cnt])-64*7;
kisyu9.style.posLeft= (XI[cnt])-64*8;
kisyu10.style.posLeft= (XJ[cnt])-64*9;

kisyu1.style.posTop = -95+Kisyu1.w;
kisyu2.style.posTop = -80+Kisyu2.w;
kisyu3.style.posTop = -65+Kisyu3.w;
kisyu4.style.posTop = -50+Kisyu4.w;
kisyu5.style.posTop = -35+Kisyu5.w;
kisyu6.style.posTop = -20+Kisyu6.w;
kisyu7.style.posTop = -5+Kisyu7.w;
kisyu8.style.posTop = 10+Kisyu8.w;
kisyu9.style.posTop = 25+Kisyu9.w;
kisyu10.style.posTop = 40+Kisyu10.w;


if (ugoku == 0){
if (XA[cnt]<XB[cnt]){aa=XA[cnt];}else{aa=XB[cnt];}
if (XC[cnt]<XD[cnt]){bb=XC[cnt];}else{bb=XD[cnt];}
if (XE[cnt]<XF[cnt]){cc=XE[cnt];}else{cc=XF[cnt];}
if (XG[cnt]<XH[cnt]){dd=XG[cnt];}else{dd=XH[cnt];}
if (XI[cnt]<XJ[cnt]){ee=XI[cnt];}else{ee=XJ[cnt];}
if (aa<bb){ff=aa;}else{ff=bb;}
if (cc<dd){gg=cc;}else{gg=dd;}
if (ff<gg){hh=ff;}else{hh=gg;}
if (hh<ee){ii=hh;}else{ii=ee;}

if (ii == 0){
Tree1.src=Img19.src;
Tree2.src=Img20.src;
Tree3.src=Img21.src;
Ban.src=Img13.src;
Ban2.src=Img13.src;
Ban3.src=Img13.src;
ugoku=1;
}

}

if (ugoku == 1){
if (XA[cnt]<XB[cnt]){aa=XA[cnt];}else{aa=XB[cnt];}
if (XC[cnt]<XD[cnt]){bb=XC[cnt];}else{bb=XD[cnt];}
if (XE[cnt]<XF[cnt]){cc=XE[cnt];}else{cc=XF[cnt];}
if (XG[cnt]<XH[cnt]){dd=XG[cnt];}else{dd=XH[cnt];}
if (XI[cnt]<XJ[cnt]){ee=XI[cnt];}else{ee=XJ[cnt];}
if (aa<bb){ff=aa;}else{ff=bb;}
if (cc<dd){gg=cc;}else{gg=dd;}
if (ff<gg){hh=ff;}else{hh=gg;}
if (hh<ee){ii=hh;}else{ii=ee;}

// 標識
if (XX[cnt]<=400) {tree1.style.posLeft += 30;}
if (XX[cnt]<=600) {tree2.style.posLeft += 30;}
if (XX[cnt]<=800) {tree3.style.posLeft += 30;}



goul.style.posLeft = -320-XX[cnt];
if (ii < 0){
Ban.src=Img14.src;
Ban2.src=Img14.src;
Ban3.src=Img14.src;
ugoku=2;
}

}



timer1=setTimeout('MoveHanabi()',70);

}else{//ゴール

document.getElementById('comm').innerHTML='<table border=0>$log[11]$log[12]$log[13]$log[14]$log[15]$log[16]$log[17]$log[18]$log[19]$log[20]</table><P>$log[31]ペース';


Kisyu1.src=Img15.src;
Kisyu2.src=Img15.src;
Kisyu3.src=Img15.src;
Kisyu4.src=Img15.src;
Kisyu5.src=Img15.src;
Kisyu6.src=Img15.src;
Kisyu7.src=Img15.src;
Kisyu8.src=Img15.src;
Kisyu9.src=Img15.src;
Kisyu10.src=Img15.src;

}
cnt++;

}

document.write('<BR><div id="comm"></div>');

</SCRIPT>


<BR>
<center>
<INPUT type="button" name="CorrectBtn" value="レース開始" onClick="ShowKazariTrue()">
<BR><BR>

_HTML2_

&hutter;# フッター表示
&chosaku;



}#end top2