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

Loading…
Cancel
Save