|
@ -49,11 +49,11 @@ impl Apr { |
|
|
let mut actors: Vec<actor::Actor> = Vec::new(); |
|
|
let mut actors: Vec<actor::Actor> = Vec::new(); |
|
|
for i in 0..r { |
|
|
for i in 0..r { |
|
|
// white side
|
|
|
// white side
|
|
|
actors.push(Apr::make_actor(_ctx, "/pawn.png", i, 0, 0)); |
|
|
actors.push(actor::Actor::new(_ctx, "/pawn.png", i, 0, 0)); |
|
|
} |
|
|
} |
|
|
for i in 0..r { |
|
|
for i in 0..r { |
|
|
// black side
|
|
|
// black side
|
|
|
actors.push(Apr::make_actor(_ctx, "/pawn2.png", i, c - 1, 0)); |
|
|
actors.push(actor::Actor::new(_ctx, "/pawn2.png", i, c - 1, 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())?, |
|
@ -67,17 +67,9 @@ impl Apr { |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
pub fn make_actor(ctx: &mut Context, img_path: &str, _x: u8, _y: u8, b: u8) -> actor::Actor { |
|
|
pub fn set_colour(&mut self, r: usize, c: usize, clr: u8) { |
|
|
actor::Actor { |
|
|
|
|
|
image: graphics::Image::new(ctx, img_path).unwrap(), |
|
|
|
|
|
posn: actor::ActorPosn::BoardPosn { x: _x, y: _y }, |
|
|
|
|
|
behaviour: b, |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
self.board.board[r][c] = col; //Making a getter for self.board would sadly break borrowing in the same way that closest_square_coords does.
|
|
|
self.board.board[r][c] = clr; //Making a getter for self.board would sadly break borrowing in the same way that closest_square_coords does.
|
|
|
self.should_update_grid = true; //Similar solutions apply.
|
|
|
self.should_update_grid = true; //Similar solutions apply.
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|