a geicko-2 based round robin ranking system designed to test c++ battleship submissions battleship.dunkirk.sh
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: add tool tips and responsiveness

+65 -3
+65 -3
internal/server/web.go
··· 464 464 padding: 0.25rem 0; 465 465 } 466 466 467 + .hidden { 468 + display: none; 469 + } 470 + 471 + .tooltip { 472 + position: relative; 473 + display: inline-block; 474 + cursor: help; 475 + } 476 + 477 + .tooltip:hover::after { 478 + content: attr(data-tooltip); 479 + position: absolute; 480 + bottom: 100%; 481 + left: 50%; 482 + transform: translateX(-50%); 483 + background: #1e293b; 484 + border: 1px solid #3b82f6; 485 + color: #e2e8f0; 486 + padding: 0.5rem 0.75rem; 487 + border-radius: 0.375rem; 488 + font-size: 0.75rem; 489 + white-space: nowrap; 490 + z-index: 1000; 491 + margin-bottom: 0.5rem; 492 + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); 493 + } 494 + 495 + .info-card ul { 496 + list-style: none; 497 + margin: 1rem 0; 498 + } 499 + 500 + .info-card li { 501 + padding: 0.5rem 0; 502 + color: #94a3b8; 503 + display: flex; 504 + align-items: start; 505 + gap: 0.5rem; 506 + } 507 + 508 + .info-card li::before { 509 + content: "→"; 510 + color: #3b82f6; 511 + font-weight: bold; 512 + flex-shrink: 0; 513 + } 514 + 467 515 @media (max-width: 768px) { 468 516 h1 { font-size: 2rem; } 469 517 .subtitle { font-size: 1rem; } 470 518 th, td { padding: 0.75rem 1rem; font-size: 0.875rem; } 471 519 .stat-value { font-size: 2rem; } 520 + .progress-indicator { 521 + bottom: 1rem; 522 + right: 1rem; 523 + left: 1rem; 524 + min-width: unset; 525 + } 472 526 } 473 527 </style> 474 528 <script> ··· 670 724 <tr> 671 725 <th>Rank</th> 672 726 <th>Player</th> 673 - <th>Rating</th> 727 + <th><span class="tooltip" data-tooltip="Glicko-2 rating: higher is better">Rating</span></th> 674 728 <th>Wins</th> 675 729 <th>Losses</th> 676 730 <th>Win Rate</th> 677 - <th>Avg Moves</th> 731 + <th><span class="tooltip" data-tooltip="Average moves to win (lower is better)">Avg Moves</span></th> 678 732 <th>Last Active</th> 679 733 </tr> 680 734 </thead> ··· 730 784 <pre><code><span class="token-command">scp</span> <span class="token-flag">-P</span> <span class="token-string">2222</span> <span class="token-string">memory_functions_yourname.cpp</span> <span class="token-string">{{.ServerURL}}:~/</span></code></pre> 731 785 </div> 732 786 787 + <p style="margin-top: 1.5rem;"><strong>How it works:</strong></p> 788 + <ul> 789 + <li>Your AI plays 1000 games against each opponent</li> 790 + <li>Rankings use Glicko-2 rating system (like chess)</li> 791 + <li>Lower average moves = more efficient strategy</li> 792 + <li>Live updates as matches complete</li> 793 + </ul> 794 + 733 795 <p style="margin-top: 1rem; color: #94a3b8;"> 734 - <a href="/users" style="color: #60a5fa;">View all players →</a> 796 + <a href="/users" style="color: #60a5fa; text-decoration: none;">View all players →</a> 735 797 </p> 736 798 </div> 737 799 </div>