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 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 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 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
15 avril 2015 à 20:43
Dire merci c'est bien, commencer par bonjour, c'est mieux
0
Rejoignez-nous