Accueil > > > SIMULATION TOUR DE HANNOI
SIMULATION TOUR DE HANNOI
Information sur la source
Description
interface graphique saisie le nombre d'anneau de la tour de Hannoi commence la simulation
Source
- import javax.swing.*;
- import java.awt.*;
- import java.util.*;
- import java.awt.event.*;
-
- class Hannoîe
- {
- public static void CommencerAlgorithme(int n,Vectore A,Vectore C,Vectore B,panneauTour panneau,Vector resultat)
- {
- panneau.repaint();
- if(n>0){
- CommencerAlgorithme((n-1),A,B,C,panneau,resultat);
- resultat.addElement((A.getString()));
- resultat.addElement((C.getString()));
- CommencerAlgorithme((n-1),B,C,A,panneau,resultat);
- }
- }
- }
-
-
- class Deplacement extends Thread
- {
- private panneauTour p;
- private Vectore a,b;
-
- public Deplacement(panneauTour pa,Vectore aa,Vectore ba)
- {
- a=aa;
- b=ba;
- p=pa;
- }
-
-
- public void run()
- {
-
- int nom1=a.getLabel();
- int nom2=b.getLabel();
-
- int elementA=(a.size());
- int elementB=(b.size());
-
- int ancienX=((Anneau)(a.elementAt((elementA-1)))).org1;
- int ancienY=((Anneau)(a.elementAt((elementA-1)))).org2;
-
- int nouveauOrg1=0;
- if(nom1<nom2)
- nouveauOrg1=((((Anneau)(a.elementAt((elementA-1)))).org1)+(220*(nom2-nom1)));
- else nouveauOrg1=((((Anneau)(a.elementAt((elementA-1)))).org1)-(220*(nom1-nom2)));
-
- int nouveauOrg2=(275-(elementB*30));
- int nouveauOrg3=((Anneau)(a.elementAt((elementA-1)))).org3;
-
- try{ for(int i=ancienY;i>=5;i--){
- ((Anneau)(a.lastElement())).setBounds(ancienX,i,nouveauOrg3,20);
- p.repaint();
- sleep(1);
- }}catch(InterruptedException e) {}
-
- ancienY=5;
-
- if((nouveauOrg1>ancienX)&&(nouveauOrg2>=ancienY))
- {
- try{
- for(int i=ancienX;i<=nouveauOrg1;i++){
- ((Anneau)(a.lastElement())).setBounds(i,ancienY,nouveauOrg3,20);
- p.repaint();
- sleep(1);
- }}catch(InterruptedException e) {}
-
-
- try{
- for(int j=ancienY;j<=nouveauOrg2;j++) {
- ((Anneau)(a.lastElement())).setBounds(nouveauOrg1,j,nouveauOrg3,20);
- p.repaint();
- sleep(1);
- }}catch(InterruptedException e) {}}
-
-
- if((nouveauOrg1<ancienX)&&(nouveauOrg2>=ancienY)) {
-
- try{
- for(int i=ancienX;i>=nouveauOrg1;i--) {
- ((Anneau)(a.lastElement())).setBounds(i,ancienY,nouveauOrg3,20);
- p.repaint();
- sleep(1);
- }}catch(InterruptedException e) {}
-
-
-
- try{for(int j=ancienY;j<=nouveauOrg2;j++)
- {
- ((Anneau)(a.lastElement())).setBounds(nouveauOrg1,j,nouveauOrg3,20);
- p.repaint();
- sleep(1);
- }}catch(InterruptedException e) {}}
-
-
-
- ((Anneau)(a.lastElement())).changerOrg(nouveauOrg1,nouveauOrg2,nouveauOrg3);
- b.addElement((Anneau)(a.lastElement()));
- a.remove((elementA-1));
- }
- }
-
-
- class Fenetre extends JFrame {
-
- private Container contenaire;
- private JLabel nmbAnneauLabel;
- private JTextField nmbAnneauField;
- private JButton simulationBouton,confirmerBouton;
- private int nombreAnneau;
- private panneauTour panneau;
-
- Fenetre(){
-
- setTitle("Tour de Hannoïe");
- setBounds(50,50,700,400);
-
- contenaire =getContentPane();
- contenaire.setBackground(Color.cyan);
- contenaire.setLayout(null);
-
- nmbAnneauLabel=new JLabel("Le nombre d'anneau:");
- nmbAnneauLabel.setBounds(10,20,120,10);
- nmbAnneauLabel.setForeground(Color.red);
- contenaire.add(nmbAnneauLabel);
-
- nmbAnneauField=new JTextField("0");
- nmbAnneauField.setBounds(140,15,50,25);
- contenaire.add(nmbAnneauField);
-
- simulationBouton=new JButton("commencer la simulation");
- simulationBouton.setBounds(450,15,200,25);
- simulationBouton.setBackground(Color.white);
- simulationBouton.setForeground(Color.red);
- contenaire.add(simulationBouton);
-
- confirmerBouton=new JButton("confirmer");
- confirmerBouton.setBounds(250,15,100,25);
- confirmerBouton.setBackground(Color.white);
- confirmerBouton.setForeground(Color.red);
- contenaire.add(confirmerBouton);
-
-
- panneau=new panneauTour();
- contenaire.add(panneau);
- contenaire.repaint();
-
- EcouteurConfirmer ecout1=new EcouteurConfirmer(nmbAnneauField,panneau);
- EcouteurCommencer ecout2=new EcouteurCommencer(panneau,ecout1);
-
- confirmerBouton.addActionListener(ecout1);
- simulationBouton.addActionListener(ecout2); }}
-
-
- class EcouteurConfirmer implements ActionListener{
-
- private JTextField nombreField;
- private panneauTour panneau;
- private int leNombre;
- private Vectore tourA,tourB,tourC;
-
- EcouteurConfirmer(JTextField txtfield,panneauTour pan){
-
- panneau=pan;
- nombreField=txtfield; }
-
- public void actionPerformed(ActionEvent e){
-
- leNombre=Integer.parseInt(nombreField.getText());
-
- tourA =new Vectore('A');
- tourB =new Vectore('B');
- tourC =new Vectore('C');
-
- for(int i=0;i<leNombre;i++)
- tourA.add(new Anneau(i));
-
- panneau.dessiner(tourA);}
-
- Vectore getTourA(){return tourA;}
-
- Vectore getTourB(){return tourB;}
-
- Vectore getTourC(){return tourC;}}
-
-
- class EcouteurCommencer implements ActionListener{
-
- private Vectore tourA,tourB,tourC;
- private EcouteurConfirmer ecou;
- private panneauTour panneau;
- private int compteur=0;
- private Vector resultat;
-
- EcouteurCommencer(panneauTour p,EcouteurConfirmer e){
-
- ecou=e;
- panneau=p;
- resultat=new Vector();}
-
-
-
- public void actionPerformed(ActionEvent e){
-
- tourA=ecou.getTourA();
- tourB=ecou.getTourB();
- tourC=ecou.getTourC();
-
- Hannoîe.CommencerAlgorithme(tourA.size(),tourA,tourC,tourB,panneau,resultat);
- if(compteur==0)System.out.println("le nombre de deplacement est : "+(resultat.size())/2);
- if(compteur<(resultat.size()-2)){
-
-
- if((((String)(resultat.elementAt(compteur))).equals("AAA"))&&(((String)(resultat.elementAt(compteur+1))).equals("BBB"))){
- new Deplacement(panneau,tourA,tourB).start();}
-
- if((((String)(resultat.elementAt(compteur))).equals("BBB"))&&(((String)(resultat.elementAt(compteur+1))).equals("AAA"))){
- new Deplacement(panneau,tourB,tourA).start();}
-
- if((((String)(resultat.elementAt(compteur))).equals("AAA"))&&(((String)(resultat.elementAt(compteur+1))).equals("CCC"))){
- new Deplacement(panneau,tourA,tourC).start();}
-
- if((((String)(resultat.elementAt(compteur))).equals("CCC"))&&(((String)(resultat.elementAt(compteur+1))).equals("AAA"))){
- new Deplacement(panneau,tourC,tourA).start();}
-
- if((((String)(resultat.elementAt(compteur))).equals("BBB"))&&(((String)(resultat.elementAt(compteur+1))).equals("CCC"))){
- new Deplacement(panneau,tourB,tourC).start();}
-
- if((((String)(resultat.elementAt(compteur))).equals("CCC"))&&(((String)(resultat.elementAt(compteur+1))).equals("BBB"))){
- new Deplacement(panneau,tourC,tourB).start();}
- }
- compteur+=2;
-
- }}
-
-
- class panneauTour extends JPanel{
-
- private monLabel label1,label2,label3;
-
- panneauTour(){
- super(null);
- setBounds(20,50,660,300);
- setBackground(Color.white);
-
- label1=new monLabel("Tour A: tour de départ",30,this);
- label2=new monLabel("Tour B: tour intermédiaire",230,this);
- label3=new monLabel("Tour C: tour d'arrivée",430,this);}
-
- void dessiner(Vectore p){
-
- for(int i=0;i<(p.size());i++){
- this.add((Anneau)(p.elementAt(i)));
- this.repaint();}}}
-
-
- class Anneau extends JPanel{
-
- public int org1,org2,org3;
-
- Anneau(int i){
- org1=5+(10*i);
- org2=275-(i*30);
- org3=200-(20*i);
- setBounds(org1,org2,org3,20);
- setBackground(Color.blue);}
-
- void changerOrg(int n1,int n2,int n3){
- org1=n1;org2=n2;org3=n3;}}
-
-
- class monLabel extends JLabel{
-
- monLabel(String s,int abs,panneauTour panneau){
- setText(s);
- setHorizontalAlignment(2);
- setBounds(abs,0,200,20);
- setForeground(Color.red);
- panneau.add(this);
- }}
-
-
- class Vectore extends Vector{
-
- private char label;
-
- Vectore(char c){label=c;}
-
- int getLabel(){int indice=0;
- switch(label){
- case 'A':indice=1;break;
- case 'B':indice=2;break;
- case 'C':indice=3;break;}
- return indice;}
-
- String getString(){
- String chaine="";
- switch(label){
- case 'A':chaine+="AAA";break;
- case 'B':chaine+="BBB";break;
- case 'C':chaine+="CCC";break;}
- return chaine;} }
-
-
-
- class Virgin3{
- public static void main(String args[]){
- Fenetre f=new Fenetre();
- f.setVisible(true);}}
-
-
-
-
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
class Hannoîe
{
public static void CommencerAlgorithme(int n,Vectore A,Vectore C,Vectore B,panneauTour panneau,Vector resultat)
{
panneau.repaint();
if(n>0){
CommencerAlgorithme((n-1),A,B,C,panneau,resultat);
resultat.addElement((A.getString()));
resultat.addElement((C.getString()));
CommencerAlgorithme((n-1),B,C,A,panneau,resultat);
}
}
}
class Deplacement extends Thread
{
private panneauTour p;
private Vectore a,b;
public Deplacement(panneauTour pa,Vectore aa,Vectore ba)
{
a=aa;
b=ba;
p=pa;
}
public void run()
{
int nom1=a.getLabel();
int nom2=b.getLabel();
int elementA=(a.size());
int elementB=(b.size());
int ancienX=((Anneau)(a.elementAt((elementA-1)))).org1;
int ancienY=((Anneau)(a.elementAt((elementA-1)))).org2;
int nouveauOrg1=0;
if(nom1<nom2)
nouveauOrg1=((((Anneau)(a.elementAt((elementA-1)))).org1)+(220*(nom2-nom1)));
else nouveauOrg1=((((Anneau)(a.elementAt((elementA-1)))).org1)-(220*(nom1-nom2)));
int nouveauOrg2=(275-(elementB*30));
int nouveauOrg3=((Anneau)(a.elementAt((elementA-1)))).org3;
try{ for(int i=ancienY;i>=5;i--){
((Anneau)(a.lastElement())).setBounds(ancienX,i,nouveauOrg3,20);
p.repaint();
sleep(1);
}}catch(InterruptedException e) {}
ancienY=5;
if((nouveauOrg1>ancienX)&&(nouveauOrg2>=ancienY))
{
try{
for(int i=ancienX;i<=nouveauOrg1;i++){
((Anneau)(a.lastElement())).setBounds(i,ancienY,nouveauOrg3,20);
p.repaint();
sleep(1);
}}catch(InterruptedException e) {}
try{
for(int j=ancienY;j<=nouveauOrg2;j++) {
((Anneau)(a.lastElement())).setBounds(nouveauOrg1,j,nouveauOrg3,20);
p.repaint();
sleep(1);
}}catch(InterruptedException e) {}}
if((nouveauOrg1<ancienX)&&(nouveauOrg2>=ancienY)) {
try{
for(int i=ancienX;i>=nouveauOrg1;i--) {
((Anneau)(a.lastElement())).setBounds(i,ancienY,nouveauOrg3,20);
p.repaint();
sleep(1);
}}catch(InterruptedException e) {}
try{for(int j=ancienY;j<=nouveauOrg2;j++)
{
((Anneau)(a.lastElement())).setBounds(nouveauOrg1,j,nouveauOrg3,20);
p.repaint();
sleep(1);
}}catch(InterruptedException e) {}}
((Anneau)(a.lastElement())).changerOrg(nouveauOrg1,nouveauOrg2,nouveauOrg3);
b.addElement((Anneau)(a.lastElement()));
a.remove((elementA-1));
}
}
class Fenetre extends JFrame {
private Container contenaire;
private JLabel nmbAnneauLabel;
private JTextField nmbAnneauField;
private JButton simulationBouton,confirmerBouton;
private int nombreAnneau;
private panneauTour panneau;
Fenetre(){
setTitle("Tour de Hannoïe");
setBounds(50,50,700,400);
contenaire =getContentPane();
contenaire.setBackground(Color.cyan);
contenaire.setLayout(null);
nmbAnneauLabel=new JLabel("Le nombre d'anneau:");
nmbAnneauLabel.setBounds(10,20,120,10);
nmbAnneauLabel.setForeground(Color.red);
contenaire.add(nmbAnneauLabel);
nmbAnneauField=new JTextField("0");
nmbAnneauField.setBounds(140,15,50,25);
contenaire.add(nmbAnneauField);
simulationBouton=new JButton("commencer la simulation");
simulationBouton.setBounds(450,15,200,25);
simulationBouton.setBackground(Color.white);
simulationBouton.setForeground(Color.red);
contenaire.add(simulationBouton);
confirmerBouton=new JButton("confirmer");
confirmerBouton.setBounds(250,15,100,25);
confirmerBouton.setBackground(Color.white);
confirmerBouton.setForeground(Color.red);
contenaire.add(confirmerBouton);
panneau=new panneauTour();
contenaire.add(panneau);
contenaire.repaint();
EcouteurConfirmer ecout1=new EcouteurConfirmer(nmbAnneauField,panneau);
EcouteurCommencer ecout2=new EcouteurCommencer(panneau,ecout1);
confirmerBouton.addActionListener(ecout1);
simulationBouton.addActionListener(ecout2); }}
class EcouteurConfirmer implements ActionListener{
private JTextField nombreField;
private panneauTour panneau;
private int leNombre;
private Vectore tourA,tourB,tourC;
EcouteurConfirmer(JTextField txtfield,panneauTour pan){
panneau=pan;
nombreField=txtfield; }
public void actionPerformed(ActionEvent e){
leNombre=Integer.parseInt(nombreField.getText());
tourA =new Vectore('A');
tourB =new Vectore('B');
tourC =new Vectore('C');
for(int i=0;i<leNombre;i++)
tourA.add(new Anneau(i));
panneau.dessiner(tourA);}
Vectore getTourA(){return tourA;}
Vectore getTourB(){return tourB;}
Vectore getTourC(){return tourC;}}
class EcouteurCommencer implements ActionListener{
private Vectore tourA,tourB,tourC;
private EcouteurConfirmer ecou;
private panneauTour panneau;
private int compteur=0;
private Vector resultat;
EcouteurCommencer(panneauTour p,EcouteurConfirmer e){
ecou=e;
panneau=p;
resultat=new Vector();}
public void actionPerformed(ActionEvent e){
tourA=ecou.getTourA();
tourB=ecou.getTourB();
tourC=ecou.getTourC();
Hannoîe.CommencerAlgorithme(tourA.size(),tourA,tourC,tourB,panneau,resultat);
if(compteur==0)System.out.println("le nombre de deplacement est : "+(resultat.size())/2);
if(compteur<(resultat.size()-2)){
if((((String)(resultat.elementAt(compteur))).equals("AAA"))&&(((String)(resultat.elementAt(compteur+1))).equals("BBB"))){
new Deplacement(panneau,tourA,tourB).start();}
if((((String)(resultat.elementAt(compteur))).equals("BBB"))&&(((String)(resultat.elementAt(compteur+1))).equals("AAA"))){
new Deplacement(panneau,tourB,tourA).start();}
if((((String)(resultat.elementAt(compteur))).equals("AAA"))&&(((String)(resultat.elementAt(compteur+1))).equals("CCC"))){
new Deplacement(panneau,tourA,tourC).start();}
if((((String)(resultat.elementAt(compteur))).equals("CCC"))&&(((String)(resultat.elementAt(compteur+1))).equals("AAA"))){
new Deplacement(panneau,tourC,tourA).start();}
if((((String)(resultat.elementAt(compteur))).equals("BBB"))&&(((String)(resultat.elementAt(compteur+1))).equals("CCC"))){
new Deplacement(panneau,tourB,tourC).start();}
if((((String)(resultat.elementAt(compteur))).equals("CCC"))&&(((String)(resultat.elementAt(compteur+1))).equals("BBB"))){
new Deplacement(panneau,tourC,tourB).start();}
}
compteur+=2;
}}
class panneauTour extends JPanel{
private monLabel label1,label2,label3;
panneauTour(){
super(null);
setBounds(20,50,660,300);
setBackground(Color.white);
label1=new monLabel("Tour A: tour de départ",30,this);
label2=new monLabel("Tour B: tour intermédiaire",230,this);
label3=new monLabel("Tour C: tour d'arrivée",430,this);}
void dessiner(Vectore p){
for(int i=0;i<(p.size());i++){
this.add((Anneau)(p.elementAt(i)));
this.repaint();}}}
class Anneau extends JPanel{
public int org1,org2,org3;
Anneau(int i){
org1=5+(10*i);
org2=275-(i*30);
org3=200-(20*i);
setBounds(org1,org2,org3,20);
setBackground(Color.blue);}
void changerOrg(int n1,int n2,int n3){
org1=n1;org2=n2;org3=n3;}}
class monLabel extends JLabel{
monLabel(String s,int abs,panneauTour panneau){
setText(s);
setHorizontalAlignment(2);
setBounds(abs,0,200,20);
setForeground(Color.red);
panneau.add(this);
}}
class Vectore extends Vector{
private char label;
Vectore(char c){label=c;}
int getLabel(){int indice=0;
switch(label){
case 'A':indice=1;break;
case 'B':indice=2;break;
case 'C':indice=3;break;}
return indice;}
String getString(){
String chaine="";
switch(label){
case 'A':chaine+="AAA";break;
case 'B':chaine+="BBB";break;
case 'C':chaine+="CCC";break;}
return chaine;} }
class Virgin3{
public static void main(String args[]){
Fenetre f=new Fenetre();
f.setVisible(true);}}
Conclusion
le travail est recursif
Sources de la même categorie
LIRE LES FICHIERS .WAVLIRE LES FICHIERS .WAV Cette classe permet de lire les fichiers .wav, de les mettre en pause, et de les reprendre en cours de lecture sans bloquer l'OS....
par Julien39
TRADUCTEUR FRANÇAIS --> NERLANDAIS V3TRADUCTEUR FRANÇAIS --> NERLANDAIS V3C'est un traduction: Français - Néerlandais, Français - Anglais, Français - Japonais, et vice versa.
En fonction de la traduction demandé, les poss...
par edouard333
IA POUR DISCUTERIA POUR DISCUTER Ceci est une IA qui peut "parler" avec l'utilisateur, on a très peut de possibilité, mais aussi peut de chance de tomber dessus, et les dialogues sont...
par edouard333
JSUBTITLE1.0JSUBTITLE1.0Cette petite application permet d'avancer ou de faire reculer un sous titrage format srt.
Le titrage est chargé en memoire sous forme xml, l'enregist...
par darrylsite
COMPILATEUR PASCALCOMPILATEUR PASCAL c'est un mini compilateur pascal réalisé en java avec l'analyseur syntaxique et l'analyseur lexicale qui permet de compiler un fichier pascal...
par youma85
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
simulation de la circulation d'une trame dans un réseau [ par kenmeue ]
Salut à toi! stp est ce que tu peux m'aider un peu sur java? je souhaite faire la simulation de la circulation d'une trame dans un réseau.
SIMULATION EN 3D D'UN FLUX URBAIN [ par amjad22 ]
Je veux réaliser une simulation en 3D d'un flux urbain, où on verrait les voitures se déplacer sur des routes avec des immeubles prédéfinis par l'util
probleme d'affichage JPanel [ par topic1 ]
je debute en programmation java j'essaye de creer dans une Jframe trois JPanel deux affichant un graphique et un troisieme contenant des boutonsmon pr
Tour de Hanoï [ par ypothier ]
SalutJe suis à la recherche d'un code source pour le jeu "Tour de Hanoï". Quelqu'un peut m'aider ????Merciypothier
Je pense que je vais me jeter de la Tour Eiffel si on m'aide pas... [ par foxylady ]
Tout d'abord bonsoir.Ma question peut sembler stupide pour les experts en java mais moi elle me prend la tete depuis 48h et là j'en peux plus!En fait
Simulation en VB de la Gestion des feux de deux carrefours [ par bambino2003 ]
Bonjour Mes Trés chers ami(e)s ,Je suis trés débutant en VB ( je n'ai jamais etudié VB ) et j'ai besoin beaucoup d'aide en Visual Basic VB. En fait, p
Simulation scientifique [ par Bison_Ravi_33 ]
Bonjour,j'ai pour projet la réalisation d'un simulateur grace aux JavaBeans orienté calculs scientifiques. Par exemple, l'utilisateur du siulateur (mo
Java pour un Jeu Online ? [ par Sissmic ]
Bonjour a tous.Voila, un ami et moi meme somme entrain de faire un jeu en php/html, c'est un jeu tour par tour qui est un mélange de RPG/Lycos Fight/C
Pb jeu en réseau [ par wololo592 ]
Bonjour,Je développe actuellement un jeu en réseau en tour à tour dans une applet.Tout marche a peu près, sauf que l'attente de la connexion du client
fonctionnement du focus [ par kungouf ]
bonjourj'ai un probleme pour gerer le focus dans mon programme:j'ai des objets qui sont instancies de la classe Saisie extends JDialog implements Focu
|
Derniers Blogs
[RIA SERVICES] MAITRE - DéTAIL ET DOMAINDATASOURCE[RIA SERVICES] MAITRE - DéTAIL ET DOMAINDATASOURCE par Audrey
A l'occasion d'un projet client, j'ai utilisé RIA Services avec Silverlight 3 (mais cela fonctionne aussi avec la version 4), et je l'ai utilisé pour une interface façon Maitre / Détail. Voici comment j'ai procédé pour arriver à mes fins. Nous allons pren...
Cliquez pour lire la suite de l'article par Audrey CSDL FUNCTIONCSDL FUNCTION par Matthieu MEZIL
Dans mon post précédent , j'ai utilisé une CSDL Function afin de générer une requête SQL avec un DateDiff utilisant la date courante sur la BD à partir d'une requête LINQ. Dans le cadre de ce post , vous avez probablement remarqué que dans le cadre de plu...
Cliquez pour lire la suite de l'article par Matthieu MEZIL LINQ TO ENTITIESLINQ TO ENTITIES par Matthieu MEZIL
Cette semaine je suis à Montréal en tant que speaker sur Entity Framework pour l'évènement confoo . J'en profite pour remercier les organisateurs de cet évènement de m'avoir fait confiance et Access-IT de m'avoir permis d'y participer. En parallèle, j'ai ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010FAIRE APPARAITRE L'ONGLET 'DéVELOPPEUR' DANS OFFICE 2010 par neodante
La nouvelle interface d'Office 2010 à amener quelques modifications par rapport à celle de 2007. Certes mineures, ces modifications ont fait disparaître la case à cocher de l'onglet 'Développeur' en première page du panneau du 'bouton Office' (dans Office...
Cliquez pour lire la suite de l'article par neodante [ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre
Forum
RE : AGENT JADE !RE : AGENT JADE ! par ghezella
Cliquez pour lire la suite par ghezella APPLET + JPANNELAPPLET + JPANNEL par olfa8687
Cliquez pour lire la suite par olfa8687
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
Comparez les prix

HTC Hero
Entre 550€ et 550€
|