Browse Source

wow,...

master
e-dt 4 years ago
parent
commit
200a379826
  1. 31
      src/main.rs

31
src/main.rs

@ -4,10 +4,11 @@ use ggez::{Context, ContextBuilder, GameResult};
struct Apr { struct Apr {
rows: i32, rows: i32,
col: i32, cols: i32,
board: Vec<Vec<u8>>, board: Vec<Vec<u8>>,
grid: Mesh, grid: Mesh,
// Your state here... // Your state here...
__TEST_state : usize
} }
fn make_grid(ctx: &mut Context, r: i32, c: i32, board: &[Vec<u8>]) -> GameResult<Mesh> { fn make_grid(ctx: &mut Context, r: i32, c: i32, board: &[Vec<u8>]) -> GameResult<Mesh> {
@ -20,11 +21,7 @@ fn make_grid(ctx: &mut Context, r: i32, c: i32, board: &[Vec<u8>]) -> GameResult
for row in 0..r { for row in 0..r {
for col in 0..c { for col in 0..c {
builder.rectangle( builder.rectangle(
if board[row as usize][col as usize] == 0 { DrawMode::fill(),
DrawMode::stroke(1.0)
} else {
DrawMode::fill()
},
graphics::Rect { graphics::Rect {
x: start_x + (size * col as f32), x: start_x + (size * col as f32),
y: start_y + (size * row as f32), y: start_y + (size * row as f32),
@ -32,13 +29,14 @@ fn make_grid(ctx: &mut Context, r: i32, c: i32, board: &[Vec<u8>]) -> GameResult
h: size, h: size,
}, },
match board[row as usize][col as usize] { match board[row as usize][col as usize] {
0 | 1 => Color::BLACK, 0 => Color::WHITE,
1 => Color::BLACK,
2 => Color::RED, 2 => Color::RED,
// 3 => Color::ORANGE, 3 => Color::CYAN,
4 => Color::YELLOW, 4 => Color::YELLOW,
5 => Color::GREEN, 5 => Color::GREEN,
6 => Color::BLUE, 6 => Color::BLUE,
// 7 => Color::PURPLE, 7 => Color::MAGENTA,
_ => Color::BLACK, _ => Color::BLACK,
} }
)?; )?;
@ -64,22 +62,33 @@ impl Apr {
let board = make_board(r, c); let board = make_board(r, c);
Apr { Apr {
rows: r, rows: r,
col: c, cols: c,
grid: make_grid(_ctx, r, c, board.as_slice()).unwrap(), grid: make_grid(_ctx, r, c, board.as_slice()).unwrap(),
board: board, board: board,
__TEST_state : 0,
} }
} }
fn set_colour(&mut self, ctx : &mut Context, r : usize, c : usize, col : u8) -> GameResult<()> {
self.board[r][c] = col;
self.grid = make_grid(ctx, self.rows, self.cols, self.board.as_slice())?;
Ok(())
}
} }
impl EventHandler for Apr { impl EventHandler for Apr {
fn update(&mut self, _ctx: &mut Context) -> GameResult<()> { fn update(&mut self, _ctx: &mut Context) -> GameResult<()> {
// Err(ggez::GameError::CustomError("You done messed up trying to play this game!".to_string())) // Err(ggez::GameError::CustomError("You done messed up trying to play this game!".to_string()))
// Update code here... // Update code here...
let c = self.__TEST_state % 8;
let r = (self.__TEST_state / 8) % 8;
self.set_colour(_ctx, r, c, (self.board[r][c] + 1) % 8)?;
self.__TEST_state += 1;
Ok(()) Ok(())
} }
fn draw(&mut self, ctx: &mut Context) -> GameResult<()> { fn draw(&mut self, ctx: &mut Context) -> GameResult<()> {
graphics::clear(ctx, Color::WHITE); graphics::clear(ctx, Color::new(0.5, 0.5, 0.5, 1.0));
let drawparams = graphics::DrawParam::new(); let drawparams = graphics::DrawParam::new();
graphics::draw(ctx, &self.grid, drawparams)?; graphics::draw(ctx, &self.grid, drawparams)?;

Loading…
Cancel
Save