Fixed some mechanics and added plateforms for futur testing

This commit is contained in:
2022-05-18 14:05:09 +02:00
parent b7465af9a5
commit 58279c5130

View File

@@ -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();
}
}