ajout sprite

This commit is contained in:
_N3m0 2023-08-14 18:07:29 +02:00
parent 6529635f66
commit c119abf31e
3 changed files with 133 additions and 1 deletions

View File

@ -92,7 +92,14 @@ class Screen{
this->screen[p.x+1][p.y+2] = JDC::couleur(c); this->screen[p.x+1][p.y+2] = JDC::couleur(c);
}; };
//void addSprite(point<int> p, sprite s){}; void addSprite(point<int> p, sprite s){
for (int i=0; i<s.row; i++){
for (int y=0; y<s.col; y++){
if (!s.data[i][y]) continue;
this->screen[p.x+i][p.y+y] = s.data[i][y];
}
}
};
int ligne(){ int ligne(){
return this->row; return this->row;

95
test/sprot.cpp Normal file
View File

@ -0,0 +1,95 @@
#include <iostream>
#include <unistd.h>
#include <cmath>
#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<int> 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<int> 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<int> 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<int> 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;
}

30
test/testou.cpp Normal file
View File

@ -0,0 +1,30 @@
#include <iostream>
#include <unistd.h>
#include <cmath>
int main(){
int size = 21;
char** s = new char*[size];
for (int i=0; i<size; i++){
s[i] = new char[size];
}
float x, y;
for (float i=0; i<2*3.14; i+=0.1){
x = (std::cos(i)+1) * 10;
y = (std::sin(i)+1) * 10;
std::cout << "cos : " << x << " sin : " << y << std::endl;
std::cout << (int)x << ';' << (int)y << std::endl;
s[(int)x][(int)y] = '@';
}
for (int i=0; i<size; i++){
for (int y=0; y<size; y++){
if (!s[i][y]) std::cout << ' ';
std::cout << s[i][y];
}
std::cout << std::endl;
}
return 0;
}