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 {
rows: i32,
col: i32,
cols: i32,
board: Vec<Vec<u8>>,
grid: Mesh,
// Your state here...
__TEST_state : usize
}
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 col in 0..c {
builder.rectangle(
if board[row as usize][col as usize] == 0 {
DrawMode::stroke(1.0)
} else {
DrawMode::fill()
},
DrawMode::fill(),
graphics::Rect {
x: start_x + (size * col 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,
},
match board[row as usize][col as usize] {
0 | 1 => Color::BLACK,
0 => Color::WHITE,
1 => Color::BLACK,
2 => Color::RED,
// 3 => Color::ORANGE,
3 => Color::CYAN,
4 => Color::YELLOW,
5 => Color::GREEN,
6 => Color::BLUE,
// 7 => Color::PURPLE,
7 => Color::MAGENTA,
_ => Color::BLACK,
}
)?;
@ -64,22 +62,33 @@ impl Apr {
let board = make_board(r, c);
Apr {
rows: r,
col: c,
cols: c,
grid: make_grid(_ctx, r, c, board.as_slice()).unwrap(),
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 {
fn update(&mut self, _ctx: &mut Context) -> GameResult<()> {
// Err(ggez::GameError::CustomError("You done messed up trying to play this game!".to_string()))
// 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(())
}
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();
graphics::draw(ctx, &self.grid, drawparams)?;

Loading…
Cancel
Save