ランキング%s
%s
EOF;
printf( $template,
$a,
$b
);
}
/*
function map_title( $xml )
{
printf( "クロニクルモード(%s) 攻略率%s
\n",
mb_convert_encoding( $xml->INFO->LOCATION, "SJIS", "UTF-8" ),
mb_convert_encoding( $xml->INFO->RATE, "SJIS", "UTF-8" )
);
printf( "
\n" );
}
*/
function t_ranking( $xml )
{
$template = <<< EOF
%s位 %s
%s(%s)
EOF;
$i = 0;
foreach( $xml->START->DATA as $d ){
if ($i >= 10) break;
printf( $template,
$d->RANK, $d->SCORE,
$_SERVER['SERVER_NAME'],
$d->MAC,
mb_convert_encoding( $d->LOCATION, "SJIS", "UTF-8" ),
mb_convert_encoding( $d->REGION, "SJIS", "UTF-8" )
);
$i++;
}
}
function o_ranking( $xml )
{
$template = <<< EOF
%s位 %s
%s
%s
%s(%s)
EOF;
$i = 0;
foreach( $xml->START->DATA as $d ){
if ($i >= 10) break;
printf( $template,
$d->RANK, $d->SCORE,
$d->NAME,
$d->DATE,
$_SERVER['SERVER_NAME'],
$d->MAC,
mb_convert_encoding( $d->LOCATION, "SJIS", "UTF-8" ),
mb_convert_encoding( $d->REGION, "SJIS", "UTF-8" )
);
$i++;
}
}
function c_ranking( $xml )
{
$template = <<< EOF
%s位 %s
%s(%s)
EOF;
$i = 0;
foreach( $xml->START->DATA as $d ){
if ($i >= 10) break;
printf( $template,
$d->RANK, mb_convert_encoding( $d->RATE, "SJIS", "UTF-8" ),
$_SERVER['SERVER_NAME'],
$d->MAC,
mb_convert_encoding( $d->LOCATION, "SJIS", "UTF-8" ),
mb_convert_encoding( $d->REGION, "SJIS", "UTF-8" )
);
$i++;
}
}
function map_big( $xml )
{
if ( isset($_GET['mac']) ){
$m = '&mac='.$_GET['mac'];
}
else{
$m = '';
}
$old = "00";
foreach( $xml->MAPBIG->DATA as $d ){
if ( $old != $new = substr( $d->ID, 0, 2 ) ){
printf( "
" );
$old = substr( $d->ID, 0, 2 );
}
printf( "%s
"
,
$_SERVER['SERVER_NAME'],
$_GET['mode'],
mb_convert_encoding( $d->ID, "SJIS", "UTF-8" ),
$m,
mb_convert_encoding( $d->NAME, "SJIS", "UTF-8" )
);
}
}
function map_small( $xml, $big )
{
if ( isset($_GET['mac']) ){
$m = '&mac='.$_GET['mac'];
}
else{
$m = '';
}
$s = 's'.$big;
foreach( $xml->MAP->$s->DATA as $d ){
printf( "%s(%d)
"
,
$_SERVER['SERVER_NAME'],
$_GET['mode'],
$big,
mb_convert_encoding( $d->ID, "SJIS", "UTF-8" ),
$m,
mb_convert_encoding( $d->NAME, "SJIS", "UTF-8" ),
intval('0x'.$d->ID,16)
);
}
}
function cr_ranking( $xml, $big, $small )
{
$a_template = <<< EOF
エリア%d
%s
EOF;
$h_template = <<< EOF
ハイスコア:%s
プレイヤー:%s
%s
EOF;
$f_template = <<< EOF
初回クリア
プレイヤー:%s
%s
EOF;
$t_template = <<< EOF
%s
%s
EOF;
$s = 's'.$big;
foreach( $xml->MAP->$s->DATA as $d ){
if ( $d->ID == $small ){
printf( $a_template
,
intval('0x'.$d->ID,16),
mb_convert_encoding( $d->NAME, "SJIS", "UTF-8" )
);
printf( $h_template
,
mb_convert_encoding( $d->TSCORE, "SJIS", "UTF-8" ),
mb_convert_encoding( $d->TNAME, "SJIS", "UTF-8" ),
mb_convert_encoding( $d->TDATE, "SJIS", "UTF-8" )
);
if ( isset($d->FDATE) ){
printf( $f_template
,
mb_convert_encoding( $d->FNAME, "SJIS", "UTF-8" ),
mb_convert_encoding( $d->FDATE, "SJIS", "UTF-8" )
);
}
printf( $t_template
,
mb_convert_encoding( $d->TREGION, "SJIS", "UTF-8" ),
mb_convert_encoding( $d->TLOCATION, "SJIS", "UTF-8" )
);
break;
}
}
}
if ( !isset( $_GET['mode'] ) ){
die;
}
$xmldir = '../../../dbac/xml110729/';
switch( $_GET['mode'] ){
case 't':
//累積
//map.xml読み込み
$xml = simplexml_load_file( $xmldir.'/sum/all.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
t_ranking( $xml );
break;
case 'tw':
//ウィークリー
$xml = simplexml_load_file( $xmldir.'/sum/weekly.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
t_ranking( $xml );
break;
case 'td':
//デイリー
$xml = simplexml_load_file( $xmldir.'/sum/daily.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
t_ranking( $xml );
break;
// 攻略率
case 'cp':
$xml = simplexml_load_file( $xmldir.'/sum/clearrate.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
c_ranking( $xml );
break;
// オリジナルモード
case 'oe0':
$xml = simplexml_load_file( $xmldir.'/normalgame/Easy_0.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'oe1':
$xml = simplexml_load_file( $xmldir.'/normalgame/Easy_1.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'oe2':
$xml = simplexml_load_file( $xmldir.'/normalgame/Easy_2.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'oe3':
$xml = simplexml_load_file( $xmldir.'/normalgame/Easy_3.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'on0':
$xml = simplexml_load_file( $xmldir.'/normalgame/Normal_0.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'on1':
$xml = simplexml_load_file( $xmldir.'/normalgame/Normal_1.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'on2':
$xml = simplexml_load_file( $xmldir.'/normalgame/Normal_2.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'on3':
$xml = simplexml_load_file( $xmldir.'/normalgame/Normal_3.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'oh0':
$xml = simplexml_load_file( $xmldir.'/normalgame/Hard_0.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'oh1':
$xml = simplexml_load_file( $xmldir.'/normalgame/Hard_1.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'oh2':
$xml = simplexml_load_file( $xmldir.'/normalgame/Hard_2.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'oh3':
$xml = simplexml_load_file( $xmldir.'/normalgame/Hard_3.xml');
title( "",mb_convert_encoding( $xml->TITLE, "SJIS", "UTF-8" ) );
o_ranking( $xml );
break;
case 'c':
if ( isset($_GET['mac']) ){
if ( preg_match("/[^0-9]+/i",$_GET['mac']) || strlen($_GET['mac'])>10 ){
printf( "%d
",__LINE__);
die;
}
$xml = simplexml_load_file( $xmldir.'/chronicle/map'.$_GET['mac'].'.xml');
}
else{
$xml = simplexml_load_file( $xmldir.'/chronicle/map.xml');
}
if ( isset($_GET['bmap']) ){ // big
if ( preg_match("/[^0-9a-f]+/i",$_GET['bmap']) || strlen($_GET['bmap'])!=4 ){
printf( "%d
",__LINE__);
die;
}
if ( isset($_GET['smap']) ){ // small
if ( preg_match("/[^0-9a-f]+/i",$_GET['smap']) || strlen($_GET['smap'])!=4 ){
printf( "%d
",__LINE__);
die;
}
// big&small = put ranking
title( "",
"クロニクルモード(".mb_convert_encoding( $xml->INFO->LOCATION, "SJIS", "UTF-8" ).")"
);
cr_ranking( $xml, $_GET['bmap'], $_GET['smap'] );
}
else{
// big only = put small
title( "[エリア選択]",
"クロニクルモード(".mb_convert_encoding( $xml->INFO->LOCATION, "SJIS", "UTF-8" ).")"
);
map_small( $xml, $_GET['bmap'] );
}
}
else{
// noting = put big
title( "[星系選択]",
"クロニクルモード(".mb_convert_encoding( $xml->INFO->LOCATION, "SJIS", "UTF-8" ).") 攻略率".mb_convert_encoding( $xml->INFO->RATE, "SJIS", "UTF-8" )
);
map_big( $xml );
}
default:
break;
}
?>
最終結果トップへ
トップへ戻る
(C)TAITO 1986,2010
';?>