private void CibleSup(monBouton b, Cavalier p) { for (int i = 0; i < p.GetDepi().GetLength(0); ++i) { DD.UnSetButtonCible(b, piece.GetDepi()[i], piece.GetDepj()[i]); } }
// ******************** BOUTON PANNEAU DEPART ********************** private void boutonDepart_Click(object sender, EventArgs e) { if (sender is Button && (cpClic == 0) && !pause) { ////// ESSAI NICO ADRI cpClic = 0; rang = 0; pause = false; stopSimulation = false; simulationLancee = false; ////// /// ++cpClic; boutonPause.Visible = true; boutonDepart.Visible = false; boutonRecommencer.Visible = false; label1.Visible = false; ListChoixDuree.Visible = false; ListNbrPas.Visible = false; depLig = aleatoire.Next(GetNbrCaseCoteDamier()) + GetNbrCaseMarge(); depCol = aleatoire.Next(GetNbrCaseCoteDamier()) + GetNbrCaseMarge(); monBouton bdest = DD.GetMonBouton(depLig, depCol); piece = new Cavalier(bdest, choixCav); IAchoixRemplissage(bdest); LancerSimulation(); } }
private bool IsRestCibleDispo(monBouton bori, Cavalier p) { for (int i = 0; i < p.GetDepi().GetLength(0); ++i) { if (DD.IsDispoCible(bori, p.GetDepi()[i], p.GetDepj()[i])) { return(true); } } return(false); }
private void Buttons_Click(object sender, EventArgs e) { if (sender is monBouton && (cpClic == 0) && !pause) { if (NbrPas == (-1) || ChoixDuree == (-1)) { DialogResult reponse = MessageBox.Show( "La sélection du nombre de pas et de la durée de la pause est incorrecte." + "Veuillez recommencer la partie avec des sélections correctes.", "Erreur de saisie", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button3, MessageBoxOptions.RightAlign); } else { monBouton b = sender as monBouton; ++cpClic; // b.Enabled = false; depLig = b.getNumLigne(); depCol = b.getNumCol(); if (demo) { boutonPause.Visible = false; boutonDepart.Visible = false; boutonRecommencer.Visible = false; label1.Visible = false; ListChoixDuree.Visible = false; ListNbrPas.Visible = false; } else { boutonPause.Visible = true; boutonDepart.Visible = false; boutonRecommencer.Visible = false; label1.Visible = false; ListChoixDuree.Visible = false; ListNbrPas.Visible = false; } piece = new Cavalier(b, choixCav); IAchoixRemplissage(b); LancerSimulation(); } } }
private void PremierDeplacerPiece(monBouton bdest) { if (DD.IsDispo(bdest.getNumLigne(), bdest.getNumCol())) { depLig = bdest.getNumLigne(); depCol = bdest.getNumCol(); piece = new Cavalier(bdest, choixCav); bdest.ImageAj(piece.GetImg()); DD.FermerDispo(depLig, depCol); //CibleAj(bdest, piece); } }
private void LabelVict(monBouton b, Cavalier p) { labelVict.Text = ""; if (IsRestCibleDispo(b, p)) { labelVict.Text = ""; } else { if (DD.IsToutOccupe()) { labelVict.Text = "VICTOIRE !"; victoire = true; } else { labelVict.Text = "DEFAITE..."; victoire = false; } switch (cpRtClic) { case 0: labelVict.Text += "\n(avec aucun retour)"; break; case 1: labelVict.Text += "\n(avec un seul retour)"; break; default: labelVict.Text += "\n(avec " + cpRtClic + " retours)"; break; } labelVict.Text += "\nScore = " + cpClic + " pas."; labelVict.Visible = true; if (!victoire) { boutonSolution.Visible = true; } } }
private void PremierDeplacerPiece(monBouton bdest) { if (DD.IsDispo(bdest.getNumLigne(), bdest.getNumCol())) { depLig = bdest.getNumLigne(); depCol = bdest.getNumCol(); this.piece = new Cavalier(bdest, choixCav); bdest.ImageAj(piece.GetImg()); DD.FermerDispo(depLig, depCol); jouLig = depLig; jouCol = depCol; dpl[cpClic] = bdest; ++cpClic; CibleAj(bdest, this.piece); } }
// Parcours de la piece (cavalier) sur l'échiquier à partir d une case donnee private void IAchoixRemplissage(monBouton b) { //initialisation InitialisationIAChoix(); InitialisationDamierNum(); //simulation int ii = b.getNumLigne() - 1; int jj = b.getNumCol() - 1; piece = new Cavalier(b, choixCav); int[] depi = piece.GetDepi(); int [] depj = piece.GetDepj(); Euler euler = new Euler(depi, depj); damierNum = euler.getEchec(ii, jj); int rangBouton; monBouton btmp; for (int i = 0; i < damierNum.GetLength(0); ++i) { for (int j = 0; j < damierNum.GetLength(1); ++j) { // on ne veut pas certaines des 12*12 cases ( 0 et -1) if (damierNum[i, j] >= 1) { //extraction rangBouton = damierNum[i, j]; //rang allant de 1 à 64 btmp = DD.GetMonBouton(i, j); //assignation IAchoix[rangBouton - 1] = btmp; //(rang-1) allant de 0 à 63 IAchoixLigne[rangBouton - 1] = btmp.getNumLigne(); IAchoixColonne[rangBouton - 1] = btmp.getNumCol(); } } } }