Upgraded to latest Piston

This commit is contained in:
Coeuvre 2014-08-18 08:42:00 +08:00
parent d58d71a56f
commit d889cc44a3
3 changed files with 26 additions and 11 deletions

View file

@ -80,10 +80,8 @@ impl<'a> App<'a> {
settings.text_dark_color[2]) settings.text_dark_color[2])
.draw(gl); .draw(gl);
} }
}
impl<'a> Game for App<'a> { pub fn load(&mut self) {
fn load(&mut self) {
let asset_store = AssetStore::from_folder(self.settings.asset_folder.as_slice()); let asset_store = AssetStore::from_folder(self.settings.asset_folder.as_slice());
self.number_renderer = Some(NumberRenderer::new(&asset_store)); self.number_renderer = Some(NumberRenderer::new(&asset_store));
@ -92,7 +90,7 @@ impl<'a> Game for App<'a> {
self.comment2 = Some(Texture::from_path(&asset_store.path("comment2.png").unwrap()).unwrap()); self.comment2 = Some(Texture::from_path(&asset_store.path("comment2.png").unwrap()).unwrap());
} }
fn render(&mut self, args: &RenderArgs) { pub fn render(&mut self, args: &RenderArgs) {
self.gl.viewport(0, 0, args.width as i32, args.height as i32); self.gl.viewport(0, 0, args.width as i32, args.height as i32);
let ref c = Context::abs(args.width as f64, args.height as f64); let ref c = Context::abs(args.width as f64, args.height as f64);
c.color(self.window_background_color).draw(&mut self.gl); c.color(self.window_background_color).draw(&mut self.gl);
@ -101,11 +99,11 @@ impl<'a> Game for App<'a> {
self.board.render(self.number_renderer.get_ref(), c, &mut self.gl); self.board.render(self.number_renderer.get_ref(), c, &mut self.gl);
} }
fn update(&mut self, args: &UpdateArgs) { pub fn update(&mut self, args: &UpdateArgs) {
self.board.update(args.dt); self.board.update(args.dt);
} }
fn key_press(&mut self, args: &KeyPressArgs) { pub fn key_press(&mut self, args: &KeyPressArgs) {
if args.key == keyboard::Left { if args.key == keyboard::Left {
self.board.merge_from_right_to_left(); self.board.merge_from_right_to_left();
} }

View file

@ -20,7 +20,7 @@ mod tile;
fn main() { fn main() {
let settings = settings::Settings::load(); let settings = settings::Settings::load();
let mut game_window = GameWindowSDL2::new( let mut window = GameWindowSDL2::new(
GameWindowSettings { GameWindowSettings {
title: "Rust-2048".to_string(), title: "Rust-2048".to_string(),
size: settings.window_size, size: settings.window_size,
@ -30,10 +30,27 @@ fn main() {
); );
let mut app = app::App::new(&settings); let mut app = app::App::new(&settings);
app.load();
let game_iter_settings = GameIteratorSettings { let game_iter_settings = GameIteratorSettings {
updates_per_second: 120, updates_per_second: 120,
max_frames_per_second: 60, max_frames_per_second: 60,
}; };
app.run(&mut game_window, &game_iter_settings);
for e in GameIterator::new(&mut window, &game_iter_settings) {
match e {
Render(ref args) => {
app.render(args);
},
Update(ref args) => {
app.update(args);
},
KeyPress(ref args) => {
app.key_press(args);
},
_ => {},
}
}
} }

View file

@ -56,7 +56,7 @@ fn number_to_digits(number: u32) -> Vec<u32> {
let mut n = number; let mut n = number;
while n != 0 { while n != 0 {
digits.unshift(n % 10); digits.insert(0, n % 10);
n /= 10; n /= 10;
} }
digits digits