diff --git a/src/main.rs b/src/main.rs index 4e3e1bb..144fee3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -7,13 +7,19 @@ use sdl2::rect::Point; use sdl2::rect::Rect; use rand::Rng; +const SKY:Tile = Tile::Sky; +const GRASS:Tile = Tile::Grass; +const ROCK:Tile = Tile::Rock; +const SAND:Tile = Tile::Sand; +const DEBUG:Tile = Tile::Debug; + const WINDOW_WIDTH:i32 = 1000; const WINDOW_HEIGHT:i32 = 500; -const DEBUG_FX_SIZE_RATIO:i32 = 3; +const DEBUG_FX_SIZE_RATIO:i32 = 4; const DEFAULT_BALL_WIDTH:i32 = 20; -const BALL_SPEED:i32 = 2; -const MAX_SPEED:i32 = 20; +const BALL_SPEED:i32 = 1; +const MAX_SPEED:i32 = BALL_SPEED * 18; const ARROW_PARTS:i32 = 10; const ARROW_WIDTH:i32 = 3; @@ -27,44 +33,44 @@ const BOUNCE_RATIO:i32 = 80; const DEFAULT_MAP_WIDTH:i32 = 50; const DEFAULT_MAP_HEIGHT:i32 = 25; const DEFAULT_MAP:&[Tile] = &[ - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,DEBUG,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,ROCK,ROCK,ROCK, + SKY,SKY,SKY,DEBUG,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,ROCK,ROCK,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,ROCK,ROCK,ROCK,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,ROCK,ROCK,ROCK, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, - Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, Tile::sky,Tile::sky,Tile::sky,Tile::sky,Tile::sky, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,ROCK,ROCK, ROCK,ROCK,ROCK,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, - Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::sand,Tile::grass,Tile::sand,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, - Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::sand,Tile::grass,Tile::sand,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, - Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::sand,Tile::grass,Tile::sand, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, - Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::sand,Tile::grass, Tile::sand,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, - Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::sand, Tile::grass,Tile::sand,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, Tile::rock,Tile::rock,Tile::rock,Tile::rock,Tile::rock, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,ROCK,ROCK,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, ROCK,ROCK,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,ROCK,ROCK,ROCK,SKY, SKY,SKY,SKY,SKY,SKY, + SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, SKY,SKY,SKY,SKY,SKY, + GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, GRASS,GRASS,GRASS,GRASS,GRASS, + ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ROCK,ROCK,ROCK,ROCK,ROCK, ]; #[derive(Clone)] enum Tile{ - sky, - grass, - rock, - sand, - debug, + Sky, + Grass, + Rock, + Sand, + Debug, } pub struct Map{ @@ -90,18 +96,18 @@ impl Map{ let tile:Tile; match rnd{ 0=>{ - tile = Tile::sky; + tile = Tile::Sky; } 1=>{ - tile = Tile::grass; + tile = Tile::Grass; } 2=>{ - tile = Tile::rock; + tile = Tile::Rock; } 3=>{ - tile = Tile::sand; + tile = Tile::Sand; } - _=>{tile = Tile::debug} + _=>{tile = Tile::Debug} } self.grid[index as usize] = tile; } @@ -118,20 +124,19 @@ impl Map{ let tile_bg:Color; match self.grid[index as usize]{ - Tile::sky => { + Tile::Sky => { tile_bg = Color::RGB(0x81,0xC3,0xD7); } - Tile::grass =>{ + Tile::Grass =>{ tile_bg = Color::RGB(0x58, 0x81, 0x57); } - Tile::rock =>{ + Tile::Rock =>{ tile_bg = Color::RGB(0x28, 0x36, 0x18); } - Tile::sand =>{ + Tile::Sand =>{ tile_bg = Color::RGB(0xFE, 0xFA, 0xE0); } _ => { - //uuuuuuh... whatever d100d1 tile_bg = Color::RGB(0xd1, 0x00, 0xd1); }, } @@ -398,11 +403,15 @@ pub fn main_loop(canvas: &mut sdl2::render::Canvas,event_pu if space_state == false{ //KeyDown space_state = true; + //To remove + game.main_ball.shape.set_height(game.main_ball.shape.height() / 2); } }else{ if space_state == true{ //KeyDown space_state = false; + //To remove + game.main_ball.shape.set_height(game.main_ball.shape.height() * 2); game.jump(); } }