Je suis un débutant complet et j'ai entrepris un petit projet pour utiliser Java en pratique et je suis un peu coincé. J'ai parcouru l'échange de pile mais je ne pouvais pas trouver une bonne explication pour les débutants sur la façon de dessiner des polygones simples dans un certain modèle.Dessiner une carte hexagonale en java
Un point important est que chaque hexagone doit être rempli avec une couleur RVB aléatoire. Cela changera plus tard et les valeurs RVB seront lues à partir de fichiers CSV, mais je ne voulais pas trop compliquer le code avant de comprendre les tuiles.
C'est ce que j'ai jusqu'ici. J'ai besoin d'un hexmap assez grand (200x80) enregistré dans un png plus tard, mais c'est un problème pour un autre jour.
Je réalise que transposer est probablement une façon terrible de le faire, ce que je pense être un certain système qui me permettra de dessiner un polygone à certaines coordonnées x, y que je générerai au besoin.
Ma question est la suivante: est-il viable de dessiner un grand hexagone de 200x80 en utilisant une boucle de transposition ou existe-t-il un meilleur moyen? J'apprécierais de me prendre dans la bonne direction.
int count = 0;
super.paintComponent(g);
Polygon p = new Polygon();
int hexSize = 100;
int sizeA = (hexSize/3)*2;
int sizeB = hexSize/3;
//hexagon definition
for (int i = 0; i < 6; i++)
p.addPoint((int) (sizeA + sizeB * Math.cos(i * 2 * Math.PI/6)),
(int) (sizeA + sizeB * Math.sin(i * 2 * Math.PI/6)));
//painting hexmap
while (count<5) {
int red = ThreadLocalRandom.current().nextInt(0, 255);
int green = ThreadLocalRandom.current().nextInt(0, 255);
int blue = ThreadLocalRandom.current().nextInt(0, 255);
Color myColor = new Color(red, green, blue);
g.setColor(myColor);
count++;
g.translate(49, 30);
g.drawPolygon(p);
g.fillPolygon(p);
}
}
Et quelle est votre question? – StephaneM
Oh, désolé. Je cherche de l'aide pour dessiner une carte hexadécimale complète de 200x80 de cette manière. J'essaye d'enrouler ma tête autour d'une boucle qui dessinerait des lignes et des colonnes d'hexagones dans un modèle approprié mais sans beaucoup de succès (encore!). –
Qu'est-ce que sizeA? tailleB? –