e-dt 4 years ago
parent
commit
837c74f7b8
  1. 69
      src/main.rs

69
src/main.rs

@ -1,38 +1,42 @@
use ggez::{Context, ContextBuilder, GameResult};
use ggez::graphics::{self, Color, Mesh, MeshBuilder, DrawMode};
use ggez::event::{self, EventHandler};
use ggez::graphics::{self, Color, DrawMode, Mesh, MeshBuilder};
use ggez::{Context, ContextBuilder, GameResult};
struct Apr {
grid : Mesh,
grid: Mesh,
// Your state here...
}
fn make_grid(ctx : &mut Context, r: i32, c: i32) -> GameResult<Mesh> {
let start_x : f32 = 20.0;
let start_y : f32 = 20.0;
let size : f32 = 20.0; //compile time constants for now
let mut start_white : bool = true;
fn make_grid(ctx: &mut Context, r: i32, c: i32) -> GameResult<Mesh> {
let start_x: f32 = 20.0;
let start_y: f32 = 20.0;
let size: f32 = 20.0; //compile time constants for now
let mut start_white: bool = true;
let mut builder = MeshBuilder::new();
for row in 0..r {
let mut colour = start_white;
for col in 0..c {
builder.rectangle(
if colour { DrawMode::stroke(1.0) } else { DrawMode::fill() },
graphics::Rect {
x : start_x + (size * col as f32),
y : start_y + (size * row as f32),
w : size,
h : size
},
Color::BLACK)?;
colour = !colour;
}
start_white = !start_white;
let mut colour = start_white;
for col in 0..c {
builder.rectangle(
if colour {
DrawMode::stroke(1.0)
} else {
DrawMode::fill()
},
graphics::Rect {
x: start_x + (size * col as f32),
y: start_y + (size * row as f32),
w: size,
h: size,
},
Color::BLACK,
)?;
colour = !colour;
}
start_white = !start_white;
}
builder.build(ctx)
}
@ -40,28 +44,23 @@ impl Apr {
pub fn new(_ctx: &mut Context) -> Apr {
// Load/create resources such as images here.
Apr {
grid : make_grid(_ctx, 8, 8).unwrap()
grid: make_grid(_ctx, 8, 8).unwrap(),
}
}
}
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()))
// Err(ggez::GameError::CustomError("You done messed up trying to play this game!".to_string()))
// Update code here...
Ok(())
}
fn draw(&mut self, ctx: &mut Context) -> GameResult<()> {
graphics::clear(ctx, Color::WHITE);
let drawparams = graphics::DrawParam::new();
let drawparams = graphics::DrawParam::new();
graphics::draw(ctx, &self.grid, drawparams)?;
graphics::draw(ctx, &self.grid, drawparams)?;
// Draw code here...
graphics::present(ctx)
}

Loading…
Cancel
Save