Fixed some mechanics and added plateforms for futur testing
This commit is contained in:
95
src/main.rs
95
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<sdl2::video::Window>,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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user