Puissance4 1 joueur contre l'ordi

Soyez le premier à donner votre avis sur cette source.

Vue 9 513 fois - Téléchargée 742 fois

Description

C'est un jeu de puissance 4,l'interfaces est intuitive(il devrait pas yavoir de problèmes) l'ordi joue assez humainement Bref c'est un jeu dont le code peut servir a celui qui veut faire une interface graphique (certes assez simple mais quand même fonctionnelle) ou qui se demande comment faire une IA sans fonction du genre minimax et alphabeta( excusez si le code est pas très clair je le retoucherai de temps en temps pour qu'il devienne compréhensible)

Source / Exemple :

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.lang.*;
import java.io.*;


class panneau extends JPanel implements ActionListener
{
	JButton bouton1=new JButton();
	JButton bouton2=new JButton();
	JButton bouton3=new JButton();
	JButton bouton4=new JButton();
	JButton bouton5=new JButton();
	JButton bouton6=new JButton();
	JButton bouton7=new JButton();
	JButton bouton8=new JButton();
	JButton bouton9=new JButton();
	JButton bouton10=new JButton();
	JButton bouton11=new JButton();
	JButton nouv=new JButton("Nouv. Part");
	JButton ret=new JButton("Retour");
	JLabel la=new JLabel();
	JLabel evalA=new JLabel();
	JLabel evalB=new JLabel();
	JLabel evalC=new JLabel();
	JLabel evalD=new JLabel();
	JLabel evalE=new JLabel();
	JLabel evalF=new JLabel();
	JLabel evalG=new JLabel();
	JLabel evalH=new JLabel();
	JLabel evalI=new JLabel();
	JLabel evalJ=new JLabel();
	JLabel evalK=new JLabel();	
	JLabel eval=new JLabel();	
	
	public panneau() 
	{
		super();
		setLayout(null);
		setBackground(Color.white);
		setForeground(Color.black);
		la.setOpaque(true);
		la.setBounds(0,340,440,30);
		la.setVisible(true);
		add(la);
		evalA.setOpaque(true);
		evalA.setBounds(450,0,120,20);
		evalA.setVisible(true);
		add(evalA);
		evalB.setOpaque(true);
		evalB.setBounds(450,20,120,20);
		evalB.setVisible(true);
		add(evalB);
		evalC.setOpaque(true);
		evalC.setBounds(450,40,120,20);
		evalC.setVisible(true);
		add(evalC);
		evalD.setOpaque(true);
		evalD.setBounds(450,60,120,20);
		evalD.setVisible(true);
		add(evalD);
		evalE.setOpaque(true);
		evalE.setBounds(450,80,120,20);
		evalE.setVisible(true);
		add(evalE);
		evalF.setOpaque(true);
		evalF.setBounds(450,100,120,20);
		evalF.setVisible(true);
		add(evalF);
		evalG.setOpaque(true);
		evalG.setBounds(450,120,120,20);
		evalG.setVisible(true);
		add(evalG);
		evalH.setOpaque(true);
		evalH.setBounds(450,140,120,20);
		evalH.setVisible(true);
		add(evalH);
		evalI.setOpaque(true);
		evalI.setBounds(450,160,120,20);
		evalI.setVisible(true);
		add(evalI);
		evalJ.setOpaque(true);
		evalJ.setBounds(450,180,120,20);
		evalJ.setVisible(true);
		add(evalJ);
		evalK.setOpaque(true);
		evalK.setBounds(450,200,120,20);
		evalK.setVisible(true);
		add(evalK);
		eval.setOpaque(true);
		eval.setBounds(450,250,120,20);
		eval.setVisible(true);
		add(eval);
		bouton1.addActionListener(this);
		bouton2.addActionListener(this);
		bouton3.addActionListener(this);
		bouton4.addActionListener(this);
		bouton5.addActionListener(this);
		bouton6.addActionListener(this);
		bouton7.addActionListener(this);
		bouton8.addActionListener(this);
		bouton9.addActionListener(this);
		bouton10.addActionListener(this);
		bouton11.addActionListener(this);
		nouv.addActionListener(this);
		ret.addActionListener(this);
		bouton1.setBounds(0,300,40,40);
		bouton2.setBounds(40,300,40,40);
		bouton3.setBounds(80,300,40,40);
		bouton4.setBounds(120,300,40,40);
		bouton5.setBounds(160,300,40,40);
		bouton6.setBounds(200,300,40,40);
		bouton7.setBounds(240,300,40,40);
		bouton8.setBounds(280,300,40,40);
		bouton9.setBounds(320,300,40,40);
		bouton10.setBounds(360,300,40,40);
		bouton11.setBounds(400,300,40,40);	
		
		add(bouton1);
		add(bouton2);
		add(bouton3);
		add(bouton4);
		add(bouton5);
		add(bouton6);
		add(bouton7);
		add(bouton8);
		add(bouton9);
		add(bouton10);
		add(bouton11);
		JLabel lab=new JLabel("     A           B           C           D          E            F           G           H           I            J           K      ");
		lab.setBounds(0,270,500,40);
		lab.setVisible(true);
		add(lab);
		nouv.setBounds(450,280,130,40);
		add(nouv);
		ret.setBounds(450,330,130,40);
		add(ret);
	}
	
	
	public void paintComponent(Graphics g)
	{
		super.paintComponent(g);
		if(P4G.poss==false)
			ret.setSelected(false);
		if(P4G.poss==false)
			ret.setSelected(true);
		for(int i=0;i<12;i++)
		{
			for(int j=0;j<8;j++)
			{
				g.drawLine(0,40*j,40*11,40*j);
				g.drawLine(40*i,0,40*i,40*7);
			}
		}
		add(la);
		for(int i=0;i<11;i++)
		{
			for(int j=0;j<7;j++)
			{
				if(P4G.grille[j][i]=="x")
				{
					g.setColor(Color.red);
					g.drawLine(40*i+8,40*j+8,40*(i+1)-8,40*(j+1)-8);
					g.drawLine(40*(i+1)-8,40*j+8,40*i+8,40*(j+1)-8);
					g.setColor(Color.black);
				}
				if(P4G.grille[j][i]=="o")
				{
					g.setColor(Color.red);
					g.drawOval(40*i+5,40*j+5,32,32);
					g.setColor(Color.black);
				}
			}
		}
	}
	
	public void actionPerformed(ActionEvent e) 
	{
		
		Object source=e.getSource();
		if(P4G.poss)
		{
			if(source==bouton1)
			{la.setText("envoie 1");
			P4G.placer('a');}
			if(source==bouton2)
			{la.setText("envoie 2");P4G.placer('b');}
			if(source==bouton3)
			{la.setText("envoie 3");P4G.placer('c');}
			if(source==bouton4)
			{la.setText("envoie 4");P4G.placer('d');}
			if(source==bouton5)
			{la.setText("envoie 5");P4G.placer('e');}
			if(source==bouton6)
			{la.setText("envoie 6");P4G.placer('f');}
			if(source==bouton7)
			{la.setText("envoie 7");P4G.placer('g');}
			if(source==bouton8)
			{la.setText("envoie 8");P4G.placer('h');}
			if(source==bouton9)
			{la.setText("envoie 9");P4G.placer('i');}
			if(source==bouton10)
			{la.setText("envoie 10");P4G.placer('j');}
			if(source==bouton11)
			{la.setText("envoie 11");P4G.placer('k');}
		}
		if(source==nouv)
		{
			evalA.setText("A     :   0");
			evalB.setText("B     :  0");
			evalC.setText("C     :  0");
			evalD.setText("D     :  0");
			evalE.setText("E     :  0");
			evalF.setText("F     :  0");
			evalG.setText("G     :  0");
			evalH.setText("H     :  0");
			evalI.setText("I     :  0");
			evalJ.setText("J     :  0");
			evalK.setText("K     :  0");
			eval.setText("coup   :   ");
			P4G.av=true;
			P4G.poss=true;
			P4G.coupnb=0;
			repaint();
		}
		if(source==ret)
		{
			if((P4G.coupnb>=2)&&(P4G.poss))
			{
				P4G.retour();
			}
		}
		add(la);
		repaint();
	}
}







public class P4G
{	
	//Définition des champs de classe
	static int resultaaa=0;
	static BufferedReader coup=new BufferedReader(new InputStreamReader(System.in));
	static int li,co,num;
	static boolean test=false,av=false,poss=true,varvar=true;
	static String forme;
	static int quit=0;
	static String[][] grille=new String[7][11];
	static int[][] liste=new int[78][2];
	static int coupnb=0;
	static String[][] grilleJeu=new String[7][11];
	static String[][] listes=new String[164][4];
	static int[][] grillePoint=new int[7][11];
	static String[][] grilleTest=new String[7][11];
	static String[][] grilleTest2=new String[7][11];
	static int[] coucou=new int[11];
	static int[] coucou1=new int[11];
	static int ligneEnCours;
	static JFrame fenetre=new JFrame();
	public static panneau monpanneau=new panneau();
	static String[] coucoucou=new String[11];
	
	//initialise le champ de classe "grille" pour utilisation
	public static void init()
	{
		for(li=0;li<7;li++)
		{
			for(co=0;co<11;co++)
			{
				grille[li][co]="_";
			}
		}
	}
	
	//égalise deux grilles transmisent comme paramètres (pour IA)
	public static void egaliz(String[][] grille1,String[][] grille2)
	{
		for(li=0;li<7;li++)
		{
			for(co=0;co<11;co++)
			{
				grille1[li][co]=grille2[li][co];
			}
		}
	}
	
	public static void retour()
	{
		grille[liste[coupnb-1][0]][liste[coupnb-1][1]]="_";
		grille[liste[coupnb-2][0]][liste[coupnb-2][1]]="_";
		coupnb-=2;
		monpanneau.repaint();
	}
	
	//retourne true si puissance 4 trouvé dans la grille
	public static boolean verif()
	{
		boolean aligne=false;
		if(verDiagDroit()|verDiagGauch()|verVertic()|verHoriz())
			aligne=true;
		return(aligne);
	}
	
	
	//fonctions de recherche de puissance 4
	public static boolean verDiagDroit()
	{
		boolean align=false;
		for(li=0;li<4;li++)
		{
			for(co=0;co<8;co++)
			{
				if((grille[li][co]==grille[li+1][co+1])&&
				   (grille[li][co]==grille[li+2][co+2])&&
				   (grille[li][co]==grille[li+3][co+3])&&
				   (grille[li][co]!="_"))
					align=true;
			}
		}
		return(align);
	}
	
	
	
	public static boolean verDiagGauch()
	{
		boolean align=false;
		for(li=0;li<4;li++)
		{
			for(co=3;co<11;co++)
			{
				if((grille[li][co]==grille[li+1][co-1])&&
				   (grille[li][co]==grille[li+2][co-2])&&
				   (grille[li][co]==grille[li+3][co-3])&&
				   (grille[li][co]!="_"))
					align=true;
			}
		}
		return(align);
	}
	
	
	
	public static boolean verVertic()
	{
		boolean align=false;
		for(li=0;li<4;li++)
		{
			for(co=0;co<11;co++)
			{
				if((grille[li][co]==grille[li+1][co])&&
				   (grille[li][co]==grille[li+2][co])&&
				   (grille[li][co]==grille[li+3][co])&&
				   (grille[li][co]!="_"))
					align=true;
			}
		}
		return(align);
	}
	
	
	
	public static boolean verHoriz()
	{
		boolean align=false;
		for(li=0;li<7;li++)
		{
			for(co=0;co<8;co++)
			{
				if((grille[li][co]==grille[li][co+1])&&
				   (grille[li][co]==grille[li][co+2])&&
				   (grille[li][co]==grille[li][co+3])&&
				   (grille[li][co]!="_"))
					align=true;
			}
		}
		return(align);
	}
	
	
	
	//modifie le champs de classe "grille" (ajoute une forme)
	public static void placer(char coup1) 
	{
		
		int[] tampon=new int[2];
		int cou=(int)(coup1)-48-49;
		try
		{
			if(grille[0][cou]!="_")
			{
				tampon[0]=0;
				tampon[1]=50;
			}
			else
			{
				for(li=0;li<7;li++)
				{
					if(grille[li][cou]=="_")
					{
						tampon[0]=li;
						tampon[1]=cou;
					}
				}
			}
			int ligne=tampon[0];
			int colonne=tampon[1];
			if(grille[ligne][colonne]!="_")
				tampon[3]=2;
			grille[ligne][colonne]=forme;
			liste[coupnb][0]=ligne;
			liste[coupnb][1]=colonne;
			ligneEnCours=ligne;
			test=true;
		}
		catch(java.lang.ArrayIndexOutOfBoundsException erreur)
		{
			if(resultaaa==0)
			{
				monpanneau.la.setText("   COORDONEES ERRONNEES");
				test=false;	
				
			}
		}
		catch(StringIndexOutOfBoundsException erreur)
		{
			if(resultaaa==0)
			{
				monpanneau.la.setText("   COORDONEES ERRONNEES");
				test=false;	
				
			}
		}
		finally
		{}
	}
	
	
	
	
	
	//vérifie si partie nulle
	public static boolean plein()
	{
		int k=0;
		for(co=0;co<11;co++)
		{
			if(grille[0][co]=="_")
			k++;
		}
		if(k!=0)
			return(false);
		return(true);
	}
	
	//modifie le champs de classe "forme"
	public static void chang()
	{
		if(forme=="x")
		{
			forme="o";
			num=2;
		}
		else
		{
			forme="x";
			num=1;
		}
	}
	
	
	//fonction pour le déroulement du jeu
	public static void jeu()
	{
		
		init();
		av=false;
		forme="x";
		num=1;
		char coup1=' ';
		resultaaa=1;
		
		while((verif()==false)&&(plein()==false)&&(av==false))
		{
			
			monpanneau.repaint();
			test=false;
			if((resultaaa==1)&&(num==2))
			{
				ordi() ;
				coupnb++;
				
			}
			else
			{
				while((test==false)&&(av==false))
				{					
					monpanneau.la.setText("A vous de jouer...");
					
				}
				coupnb++;
				
			}
			chang();
		}
		while(av==false)
		{
			monpanneau.repaint();
			if(verif())
			{
				if(num==1)
				{monpanneau.la.setText("    J'AI   GAGNE!");poss=false;}
				if(num==2)
				{monpanneau.la.setText("   TU AS  GAGNE...");poss=false;}
			}
			if(plein())
			{
				monpanneau.la.setText("       PARTIE NULLE");
				poss=false;
			}
		}
		poss=true;
	}
	
	
	
	
	
	public static int analyseAlign(String[] tampon)
	{
		int ordi=0,jou=0,score=-1;
		String aforme;
		if(forme=="o")			
			{aforme="x";}
		else
			{aforme="o";}
			
			
		for(co=0;co<4;co++)
		{
			if(tampon[co]==forme)
				ordi++;
			if(tampon[co]==aforme)
				jou++;
		}
		
		if(jou==0)
		{
			if(ordi==0)
				score=2;
			if(ordi==1)
				score=20;
			if(ordi==2)
				score=200;
			if(ordi==3)
				score=2000;
			if(ordi==4)
				score=100000;
		}
		else if(ordi==0)
		{
			if(jou==0)
				score=-3;
			if(jou==1)
				score=-31;
			if(jou==2)
				score=-801;
			if(jou==3)
				score=-4001;
			if(jou==4)
				score=-100001;
		}
		return(score);
	}
	
	public static void rempliPoint1() 
	{
		for(int l=0;l<7;l++)
		{
			for(int c=0;c<11;c++)
			{
				if(grille[l][c]=="_")
				{
					if(c<5)
						grillePoint[l][c]=attribPoint(l,c)+1;
					if(c==5)
						grillePoint[l][c]=attribPoint(l,c)+5;
					if(c>5)
						grillePoint[l][c]=attribPoint(l,c)-3;
				}
				else
				{grillePoint[l][c]=0;}
			}
		}
		
		simplifieur();
		
	}
	
	public static void simplifieur()
	{
		int l=0,tampon2=0,tampon=0;
		for(co=0;co<11;co++)
		{
			while((l<7)&&(grillePoint[l][co]!=0))
			{
				if(tampon2<Math.abs(grillePoint[l][co]))
				{tampon2=Math.abs(grillePoint[l][co]); tampon=grillePoint[l][co];}
				l++;
			}
			if(l!=0)
			{
				coucou[co]=grillePoint[l-1][co]+tampon;
			}
			else
			{
				coucou[co]=0;
			}
			tampon=0;
			tampon2=0;
			l=0;
		}
	}
	
	public static int coucousom()
	{
		int som=0;
		for(int c=0;c<11;c++)
		{
			som+=coucou[c];
		}
		return(som);
	}
			
			
	
	
	public static void ordi() 
	{
		rempliPoint1();
		int tampon=-1000000,move=6,move1=-1;
		char r,rk;
		String aff;
//System.out.println("");
//for(co=0;co<11;co++)
//{System.out.print(coucou[co]+" ");} System.out.println("");

		egaliz(grilleTest,grille);
		for(int cos=0;cos<11;cos++)
		{
			egaliz(grille,grilleTest);
			r=(char)(cos+48+49);
			if(grille[0][cos]!="_")
			{
				for(int ck=0;ck<11;ck++)
				{
					coucou[ck]=1000000000;
				}
			}
			else
			{
				placer(r);
				rempliPoint1();
				chang();
				egaliz(grilleTest2,grille);
				for(int ck=0;ck<11;ck++)
				{
					egaliz(grille,grilleTest2);
					rk=(char)(ck+48+49);
					placer(rk);
					if(verif()==true)
					{
						coucou[ck]=-100000;
					}
				}
				chang();
				egaliz(grille,grilleTest2);
			}
			aff=String.valueOf(coucousom());
			if(coucousom()<-1000000)
			{aff="gagne";}
			if((coucousom()>-1000000)&&(coucousom()<=-90000))
			{aff="perd";}
			if(grilleTest[0][cos]!="_")
			{aff="imposs.";}
			coucoucou[cos]=aff;
			if(coucousom()>tampon)
			{
				tampon=coucousom();
				move=cos;
			}
			if(verif()==true)
			{
				move1=cos;
			}
		}
		if(move1!=-1)
		{
			move=move1;
			tampon=100000;
		}
		
		move+=48+49;
		egaliz(grille,grilleTest);
		monpanneau.evalA.setText("A     :  "+coucoucou[0]);
		monpanneau.evalB.setText("B     :  "+coucoucou[1]);
		monpanneau.evalC.setText("C     :  "+coucoucou[2]);
		monpanneau.evalD.setText("D     :  "+coucoucou[3]);
		monpanneau.evalE.setText("E     :  "+coucoucou[4]);
		monpanneau.evalF.setText("F     :  "+coucoucou[5]);
		monpanneau.evalG.setText("G     :  "+coucoucou[6]);
		monpanneau.evalH.setText("H     :  "+coucoucou[7]);
		monpanneau.evalI.setText("I     :  "+coucoucou[8]);
		monpanneau.evalJ.setText("J     :  "+coucoucou[9]);
		monpanneau.evalK.setText("K     :  "+coucoucou[10]);
		monpanneau.eval.setText("coup   :   "+(char)(move-32));
		placer((char)(move));
		monpanneau.la.setText("  "+(char)(move)+"      "+tampon+"\n\n") ;
		
	}
	
	public static int attribPoint(int ligne,int colonne)
	{
		int point=0;
		String[] tampon=new String[4];
		String formOrdi=forme;
		if(colonne+3<11)
		{
			for(co=0;co<4;co++)
			{
				tampon[co]=grille[ligne][co+colonne];
			}
			point+=analyseAlign(tampon);
		}
		if((colonne+2<11)&&(colonne-1>=0))
		{
			for(co=0;co<4;co++)
			{
				tampon[co]=grille[ligne][co+colonne-1];
			}
			point+=analyseAlign(tampon);
		}
		if((colonne+1<11)&&(colonne-2>=0))
		{
			for(co=0;co<4;co++)
			{
				tampon[co]=grille[ligne][co+colonne-2];
			}
			point+=analyseAlign(tampon);
		}
		if((colonne<11)&&(colonne-3>=0))
		{
			for(co=0;co<4;co++)
			{
				tampon[co]=grille[ligne][co+colonne-3];
			}
			point+=analyseAlign(tampon);
		}
		
		
		if(ligne-3>=0)
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-3][colonne];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne-2>=0)&&(ligne+1<7))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-2][colonne];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne-1>=0)&&(ligne+2<7))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-1][colonne];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne>=0)&&(ligne+3<7))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li][colonne];
			}
			point+=analyseAlign(tampon);
		}
		
		if((ligne-3>=0)&&(colonne+3<11))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-3][colonne+3-li];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne-2>=0)&&(colonne+2<11)&&(ligne+1<7)&&(colonne-1>=0))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-2][colonne+2-li];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne-1>=0)&&(colonne+1<11)&&(ligne+2<7)&&(colonne-2>=0))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-1][colonne+1-li];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne>=0)&&(colonne<11)&&(ligne+3<7)&&(colonne-3>=0))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li][colonne-li];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne>=0)&&(colonne+3<11)&&(ligne+3<7)&&(colonne>=0))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li][colonne+li];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne-1>=0)&&(colonne+2<11)&&(ligne+2<7)&&(colonne-1>=0))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-1][colonne+li-1];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne-2>=0)&&(colonne+1<11)&&(ligne+1<7)&&(colonne-2>=0))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-2][colonne+li-2];
			}
			point+=analyseAlign(tampon);
		}
		if((ligne-3>=0)&&(colonne<11)&&(ligne<7)&&(colonne-3>=0))
		{
			for(li=0;li<4;li++)
			{
				tampon[li]=grille[ligne+li-3][colonne+li-3];
			}
			point+=analyseAlign(tampon);
		}
		point+=40-8*Math.abs(6-colonne);
		return(point);
	}
	public static void main(String[] a) throws IOException
	{
		
		fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		fenetre.setSize(600,400);
		fenetre.setTitle("Puissance4 New Generation.");
		fenetre.setContentPane(monpanneau);
		fenetre.show();
		while(true)
		{jeu();}
	}
}

