top_leaderboard/
top_leaderboard.rs

1use battlebit_api::{BBApi, Clan, Player};
2
3fn print_player(leaderboard: &[Player], t: &'static str, u: &'static str) {
4    let p = leaderboard
5        .first()
6        .expect("Leaderboard is empty");
7
8    println!(
9        "{t}: {} ({} {u})",
10        p.name(),
11        p.value()
12    )
13}
14
15fn print_clan(leaderboard: &[Clan]) {
16    let c = leaderboard
17        .first()
18        .expect("Leaderboard is empty");
19
20    println!(
21        "Top clan: {} [{}] ({} XP)",
22        c.name(),
23        c.tag(),
24        c.xp()
25    )
26}
27
28fn main() {
29    let api = BBApi::new();
30    let lb = api.leaderboard()
31        .expect("Retrieving leaderboard");
32
33    print_clan(lb.top_clans());
34
35    print_player(lb.most_kills(), "Most kills", "Kills");
36    print_player(lb.most_roadkills(), "Most roadkills", "Roadkills");
37    print_player(lb.longest_kills(), "Longest kill", "Meters");
38
39    print_player(lb.most_xp(), "Most XP", "XP");
40    print_player(lb.most_heals(), "Most heal", "HP");
41    print_player(lb.most_revives(), "Most revives", "Revives");
42
43    print_player(lb.most_objectives_complete(), "Most objectives", "Objectives");
44
45    print_player(lb.most_vehicles_destroyed(), "Vehicles destroyed", "Vehicles");
46    print_player(lb.most_vehicle_repairs(), "Vehicle repairs", "Repairs");
47}