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
|
import java.awt.*;
import java.util.*;
import javax.swing.JPanel;
import java.io.*;
import java.lang.Integer;
public class PanneauTrajet extends JPanel {
final int LARGPAN=500;
final int HAUTPAN=350;
int nbrDeplacement;
String ligne;
int x=250;
int y=350;
int newx;
int newy;
char vit;
char tpsDiz;
char tpsUnit;
char dir;
int vitesse[]=new int[100];
int temps[]=new int[100];
String direction[]=new String[100];
int nbrCaractere;
public PanneauTrajet() {
setPreferredSize(new Dimension(LARGPAN,HAUTPAN));
setBackground(Color.blue);
try {
trajet();
} catch (IOException ex) {
ex.printStackTrace();
}
}
public void trajet() throws IOException {
BufferedReader entree=new BufferedReader(new FileReader("trajet.txt"));
int i=0;
int j=0;
ligne=entree.readLine();
if (ligne!=null) {
///////////////Calcul du nombre de deplacements//////////////
nbrCaractere=ligne.length();
nbrDeplacement=nbrCaractere/5;
//////////////Enregistrement des instructions du fichier texte dans les tableaux //////////
for(int a=0;a<nbrDeplacement;a++){
if (ligne!=null) {
vit=ligne.charAt(i); //extrait le premier caractère de la ligne
String StrVit=String.valueOf(vit); //transforme char en string
vitesse[j]=Integer.parseInt(StrVit); //transforme string en int
i++;
tpsDiz=ligne.charAt(i);
i++;
tpsUnit=ligne.charAt(i);
String StrTps=String.valueOf(tpsDiz)+String.valueOf(tpsUnit);
temps[j]=Integer.parseInt(StrTps);
i++;
dir=ligne.charAt(i);
direction[j]=String.valueOf(dir);
i+=2; //pour sauter le point virgule
j++;
}
}
repaint();
}
entree.close();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
for(int i=0;i<nbrDeplacement;i++){
if(direction[i]=="g"){
newx=x-(vitesse[i]*temps[i]);
if (direction[i]=="d"){
newx=x+(vitesse[i]*temps[i]);
newy=y-(vitesse[i]*temps[i]*5);
g.drawLine(x,y,newx,newy);
x=newx;
y=newy;
}
}
} |
Partager