Conclusion :

Merci à moi car personne ne m'a aidé

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
samedi 7 juillet 2007
Statut
Membre
Dernière intervention
7 juillet 2007

Il est pas mal ya du code bon dans tous sa mais le problème c'est que ton code est immonde passe à l'objet pour des projets plus grand tu pettera un cable
Messages postés
545
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
28 septembre 2011
2
J'ai pas regardé dans le détail, ni déjà testé ton programme, mais je te conseilleurai de mettre des noms d'objets plus explicites !
Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Juste pour dire, évite de mettre tout le code dans la fenêtre source, c assez désagréable et ça rame avec ma petite connexion, les ZIP sont fait pour ça ! Ne met que le code indispensable, l'algorithme de tueur que tu as ... mais pas tout !
C tout ! Ca y est j'ai fini de piquer ma colère ! lol
@+
Messages postés
3
Date d'inscription
vendredi 2 avril 2004
Statut
Membre
Dernière intervention
2 avril 2004

Alors j'ai eu un petit souci mais rien de grave.
Il faut enlever la ligne 224 : test2.poss=true;
et ca fonctionne.
Mais en jouant pendant un quart d'heure, le prog c planté. Pkoi je sais po, je cherche...
Autrement l'algo est intéressant.

JoeBar44.
Messages postés
351
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
9 décembre 2004

Si tu veux éliminier tes éléments static, crée une classe JFrame à part et une autre MainClass dans laquelle tu mets juste la création de ta JFrame et
JFrame.setVisible(true); (dans la méthode main (String args[]))
Cela te permettra alors d'enlever toutes ces valeurs statiques qui assombrissent ton code ORIENTE OBJET.

Sinon, je regarde cela ce week-end. L'agorithme pourrait être intérêssant.

B@ron {EU.BELGIUM}

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.