extern crate downcast_rs; extern crate ncurses; use ncurses::*; use std::thread::sleep; use std::time; mod lib { pub mod point; pub mod screen; pub mod world; pub mod entity; pub mod ai; } use lib::point::Point; use lib::screen::init_screen; use lib::world::{World, simulate, render}; use lib::entity::{Entities, Queen}; fn main() { let mut board = init_screen(); let mut world = World::new(); let mut entities = Entities::new(); let q = Queen::new(board.center.0,board.center.1); entities.add_entity(&q); world.create_chamber(Point(board.center.0, board.center.1), 3); loop { // TODO: add way to break out of the loop by hitting a random key simulate(&mut entities, &mut world, &mut board); render(&entities, &world, &board); sleep(time::Duration::from_millis(100)); refresh(); } endwin(); }