diff --git a/include/screen.hpp b/include/screen.hpp index d1ce203..dfd4087 100644 --- a/include/screen.hpp +++ b/include/screen.hpp @@ -92,7 +92,14 @@ class Screen{ this->screen[p.x+1][p.y+2] = JDC::couleur(c); }; - //void addSprite(point p, sprite s){}; + void addSprite(point p, sprite s){ + for (int i=0; iscreen[p.x+i][p.y+y] = s.data[i][y]; + } + } + }; int ligne(){ return this->row; diff --git a/test/sprot.cpp b/test/sprot.cpp new file mode 100644 index 0000000..ea31d53 --- /dev/null +++ b/test/sprot.cpp @@ -0,0 +1,95 @@ +#include +#include +#include +#include "screen.hpp" + +int main(){ + Screen s(50, 50); + s.display(); + sleep(1); + + sprite sp = {NULL, 5, 5}; + sp.data = new char*[5]; + for (int i=0; i<5; i++){ + sp.data[i] = new char[5]; + for (int y=0; y<5; y++){ + sp.data[i][y] = '+'; + } + } + + point p = {22, 22}; + + s.addSprite(p, sp); + s.display(); + sleep(1); + + sprite sp2 = {NULL, 50, 50}; + sp2.data = new char*[50]; + for (int i=0; i<50; i++){ + sp2.data[i] = new char[50]; + for (int y=0; y<50; y+=2){ + sp2.data[i][y] = 'x'; + } + } + + point p2 = {0, 0}; + + s.addSprite(p2, sp2); + s.display(); + sleep(1); + + sprite sp3 = {NULL, 50, 50}; + sp3.data = new char*[50]; + for (int i=0; i<50; i+=2){ + sp3.data[i] = new char[50]; + sp3.data[i+1] = new char[50]; + for (int y=0; y<50; y++){ + sp3.data[i][y] = 'o'; + } + } + + point p3 = {0, 0}; + + s.addSprite(p3, sp3); + s.display(); + sleep(1); + + sprite sp4 = {NULL, 21, 21}; + sp4.data = new char*[21]; + for (int i=0; i<21; i++){ + sp4.data[i] = new char[21]; + } + + float x, y; + for (float i=0; i<2*3.14; i+=0.1){ + x = (std::cos(i)+1) * 5; + y = (std::sin(i)+1) * 10; + sp4.data[(int)x][(int)y] = '@'; + } + + point p4 = {14, 2}; + + s.addSprite(p4, sp4); + s.display(); + sleep(1); + + sprite sp5 = {NULL, 50, 50}; + sp5.data = new char*[50]; + for (int i=0; i<50; i++){ + sp5.data[i] = new char[50]; + for (int y=0; y<50; y++){ + sp5.data[i][y] = ' '; + } + } + + s.addSprite(p2, sp5); + s.display(); + sleep(1); + + s.addSprite({15, 20}, sp4); + s.display(); + sleep(1); + + sleep(3); + return 0; +} diff --git a/test/testou.cpp b/test/testou.cpp new file mode 100644 index 0000000..5311a2d --- /dev/null +++ b/test/testou.cpp @@ -0,0 +1,30 @@ +#include +#include +#include + +int main(){ + int size = 21; + char** s = new char*[size]; + for (int i=0; i