Game - dartfmt
This commit is contained in:
parent
828b39c1d0
commit
cc1d3ac4da
1 changed files with 7 additions and 9 deletions
|
@ -16,27 +16,30 @@ class Game {
|
||||||
bool _fwd = true;
|
bool _fwd = true;
|
||||||
|
|
||||||
Game(CanvasElement this.canvas) {
|
Game(CanvasElement this.canvas) {
|
||||||
grid = buildGrid(5, 5, new Color(255, 0, 255));
|
grid = _buildGrid(5, 5, new Color(255, 0, 255));
|
||||||
ctx = this.canvas.getContext('2d');
|
ctx = this.canvas.getContext('2d');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// In-World Logic Updates
|
||||||
void update([num dt]) {
|
void update([num dt]) {
|
||||||
int ry = rng.nextInt(grid.length);
|
int ry = rng.nextInt(grid.length);
|
||||||
grid[ry][rng.nextInt(grid[ry].length)] = new Color(rng.nextInt(255), rng.nextInt(255), rng.nextInt(255));
|
grid[ry][rng.nextInt(grid[ry].length)] = new Color(rng.nextInt(255), rng.nextInt(255), rng.nextInt(255));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Render Pipeline
|
||||||
void draw([num interp]) {
|
void draw([num interp]) {
|
||||||
int brickW = (canvas.width ~/ grid[0].length);
|
int brickW = (canvas.width ~/ grid[0].length);
|
||||||
int brickH = (canvas.height ~/ grid.length);
|
int brickH = (canvas.height ~/ grid.length);
|
||||||
|
|
||||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||||
grid_foreach((x, y) {
|
_grid_foreach((x, y) {
|
||||||
Color col = _oscillate(grid[y][x]);
|
Color col = _oscillate(grid[y][x]);
|
||||||
ctx.setFillColorRgb(col.r, col.g, col.b);
|
ctx.setFillColorRgb(col.r, col.g, col.b);
|
||||||
ctx.fillRect(x*brickW, y*brickH, brickW, brickH);
|
ctx.fillRect(x*brickW, y*brickH, brickW, brickH);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Slightly oscillating colors to highlight rendering updates
|
||||||
Color _oscillate(Color col) {
|
Color _oscillate(Color col) {
|
||||||
if(_oscill >= 50.0 || _oscill <= -50.0) {
|
if(_oscill >= 50.0 || _oscill <= -50.0) {
|
||||||
_oscillDir = !_oscillDir;
|
_oscillDir = !_oscillDir;
|
||||||
|
@ -48,7 +51,7 @@ class Game {
|
||||||
return new Color(col.r + o, col.g + o, col.b + o);
|
return new Color(col.r + o, col.g + o, col.b + o);
|
||||||
}
|
}
|
||||||
|
|
||||||
void grid_foreach(gridIterator fun) {
|
void _grid_foreach(gridIterator fun) {
|
||||||
for (int y = 0; y < grid.length; y++) {
|
for (int y = 0; y < grid.length; y++) {
|
||||||
for (int x = 0; x < grid[y].length; x++) {
|
for (int x = 0; x < grid[y].length; x++) {
|
||||||
fun(x, y);
|
fun(x, y);
|
||||||
|
@ -56,7 +59,7 @@ class Game {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<List<Color>> buildGrid(int w, int h, Color col) {
|
List<List<Color>> _buildGrid(int w, int h, Color col) {
|
||||||
List<List<Color>> grid = new List(h);
|
List<List<Color>> grid = new List(h);
|
||||||
for (int y = 0; y < h; y++) {
|
for (int y = 0; y < h; y++) {
|
||||||
grid[y] = new List(w);
|
grid[y] = new List(w);
|
||||||
|
@ -75,8 +78,3 @@ class Color {
|
||||||
|
|
||||||
const Color(this.r, this.g, this.b);
|
const Color(this.r, this.g, this.b);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create 2d array
|
|
||||||
// fill with random colors
|
|
||||||
// cycle colors
|
|
||||||
// set one color to random new one
|
|
||||||
|
|
Loading…
Reference in a new issue