Newer
Older
PImage carte;
Table table;
Table tableDoubles;
int lignes;
PImage iconKorok;
PImage iconKorokDouble;
int baseKorokHeight = 7 * 4;
int baseKorokWidth = 7 * 4;
int baseKorokDoubleWidth = 9 * 4;
int baseKorokDoubleHeight = 7 * 4;
PFont font;
void setup() {
size(1200, 1000);
frameRate(30);
carte = loadImage("totk_map.jpg");
carte.resize(1200, 1000);
iconKorok = loadImage("korogu_simple.png");
iconKorokDouble = loadImage("korogu_double.png");
iconKorokDouble.resize(9 * 4, 7 * 4);
table = loadTable("korogus.csv");
tableDoubles = loadTable("korogus_duos.csv");
font = loadFont("Rockwell-16.vlw");
textFont(font);
textAlign(CENTER);
interpKorok = new Integrator[table.getRowCount()];
for(int i = 0; i < table.getRowCount(); i++) {
interpKorok[i] = new Integrator(500);
}
interpKorokDouble = new Integrator[tableDoubles.getRowCount()];
for(int i = 0; i < tableDoubles.getRowCount(); i++) {
interpKorokDouble[i] = new Integrator(500);
background(255);
image(carte, 0, 0);
smooth();
fill(192, 0, 0);
noStroke();
image(carte, 0, 0);
for(int i = 0; i < table.getRowCount(); i++) {
TableRow row = table.getRow(i);
interpKorok[i].update();
drawIcon(row.getFloat(0), row.getFloat(2), interpKorok[i].value / 800, iconKorok, baseKorokWidth, baseKorokHeight);
for(int i = 0; i < tableDoubles.getRowCount(); i++) {
TableRow row = tableDoubles.getRow(i);
interpKorokDouble[i].update();
drawIcon(row.getFloat(0), row.getFloat(2), interpKorokDouble[i].value / 800, iconKorokDouble, baseKorokDoubleWidth, baseKorokDoubleHeight);
void drawIcon(float x1, float y1, float size, PImage icon, float baseWidth, float baseHeight) {
float iconWidth = baseWidth;
float iconHeight = baseHeight;
if(mouseX > x - iconWidth / 2 &&
mouseX < x + iconWidth / 2 &&
mouseY > y - iconHeight/ 2 &&
mouseY < y + iconHeight/ 2
) {
iconHeight = iconHeight * 1.5;
iconWidth = iconWidth * 1.5;
fill(255);
}
x = x - iconWidth / 2;
y = y - iconHeight / 2;
image(icon, x, y, iconWidth, iconHeight);
}
void keyPressed() {
if(key == ' ') majDonnees();
}
void majDonnees() {
for(int i = 0; i < table.getRowCount(); i++) {
interpKorok[i].target(random(1, 1000));
}
for(int i = 0; i < tableDoubles.getRowCount(); i++) {
interpKorokDouble[i].target(random(1, 1000));
}
}