1extern crate dcss_api;
23use dcss_api::Webtile;
45fn main() {
6// Connect to DCSS Webtile
7let mut webtile =
8 Webtile::connect("ws://localhost:8080/socket", 100, "0.32").expect("Failed to connect");
910// Empty message queue;
11while webtile.get_message().is_some() {}
1213// Log in (to a user called "Username", with a password "Password")
14let gameid = webtile
15 .login_with_credentials("Username", "Password")
16 .expect("Failed to login");
1718// Print the game id's that can be started
19println!("{:?}", gameid);
2021// Empty message queue;
22while webtile.get_message().is_some() {}
2324// Start a random game (seed `0`) on 'dcss-0.32', for Minotaur berserker with a mace.
25webtile
26 .start_game_seeded(&gameid[0], "0", false, "b", "f", "b")
27 .expect("Failed to start game");
2829// Print the messages you get upon starting the game (should be processed)
30while let Some(message) = webtile.get_message() {
31println!("{:?}", message)
32 }
3334// Move up and back
35webtile.write_key("key_dir_n").expect("Failed to write key");
36 webtile.write_key("key_dir_s").expect("Failed to write key");
3738// Print the messages you while moving (should be processed)
39while let Some(message) = webtile.get_message() {
40println!("{:?}", message)
41 }
4243// Quit game (same as dying)
44webtile.quit_game().expect("Failed to quit");
4546// Print the messages after you quit game
47while let Some(message) = webtile.get_message() {
48println!("{:?}", message)
49 }
5051// Disconnect from webtile
52webtile.disconnect().expect("Failed to disconnect");
53}