public boolean attaquer(Region regionDefensive, int nbforceAttaque,
			int nbforceDefense)
	{
		if (attaquePossible(regionDefensive))
		{

			Integer[] resultatDeAttaque = null;
			resultatDeAttaque = new Integer[3];

			Integer[] resultatDeDefense = null;
			resultatDeDefense = new Integer[2];

			resultatDeAttaque[0] = De.lancer();
			if (nbforceAttaque > 1)
			{
				resultatDeAttaque[1] = De.lancer();
			}
			if (nbforceAttaque > 2)
			{
				resultatDeAttaque[2] = De.lancer();
			}

			// Lancé de dé de defenses
			resultatDeDefense[0] = De.lancer();
			if (nbforceDefense > 1)
			{
				resultatDeDefense[1] = De.lancer();
			}

			// Trions les deux tableaux pour pouvoir les comparer
			Arrays.sort(resultatDeAttaque, 0, resultatDeAttaque.length,
					Collections.reverseOrder());
			Arrays.sort(resultatDeDefense, 0, resultatDeDefense.length,
					Collections.reverseOrder());

			// Traitement du resultat des dés et mise a jour du nbr d'armées sur
			// chaques régions.
			int indiceTableau = 0;
			while ((indiceTableau != resultatDeAttaque.length)
					&& (indiceTableau != resultatDeDefense.length))
			{
				if (resultatDeAttaque[indiceTableau] > resultatDeDefense[indiceTableau])
				{
					if (regionDefensive.nbArmee == 1)
					{
						this.enleverArmee(1);
						regionDefensive.proprietaire = this.proprietaire;

						while (!(this.deplacerArmee(regionDefensive)))
						{

						}

					} else
						regionDefensive.enleverArmee(1);
				} else
				{
					this.enleverArmee(1);
				}
				indiceTableau++;
			}

			return true;

			// TODO Il manque le déplacement en fin de tour si attaquant gagne
		} else
		{
			return false;
		}

	}