Problème déplacement d'un point

hayaaat
Messages postés
15
Date d'inscription
mercredi 15 avril 2015
Statut
Membre
Dernière intervention
22 avril 2016
- 15 avril 2015 à 20:07
Whismeril
Messages postés
17644
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
9 août 2022
- 15 avril 2015 à 20:43
je veux créer un programme java pour simuler le modèle Restrected Random Way Point, c'est à dire je doit faire un point qui se déplace dans une zone un nbr de fois, puis elle se déplace vers une autre zone et ainsi de suite.
Mon problème c'est le déplacement d'une zone vers une autre, j'essais plusieurs solutions mais malheureusement ça marche pas.
Voici mon programme initial pour le déplacement d'un point dans une zone, Y'a t'il quelqu'un qui peux m'aider à faire le point déplacer vers une autre zone aprés n déplacement , et il déplace dans cette nouv zone aussi un nbr de déplacement ...
MRC BCP.^_^.


import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;

public class pan extends JPanel{
private static final long serialVersionUID = 1L;

//x et y sont les cordonnées de point
int x = 0;
int y = 0;
//les coordonnées/width / height des zones
int tabx[] = {25,600,50,700};
int taby[] = {25,35,350,250};
int width[] = {350,250,550,200};
int height[] = {250,150,300,345};
public pan() {

Timer timer1 = new Timer(600, new ActionListener(){
public void actionPerformed(ActionEvent e) {


x = tabx[0]+new Random().nextInt(width[0])-20;
y =taby[0]+new Random().nextInt(height[0])-20;
repaint();

}
});
timer1.start();

}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);

//création des 4 zones
for(int i=0;i<4;i++)
{
g.setColor(Color.pink);
g.fillRect(tabx[i],taby[i],width[i],height[i]);
g.setColor(Color.black);
g.setFont(new Font("Serif", Font.PLAIN, 20));
g.drawString("Zone: 0"+ (i+1), tabx[i]+10, taby[i]-10);
}

g.setColor(Color.BLUE);
g.fillOval(x, y, 20, 20);



}

@Override
public Dimension getPreferredSize() {
return new Dimension(1000,700);
}

public static void main(String[] args) {
JFrame frame = new JFrame();
frame.add(new pan());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setTitle("RestrestedRandomWayPoint");
}
}

1 réponse

Whismeril
Messages postés
17644
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
9 août 2022
612
15 avril 2015 à 20:43
Dire merci c'est bien, commencer par bonjour, c'est mieux
0