Compare commits

...

2 Commits

Author SHA1 Message Date
e-dt 7f9bf67163 Cleanup 4 years ago
e-dt c8735067f9 Cleanup 4 years ago
  1. 46
      src/apr.rs

46
src/apr.rs

@ -36,7 +36,6 @@ pub fn make_grid(ctx: &mut Context, r: u8, c: u8, board: &[Vec<u8>]) -> GameResu
0 => Color::WHITE, 0 => Color::WHITE,
1 => Color::BLACK, 1 => Color::BLACK,
_ => Color::BLACK, //impossible _ => Color::BLACK, //impossible
//2 => Color::RED, 3 => Color::CYAN, 4 => Color::YELLOW, 5 => Color::GREEN, 6 => Color::BLUE, 7 => Color::MAGENTA, _ => Color::BLACK,
}, },
)?; )?;
} }
@ -49,35 +48,28 @@ impl Apr {
pub fn new(_ctx: &mut Context, r: u8, c: u8) -> GameResult<Apr> { pub fn new(_ctx: &mut Context, r: u8, c: u8) -> GameResult<Apr> {
// Load/create resources such as images here. // Load/create resources such as images here.
let board = board::make_board(r, c); let board = board::make_board(r, c);
let mut temp_vec: Vec<actor::Actor> = Vec::new(); let mut actors: Vec<actor::Actor> = Vec::new();
for i in 0..r { for i in 0..r {
temp_vec.push(Apr::make_actor(_ctx, "/pawn.png", i, 0, 0)); actors.push(Apr::make_actor(_ctx, "/pawn.png", i, 0, 0));
} }
Ok(Apr { Ok(Apr {
grid: make_grid(_ctx, r, c, board.board.as_slice())?, grid: make_grid(_ctx, r, c, board.board.as_slice())?,
board: board, board,
should_update_grid: false, should_update_grid: false,
actors,
/*actors: vec![actor::Actor {
image: graphics::Image::new(_ctx, "/pawn.png")?,
posn: actor::ActorPosn::BoardPosn { x: 0, y: 0 },
behaviour: 0,
}],*/
//actors: vec![Apr::make_actor(_ctx, "/pawn.png", 0, 0, 0)],
actors: temp_vec,
behaviours: vec![behaviour::Behaviour { behaviours: vec![behaviour::Behaviour {
moves: vec![(0, 1)], moves: vec![(0, 1)],
}], //the pawn can go ONE forwards }], //the pawn can go ONE forwards
}) })
} }
pub fn make_actor(ctx: &mut Context, img_path: &str, _x: u8, _y: u8, b: u8) -> actor::Actor { pub fn make_actor(ctx: &mut Context, img_path: &str, _x: u8, _y: u8, b: u8) -> actor::Actor {
return actor::Actor { actor::Actor {
image: graphics::Image::new(ctx, img_path).unwrap(), image: graphics::Image::new(ctx, img_path).unwrap(),
posn: actor::ActorPosn::BoardPosn { x: _x, y: _y }, posn: actor::ActorPosn::BoardPosn { x: _x, y: _y },
behaviour: b, behaviour: b,
}; }
} }
pub fn set_colour(&mut self, r: usize, c: usize, col: u8) { pub fn set_colour(&mut self, r: usize, c: usize, col: u8) {
//You should only modify self.board through this method. //You should only modify self.board through this method.
@ -112,8 +104,7 @@ impl EventHandler for Apr {
} }
actor::ActorPosn::BoardPosn { x, y } => { actor::ActorPosn::BoardPosn { x, y } => {
if mouse::button_pressed(ctx, MouseButton::Left) { if mouse::button_pressed(ctx, MouseButton::Left) {
let (posx, posy) = let (posx, posy) = self.board.closest_square_coords(posn.x, posn.y);
self.board.closest_square_coords(posn.x, posn.y);
if posx == x && posy == y { if posx == x && posy == y {
let x = board::START_X + board::BOARD_SQUARE_SIZE * (x as f32); let x = board::START_X + board::BOARD_SQUARE_SIZE * (x as f32);
let y = board::START_Y + board::BOARD_SQUARE_SIZE * (y as f32); let y = board::START_Y + board::BOARD_SQUARE_SIZE * (y as f32);
@ -136,7 +127,12 @@ impl EventHandler for Apr {
let drawparams = graphics::DrawParam::new(); let drawparams = graphics::DrawParam::new();
if self.should_update_grid { if self.should_update_grid {
self.grid = make_grid(ctx, self.board.row, self.board.col, self.board.board.as_slice())?; self.grid = make_grid(
ctx,
self.board.row,
self.board.col,
self.board.board.as_slice(),
)?;
self.should_update_grid = false; self.should_update_grid = false;
} }
graphics::draw(ctx, &self.grid, drawparams)?; graphics::draw(ctx, &self.grid, drawparams)?;
@ -149,10 +145,10 @@ impl EventHandler for Apr {
ctx, ctx,
&actor.image, &actor.image,
drawparams.dest([ drawparams.dest([
board::START_X + board::BOARD_SQUARE_SIZE * (x as f32), board::START_X + board::BOARD_SQUARE_SIZE * (x as f32),
board::START_Y + board::BOARD_SQUARE_SIZE * (y as f32), board::START_Y + board::BOARD_SQUARE_SIZE * (y as f32),
]), ]),
)?, )?,
} }
} }
// Draw code here... // Draw code here...

Loading…
Cancel
Save