top_leaderboard/
top_leaderboard.rs1use 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}