mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-26 18:28:12 +00:00

Most references to and dependencies on Subversion have been removed. "+svn" is now "+dev". Files that can't be fixed yet have a FIXME-GIT comment in them; most of these are in the website tests.
204 lines
7.7 KiB
PHP
Executable File
204 lines
7.7 KiB
PHP
Executable File
<html>
|
|
<head>
|
|
<title>Wesnoth AI Testing Statistics</title>
|
|
</head>
|
|
<body>
|
|
<?php
|
|
$database = pg_connect("host=127.0.0.1 dbname=org.wesnoth.ai.test user=wesnoth_ai_test_viewer_impl password=PASSWORD");
|
|
if (!$database) {
|
|
print("Connection Failed.");
|
|
exit;
|
|
} else {
|
|
# print("Connection Ok!");
|
|
}
|
|
?>
|
|
<h2>Latest repository AI wins % graph:</h2>
|
|
<?php
|
|
$query = "select ai_ident_me,avg_from(sum(win)*100,count(*))::bigint as win_percent from games_side where repo_release=(select max(repo_release) from games_side) group by ai_ident_me order by ai_ident_me;";
|
|
$result = pg_query($query);
|
|
if (!$result) {
|
|
echo pg_last_error();
|
|
exit();
|
|
}
|
|
$a = "";
|
|
$b = "";
|
|
$i = true;
|
|
while($myrow = pg_fetch_assoc($result)) {
|
|
if ($i) {
|
|
$a=$a.$myrow['ai_ident_me'];
|
|
$b=$b.$myrow['win_percent'];
|
|
$i=false;
|
|
} else {
|
|
$a=$a."|".$myrow['ai_ident_me'];
|
|
$b=$b.",".$myrow['win_percent'];
|
|
}
|
|
}
|
|
|
|
printf("<img src=\"http://chart.apis.google.com/chart?cht=p3&chd=t:$b&chs=500x200&chl=$a\" alt=\"win percentages\" title=\"win percentages\"");
|
|
?>
|
|
|
|
<h2>By AI:</h2>
|
|
<table border=1>
|
|
<tr>
|
|
<th>AI</th>
|
|
<th>Repository_Revision</th>
|
|
<th>Win %</th>
|
|
<th>Games</th>
|
|
<th>Wins</th>
|
|
<th>Losses</th>
|
|
<th>Avg. turns to win</th>
|
|
<th>Avg. turns to lose</th>
|
|
</tr>
|
|
<?php
|
|
$query = "select ai_ident_me, repo_release, avg_from(sum(win)*100,count(*)) as win_percent, count(*) as games, sum(win) as wins, sum(draw) as draws, sum(loss) as losses, avg_from(sum(win_turns),sum(win)) as avg_win_turns, avg_from(sum(loss_turns),sum(loss)) as avg_loss_turns from games_side group by ai_ident_me, repo_release order by ai_ident_me, repo_release desc;";
|
|
$result = pg_query($query);
|
|
if (!$result) {
|
|
echo pg_last_error();
|
|
exit();
|
|
}
|
|
|
|
while($myrow = pg_fetch_assoc($result)) {
|
|
printf ("<tr><td>%s</td><td>%d</td><td>%.1f</td><td>%d</td><td>%d</td><td>%d</td><td>%.1f</td><td>%.1f</td></tr>",
|
|
$myrow['ai_ident_me'],$myrow['repo_release'],$myrow['win_percent'],$myrow['games'],$myrow['wins'],$myrow['losses'],$myrow['avg_win_turns'],$myrow['avg_loss_turns']);
|
|
}
|
|
?>
|
|
</table>
|
|
<h2>By AI and side</h2>
|
|
<table border=1>
|
|
<tr>
|
|
<th>AI</th>
|
|
<th>Side</th>
|
|
<th>Repository_Revision</th>
|
|
<th>Win %</th>
|
|
<th>Games</th>
|
|
<th>Wins</th>
|
|
<th>Losses</th>
|
|
<th>Avg. turns to win</th>
|
|
<th>Avg. turns to lose</th>
|
|
</tr>
|
|
<?php
|
|
$query = "select ai_ident_me, my_side, repo_release, avg_from(sum(win)*100,count(*)) as win_percent, count(*) as games, sum(win) as wins, sum(draw) as draws, sum(loss) as losses, avg_from(sum(win_turns),sum(win)) as avg_win_turns, avg_from(sum(loss_turns),sum(loss)) as avg_loss_turns from games_side group by ai_ident_me, my_side, repo_release order by ai_ident_me, my_side, repo_release desc;";
|
|
$result = pg_query($query);
|
|
if (!$result) {
|
|
echo pg_last_error();
|
|
exit();
|
|
}
|
|
|
|
while($myrow = pg_fetch_assoc($result)) {
|
|
printf ("<tr><td>%s</td><td>%s</td><td>%d</td><td>%.1f</td><td>%d</td><td>%d</td><td>%d</td><td>%.1f</td><td>%.1f</td></tr>",
|
|
$myrow['ai_ident_me'],$myrow['my_side'],$myrow['repo_release'],$myrow['win_percent'],$myrow['games'],$myrow['wins'],$myrow['losses'],$myrow['avg_win_turns'],$myrow['avg_loss_turns']);
|
|
}
|
|
?>
|
|
</table>
|
|
<h2>By AI and map</h2>
|
|
<table border=1>
|
|
<tr>
|
|
<th>AI</th>
|
|
<th>Map</th>
|
|
<th>Repository_Revision</th>
|
|
<th>Win %</th>
|
|
<th>Games</th>
|
|
<th>Wins</th>
|
|
<th>Losses</th>
|
|
<th>Avg. turns to win</th>
|
|
<th>Avg. turns to lose</th>
|
|
</tr>
|
|
<?php
|
|
$query = "select ai_ident_me, map, repo_release, avg_from(sum(win)*100,count(*)) as win_percent, count(*) as games, sum(win) as wins, sum(draw) as draws, sum(loss) as losses, avg_from(sum(win_turns),sum(win)) as avg_win_turns, avg_from(sum(loss_turns),sum(loss)) as avg_loss_turns from games_side group by ai_ident_me, map, repo_release order by ai_ident_me, map, repo_release desc;";
|
|
$result = pg_query($query);
|
|
if (!$result) {
|
|
echo pg_last_error();
|
|
exit();
|
|
}
|
|
|
|
while($myrow = pg_fetch_assoc($result)) {
|
|
printf ("<tr><td>%s</td><td>%s</td><td>%d</td><td>%.1f</td><td>%d</td><td>%d</td><td>%d</td><td>%.1f</td><td>%.1f</td></tr>",
|
|
$myrow['ai_ident_me'],$myrow['map'],$myrow['repo_release'],$myrow['win_percent'],$myrow['games'],$myrow['wins'],$myrow['losses'],$myrow['avg_win_turns'],$myrow['avg_loss_turns']);
|
|
}
|
|
?>
|
|
</table>
|
|
<h2>By AI and own faction</h2>
|
|
<table border=1>
|
|
<tr>
|
|
<th>AI</th>
|
|
<th>Own faction</th>
|
|
<th>Repository_Revision</th>
|
|
<th>Win %</th>
|
|
<th>Games</th>
|
|
<th>Wins</th>
|
|
<th>Losses</th>
|
|
<th>Avg. turns to win</th>
|
|
<th>Avg. turns to lose</th>
|
|
</tr>
|
|
<?php
|
|
$query = "select ai_ident_me, faction_me, repo_release, avg_from(sum(win)*100,count(*)) as win_percent, count(*) as games, sum(win) as wins, sum(draw) as draws, sum(loss) as losses, avg_from(sum(win_turns),sum(win)) as avg_win_turns, avg_from(sum(loss_turns),sum(loss)) as avg_loss_turns from games_side group by ai_ident_me, faction_me, repo_release order by ai_ident_me, faction_me, repo_release desc;";
|
|
$result = pg_query($query);
|
|
if (!$result) {
|
|
echo pg_last_error();
|
|
exit();
|
|
}
|
|
|
|
while($myrow = pg_fetch_assoc($result)) {
|
|
printf ("<tr><td>%s</td><td>%s</td><td>%d</td><td>%.1f</td><td>%d</td><td>%d</td><td>%d</td><td>%.1f</td><td>%.1f</td></tr>",
|
|
$myrow['ai_ident_me'],$myrow['faction_me'],$myrow['repo_release'],$myrow['win_percent'],$myrow['games'],$myrow['wins'],$myrow['losses'],$myrow['avg_win_turns'],$myrow['avg_loss_turns']);
|
|
}
|
|
?>
|
|
</table>
|
|
<h2>By AI and enemy faction</h2>
|
|
<table border=1>
|
|
<tr>
|
|
<th>AI</th>
|
|
<th>Enemy faction</th>
|
|
<th>Repository_Revision</th>
|
|
<th>Win %</th>
|
|
<th>Games</th>
|
|
<th>Wins</th>
|
|
<th>Losses</th>
|
|
<th>Avg. turns to win</th>
|
|
<th>Avg. turns to lose</th>
|
|
</tr>
|
|
<?php
|
|
$query = "select ai_ident_me, faction_enemy, repo_release, avg_from(sum(win)*100,count(*)) as win_percent, count(*) as games, sum(win) as wins, sum(draw) as draws, sum(loss) as losses, avg_from(sum(win_turns),sum(win)) as avg_win_turns, avg_from(sum(loss_turns),sum(loss)) as avg_loss_turns from games_side group by ai_ident_me, faction_enemy, repo_release order by ai_ident_me, faction_enemy, repo_release desc;";
|
|
$result = pg_query($query);
|
|
if (!$result) {
|
|
echo pg_last_error();
|
|
exit();
|
|
}
|
|
|
|
while($myrow = pg_fetch_assoc($result)) {
|
|
printf ("<tr><td>%s</td><td>%s</td><td>%d</td><td>%.1f</td><td>%d</td><td>%d</td><td>%d</td><td>%.1f</td><td>%.1f</td></tr>",
|
|
$myrow['ai_ident_me'],$myrow['faction_enemy'],$myrow['repo_release'],$myrow['win_percent'],$myrow['games'],$myrow['wins'],$myrow['losses'],$myrow['avg_win_turns'],$myrow['avg_loss_turns']);
|
|
}
|
|
?>
|
|
</table>
|
|
<h2>By AI and factions</h2>
|
|
<table border=1>
|
|
<tr>
|
|
<th>AI</th>
|
|
<th>Own faction</th>
|
|
<th>Enemy faction</th>
|
|
<th>Repository_Revision</th>
|
|
<th>Win %</th>
|
|
<th>Games</th>
|
|
<th>Wins</th>
|
|
<th>Losses</th>
|
|
<th>Avg. turns to win</th>
|
|
<th>Avg. turns to lose</th>
|
|
</tr>
|
|
<?php
|
|
$query = "select ai_ident_me, faction_me, faction_enemy, repo_release, avg_from(sum(win)*100,count(*)) as win_percent, count(*) as games, sum(win) as wins, sum(draw) as draws, sum(loss) as losses, avg_from(sum(win_turns),sum(win)) as avg_win_turns, avg_from(sum(loss_turns),sum(loss)) as avg_loss_turns from games_side group by ai_ident_me, faction_me, faction_enemy ,repo_release order by ai_ident_me, faction_me, faction_enemy, repo_release desc;";
|
|
$result = pg_query($query);
|
|
if (!$result) {
|
|
echo pg_last_error();
|
|
exit();
|
|
}
|
|
|
|
while($myrow = pg_fetch_assoc($result)) {
|
|
printf ("<tr><td>%s</td><td>%s</td><td>%s</td><td>%d</td><td>%.1f</td><td>%d</td><td>%d</td><td>%d</td><td>%.1f</td><td>%.1f</td></tr>",
|
|
$myrow['ai_ident_me'],$myrow['faction_me'],$myrow['faction_enemy'],$myrow['repo_release'],$myrow['win_percent'],$myrow['games'],$myrow['wins'],$myrow['losses'],$myrow['avg_win_turns'],$myrow['avg_loss_turns']);
|
|
}
|
|
?>
|
|
</table>
|
|
|
|
</body>
|