setReadOnly(); $userID = Session::getUserID(); $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); $connect=$db->get(); increaseRefresh("토너먼트", 1); TurnExecutionHelper::executeAllCommand(); $query = "select no,tournament,con,turntime from general where owner='{$userID}'"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $me = MYDB_fetch_array($result); $admin = $gameStor->getValues(['tournament','phase','tnmt_msg','tnmt_type','develcost','tnmt_trig']); $con = checkLimit($me['con']); if ($con >= 2) { printLimitMsg($me['turntime']); exit(); } switch ($admin['tnmt_type']) { default: throw new \RuntimeException('invalid tnmt_type'); case 0: $tnmt_type = "전력전"; $tp = "total"; $tp2 = "종합"; $tp3 = "total"; break; case 1: $tnmt_type = "통솔전"; $tp = "leadership"; $tp2 = "통솔"; $tp3 = "leadership"; break; case 2: $tnmt_type = "일기토"; $tp = "strength"; $tp2 = "무력"; $tp3 = "strength"; break; case 3: $tnmt_type = "설전"; $tp = "intel"; $tp2 = "지력"; $tp3 = "intel"; break; } ?> <?=UniqueConst::$serverName?>: 토너먼트
삼모전 토너먼트
userGrade >= 5) { $sel = []; echo " "; } elseif ($me['no'] > 0 && $me['tournament'] == 0 && $admin['tournament'] == 1) { echo ""; } else { echo ""; } $str1 = getTournament($admin['tournament']); $str2 = getTournamentTime(); if($str2){ $str2 = ', '.$str2; } $str3 = getTournamentTerm(); if($str3){ $str3 = ', '.$str3; } ?> "; if ($admin['tournament'] >= 7 || $admin['tournament'] == 0) { printFighting($admin['tournament'], $admin['phase']); } echo " "; $num = array("一", "二", "三", "四", "五", "六", "七", "八"); for ($i=0; $i < 8; $i++) { $grp = $i + 10; echo " "; } echo ""; if ($admin['tournament'] == 4 || $admin['tournament'] == 5) { printFighting($admin['tournament'], $admin['phase']); } echo " "; for ($i=0; $i < 8; $i++) { $grp = $i; echo " "; } if ($admin['tournament'] == 2 || $admin['tournament'] == 3) { printFighting($admin['tournament'], $admin['phase']); } ?>
"; switch ($admin['tnmt_trig']) { case 0: $sel[0] = "selected"; break; case 1: $sel[1] = "selected"; break; case 2: $sel[2] = "selected"; break; case 3: $sel[3] = "selected"; break; case 4: $sel[4] = "selected"; break; case 5: $sel[5] = "selected"; break; case 6: $sel[6] = "selected"; break; case 7: $sel[7] = "selected"; break; } if ($admin['tournament'] == 0) { ?> "; } switch ($admin['tournament']) { case 1: echo ""; echo ""; break; case 2: echo ""; break; case 3: echo ""; break; case 4: echo ""; break; case 5: echo ""; break; case 6: echo ""; break; case 7: echo ""; break; case 8: echo ""; break; case 9: echo ""; break; case 10: echo ""; break; } echo "
운영자 메세지 :
()
16강 승자전
"; $query = "select npc,name,win from tournament where grp>=60 order by grp, grp_no"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); for ($i=0; $i < 1; $i++) { $general = MYDB_fetch_array($result) ?? [ 'name'=>'', 'npc'=>0, 'win'=>0 ]; if ($general['name'] == "") { $general['name'] = "-"; } if ($general['npc'] >= 2) { $general['name'] = "".$general['name'].""; } elseif ($general['npc'] == 1) { $general['name'] = "".$general['name'].""; } echo ""; } echo " "; $query = "select npc,name,win from tournament where grp>=50 order by grp, grp_no"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); $cent = []; for ($i=0; $i < 1; $i++) { $cent[$i] = ""; } $line = []; $gen = []; for ($i=0; $i < 2; $i++) { //FIXME: 다시 작성. null인 경우엔 어쩌려고? $general = MYDB_fetch_array($result) ?? [ 'name'=>'', 'npc'=>0, 'win'=>0 ]; if ($general['name'] == "") { $general['name'] = "-"; } if ($general['npc'] >= 2) { $general['name'] = "".$general['name'].""; } elseif ($general['npc'] == 1) { $general['name'] = "".$general['name'].""; } if ($general['win'] > 0) { $line[$i] = ""; $cent[intdiv($i, 2)] = ""; } else { $line[$i] = ""; } $gen[$i] = $general['name']; } for ($i=0; $i < 1; $i++) { $cent[$i] = $cent[$i]."┻".""; $line[$i*2] = $line[$i*2]."┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━".""; $line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓".""; echo ""; } echo " "; for ($i=0; $i < 2; $i++) { echo ""; } echo " "; $query = "select npc,name,win from tournament where grp>=40 order by grp, grp_no"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); for ($i=0; $i < 2; $i++) { $cent[$i] = ""; } for ($i=0; $i < 4; $i++) { $general = MYDB_fetch_array($result) ?? [ 'name'=>'', 'npc'=>0, 'win'=>0 ]; if ($general['name'] == "") { $general['name'] = "-"; } if ($general['npc'] >= 2) { $general['name'] = "".$general['name'].""; } elseif ($general['npc'] == 1) { $general['name'] = "".$general['name'].""; } if ($general['win'] > 0) { $line[$i] = ""; $cent[intdiv($i, 2)] = ""; } else { $line[$i] = ""; } $gen[$i] = $general['name']; } for ($i=0; $i < 2; $i++) { $cent[$i] = $cent[$i]."┻".""; $line[$i*2] = $line[$i*2]."┏━━━━━━━━━━━━━━━━━━".""; $line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━━━━━━━━━━┓".""; echo ""; } echo " "; for ($i=0; $i < 4; $i++) { echo ""; } echo " "; $query = "select npc,name,win from tournament where grp>=30 order by grp, grp_no"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); for ($i=0; $i < 4; $i++) { $cent[$i] = ""; } for ($i=0; $i < 8; $i++) { $general = MYDB_fetch_array($result) ?? [ 'name'=>'', 'npc'=>0, 'win'=>0 ]; if ($general['name'] == "") { $general['name'] = "-"; } if ($general['npc'] >= 2) { $general['name'] = "".$general['name'].""; } elseif ($general['npc'] == 1) { $general['name'] = "".$general['name'].""; } if ($general['win'] > 0) { $line[$i] = ""; $cent[intdiv($i, 2)] = ""; } else { $line[$i] = ""; } $gen[$i] = $general['name']; } for ($i=0; $i < 4; $i++) { $cent[$i] = $cent[$i]."┻".""; $line[$i*2] = $line[$i*2]."┏━━━━━━━━━".""; $line[$i*2+1] = $line[$i*2+1]."━━━━━━━━━┓".""; echo ""; } echo " "; for ($i=0; $i < 8; $i++) { echo ""; } echo " "; $query = "select npc,name,win from tournament where grp>=20 order by grp, grp_no"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); for ($i=0; $i < 8; $i++) { $cent[$i] = ""; } for ($i=0; $i < 16; $i++) { $general = MYDB_fetch_array($result) ?? [ 'name'=>'', 'npc'=>0, 'win'=>0 ]; if ($general['name'] == "") { $general['name'] = "-"; } if ($general['npc'] >= 2) { $general['name'] = "".$general['name'].""; } elseif ($general['npc'] == 1) { $general['name'] = "".$general['name'].""; } if ($general['win'] > 0) { $line[$i] = ""; $cent[intdiv($i, 2)] = ""; } else { $line[$i] = ""; } $gen[$i] = $general['name']; } for ($i=0; $i < 8; $i++) { $cent[$i] = $cent[$i]."┻".""; $line[$i*2] = $line[$i*2]."┏━━━━".""; $line[$i*2+1] = $line[$i*2+1]."━━━━┓".""; echo ""; } echo " "; for ($i=0; $i < 16; $i++) { echo ""; } echo" "; $globalBet = $db->queryFirstList('SELECT * FROM betting WHERE general_id = 0')??[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ]; $globalBet = array_splice($globalBet, -16); $globalBetTotal = array_sum($globalBet); $admin = $gameStor->getValues(['tournament', 'phase']); $bet = []; for ($i=0; $i < 16; $i++) { if($globalBet[$i] == 0){ $bet[$i] = '∞'; continue; } $bet[$i] = round($globalBetTotal / $globalBet[$i], 2); } echo " "; for ($i=0; $i < 16; $i++) { echo ""; } echo "
{$general['name']}
{$line[$i*2]}{$cent[$i]}{$line[$i*2+1]}
{$gen[$i]}
{$line[$i*2]}{$cent[$i]}{$line[$i*2+1]}
{$gen[$i]}
{$line[$i*2]}{$cent[$i]}{$line[$i*2+1]}
{$gen[$i]}
{$line[$i*2]}{$cent[$i]}{$line[$i*2+1]}
{$gen[$i]}
{$bet[$i]}
배당률이 낮을수록 베팅된 금액이 많고 유저들이 우승후보로 많이 선택한 장수입니다.
조별 본선 순위
"; $query = "select npc,name,leadership,strength,intel,leadership+strength+intel as total,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); for ($k=1; $k <= 4; $k++) { $general = MYDB_fetch_array($result); printRow($k, $general['npc'], $general['name'], $general[$tp], $general['game'], $general['win'], $general['draw'], $general['lose'], $general['gd'], $general['gl'], $general['prmt']); } echo "
{$num[$i]}조
장수{$tp2}
조별 예선 순위
"; $query = "select npc,name,leadership,strength,intel,leadership+strength+intel as total,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); for ($k=1; $k <= 8; $k++) { $general = MYDB_fetch_array($result); printRow($k, $general['npc'], $general['name'], $general[$tp], $general['game'], $general['win'], $general['draw'], $general['lose'], $general['gd'], $general['gl'], $general['prmt']); } echo "
{$num[$i]}조
장수{$tp2}
ㆍ예선은 홈&어웨이 풀리그로 진행됩니다. (총 14경기)
ㆍ상위 4명이 본선에 진출하게 되며 조추첨을 통해 조가 배정됩니다.
ㆍ각 조1위가 시드1로 랜덤하게 조에 배정되며, 역시 각 조2위가 시드2로 랜덤하게 조에 배정됩니다.
ㆍ그후 남은 3, 4위는 완전 랜덤하게 모든 조에 랜덤하게 배정됩니다.
ㆍ본선은 개인당 3경기를 치르게 되며 승점(승3, 무1, 패0), 득실, 참가순서(시드)에 따라 순위를 매깁니다.
ㆍ각 조 1, 2위는 16강에 지정된 위치에 배정됩니다.
ㆍ16강부터는 1경기 토너먼트로 진행됩니다.
ㆍ참가비는 금20~140이며, 성적에 따라 금과 약간의 명성이 포상으로 주어집니다.
ㆍ16강자 100, 8강자 300, 4강자 600, 준우승자 1200, 우승자 2000 (220년 기준)
ㆍ즐거운 삼토!