Browse Source

fixed colour thing

master
alistair 4 years ago
parent
commit
b2001fe708
  1. 1
      game.cpp
  2. 21
      particles.cpp
  3. 2
      particles.h

1
game.cpp

@ -106,6 +106,7 @@ class Game { @@ -106,6 +106,7 @@ class Game {
case SDL_MOUSEBUTTONDOWN:
{
coord = get_click_location_in_grid(event.button.x, event.button.y);
grid.add_particle_at(coord.x, coord.y, ParticleID::SAND);
break;
}
case SDL_MOUSEMOTION:

21
particles.cpp

@ -3,10 +3,10 @@ @@ -3,10 +3,10 @@
namespace pengine {
const Uint8 part_colours[][3] = {
Uint8 part_colours[][3] = {
{255,255,255}, // BASIC
{0,0,255}, // SAND
{252,250,148} // SAND
{252,250,148}, // SAND
{0,0,255} // SAND
};
Particle *get_new_particle(ParticleID p) {
@ -39,9 +39,7 @@ namespace pengine { @@ -39,9 +39,7 @@ namespace pengine {
this->a = c.a;
}
PixelColour::PixelColour(const Uint8 p[3]) {
PixelColour(p[0], p[1], p[2]);
}
PixelColour::PixelColour(const Uint8 p[3]) : PixelColour (p[0], p[1], p[2]) {}
SDL_Color PixelColour::get_sdlcol() {
@ -115,13 +113,13 @@ namespace pengine { @@ -115,13 +113,13 @@ namespace pengine {
}
void Grid::update_texture(SDL_Texture *texture) {
PixelColour defaultcol = PixelColour(255,0,0,0);
PixelColour defaultcoll = PixelColour(255,255,0,0);
PixelColour defaultcol = PixelColour(0,0,0,0);
for (int i = 0; i < xsize; i++) {
for (int j = 0; j < ysize; j++) {
int p = j * xsize + i;
if (grid[p]) {
pixels[p] = defaultcoll.pixel;
//:w pixels[p] = defaultcoll.pixel;
pixels[p] = grid[p]->get_colour().get_pixelcol();
} else {
pixels[p] = defaultcol.get_pixelcol();
}
@ -132,7 +130,7 @@ namespace pengine { @@ -132,7 +130,7 @@ namespace pengine {
}
bool Grid::inside_grid(int x, int y) {
if (x >= xsize - 1 || y >= ysize - 1 || x < 1 || y < 1) {
if (x >= xsize || y >= ysize || x < 0 || y < 0) {
return false;
}
@ -177,9 +175,10 @@ namespace pengine { @@ -177,9 +175,10 @@ namespace pengine {
}
PixelColour BasicParticle::get_colour() {
return PixelColour {part_colours[1]};
return PixelColour {part_colours[((int)this->id)]};
}
}

2
particles.h

@ -79,6 +79,8 @@ class BasicParticle : public Particle @@ -79,6 +79,8 @@ class BasicParticle : public Particle
BasicParticle(ParticleID id) : Particle(id) {};
void update(Grid *const, int x, int y) override;
PixelColour get_colour() override;
};
class Sand:public BasicParticle {

Loading…
Cancel
Save