Salut tout le monde
j'ai un petit soucis dans mon programme, je voudrai dessinet des cercle au lieu des carrè, pouvez vous m'aider SVP

voici le code source :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
 
package sma.pkg2017;
 
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import javax.imageio.ImageIO;
import javax.swing.*;
 
public class Carte extends JPanel {
 
    private int taille;
    private int echelle = 4;
    private int couleur_fourmi[];
    private int couleur_fourmi_nour[];
    private int couleur_nour[];
    private int couleur_obstacle[];
    private int couleur_fourmiliere[];
    private int couleur_pheromone[];
    private BufferedImage image = null;
    private Monde monde = null;
 
    public Carte(Monde monde) {
        this.monde = monde;
        this.taille = monde.taille;
 
        couleur_fourmi = new int[echelle * echelle];
        Arrays.fill(couleur_fourmi, Color.black.getRGB());
        couleur_fourmi_nour = new int[echelle * echelle];
        Arrays.fill(couleur_fourmi_nour, Color.red.getRGB());
        couleur_nour = new int[echelle * echelle];
        Arrays.fill(couleur_nour, Color.cyan.getRGB());
        couleur_obstacle = new int[echelle * echelle];
        Arrays.fill(couleur_obstacle, Color.DARK_GRAY.getRGB());
        couleur_fourmiliere = new int[echelle * echelle * 4];
        Arrays.fill(couleur_fourmiliere, Color.YELLOW.getRGB());
        couleur_pheromone = new int[echelle * echelle];
 
 
        setSize(echelle * taille, echelle * taille);
        image = new BufferedImage(echelle * taille, echelle * taille, BufferedImage.TYPE_INT_ARGB);
 
    }
 
    public void miseAJour() throws IOException {
        dessinCarte();
        dessinPheromones();
        dessinFourmis();
        dessinNourriture();
        dessinObstacle();
        dessinFourmiliere();
        repaint();
    }
 
    private void dessinCarte() throws IOException {
        Graphics sol = image.getGraphics();
        final BufferedImage image = ImageIO.read(new File("C:\\Users\\Admin123\\Desktop\\Naimi Projet\\projetNaimi\\ant.jpg"));
       // sol.drawImage(image, 0, 0, null);
        sol.drawImage(image, 0, 0, echelle * taille, echelle * taille, Color.yellow, this);
       // sol.setColor(Color.WHITE);
        //sol.fillRect(0, 0, echelle * taille, echelle * taille);
        //sol.fillOval(0, 0, echelle * taille, echelle * taille);
    }
 
    private void dessinFourmiliere() {
        if ((monde.fourmiliere.getPosition().getX() - 1 < 0) || (monde.fourmiliere.getPosition().getX() + 1 > taille) || (monde.fourmiliere.getPosition().getY() - 1 < 0) || (monde.fourmiliere.getPosition().getY() + 1 > taille)) {
            image.setRGB(monde.fourmiliere.getPosition().getX() * echelle, monde.fourmiliere.getPosition().getY() * echelle, echelle, echelle, couleur_fourmiliere, 0, echelle);
        } else {
            image.setRGB(monde.fourmiliere.getPosition().getX() * echelle - 2, monde.fourmiliere.getPosition().getY() * echelle - 2, echelle * 2, echelle * 2, couleur_fourmiliere, 0, echelle * 2);
 
        }
    }
 
    private void dessinFourmis() {
        for (Fourmi f : monde.fourmis.values()) {
            if (f.chercheFourmiliere()) {
                image.setRGB(f.getPosition().getX() * echelle, f.getPosition().getY() * echelle, echelle, echelle, couleur_fourmi_nour, 0, echelle);
            } else {
                image.setRGB(f.getPosition().getX() * echelle, f.getPosition().getY() * echelle, echelle, echelle, couleur_fourmi, 0, echelle);
            }
        }
    }
 
    private void dessinNourriture() {
        for (Nourriture n : monde.nourritures.values()) {
            image.setRGB(n.getPosition().getX() * echelle, n.getPosition().getY() * echelle, echelle, echelle, couleur_nour, 0, echelle);
        }
    }
 
    private void dessinObstacle() {
        for (Obstacle o : monde.obstacles.values()) {
            image.setRGB(o.getPosition().getX() * echelle, o.getPosition().getY() * echelle, echelle, echelle, couleur_obstacle, 0, echelle);
        }
    }
 
    private void dessinPheromones() {
        for (Pheromone p : monde.pheromones.values()) {
            //C+(255-C)*(1-R) =  255 - 255R +RC = 255 - R(255-C)
            Color phe = new Color((int) (255 - (p.getQuantite() / 100) * (255 - Color.BLUE.getRed())),
                    (int) (255 - (p.getQuantite() / 100) * (255 - Color.gray.getGreen())),
                    (int) (255 - (p.getQuantite() / 100) * (255 - Color.gray.getBlue())));
            Arrays.fill(couleur_pheromone, phe.getRGB());
            image.setRGB(p.getPosition().getX() * echelle, p.getPosition().getY() * echelle, echelle, echelle, couleur_pheromone, 0, echelle);
        }
    }
 
    @Override
    public void paintComponent(Graphics g) {
        g.drawImage(image, 0, 0, echelle * taille, echelle * taille, this);
    }
}

voici l'interface :
je veux changer les 4 carré de nourriture par des cercles
la fonction qui dessine la nouriture c'est : dessinNourriture

Nom : Capture.PNG
Affichages : 235
Taille : 448,0 Ko