public Grille(int taille, int pourcentage, string libelle, int age, int energie) { Taille = taille; cellule[,] tableauDeCellules = new cellule[taille, taille]; for (int i = 0; i < taille; i++) { for (int j = 0; j < taille; j++) { tableauDeCellules[i, j] = new cellule(energie, age); tableauDeCellules[i, j].PositionX = i; tableauDeCellules[i, j].PositionY = j; } } Taille = taille; float nb_de_cellule = taille * taille * pourcentage / 100; while (nb_de_cellule > 0) { Random rnd = new Random(); int i = rnd.Next(0, taille - 1); int j = rnd.Next(0, taille - 1); if (!tableauDeCellules[i, j].Vivant) { tableauDeCellules[i, j].Vivant = true; tableauDeCellules[i, j].Energy = energie; nb_de_cellule--; } } this.TableauDeCellules = tableauDeCellules; }
public cellule VoisinEst(cellule macase) { int E = macase.PositionY + 1; if (macase.PositionY >= Taille - 1) { E = 0; } return(TableauDeCellules[macase.PositionX, E]); }
public cellule VoisinSud(cellule macase) { int S = macase.PositionX + 1; if (macase.PositionX >= Taille - 1) { S = 0; } return(TableauDeCellules[S, macase.PositionY]); }
public cellule VoisinOuest(cellule macase) { int O = macase.PositionY - 1; if (macase.PositionY <= 0) { O = Taille - 1; } return(TableauDeCellules[macase.PositionX, O]); }
public cellule VoisinNord(cellule macase) { int N = macase.PositionX - 1; int y = macase.PositionY; if (macase.PositionX <= 0) { N = taille - 1; } return(TableauDeCellules[N, y]); }
public cellule VoisinSudOuest(cellule macase) { int SOy = macase.PositionY - 1; int SOx = macase.PositionX + 1; if (macase.PositionY <= 0) { SOy = Taille - 1; } if (macase.PositionX >= Taille - 1) { SOx = 0; } return(TableauDeCellules[SOx, SOy]); }
public cellule VoisinSudEst(cellule macase) { int SEy = macase.PositionY + 1; int SEx = macase.PositionX + 1; if (macase.PositionY >= Taille - 1) { SEy = 0; } if (macase.PositionX >= Taille - 1) { SEx = 0; } return(TableauDeCellules[SEx, SEy]); }
public cellule VoisinNordOuest(cellule macase) { int NOy = macase.PositionY - 1; int NOx = macase.PositionX - 1; if (macase.PositionY <= 0) { NOy = Taille - 1; } if (macase.PositionX <= 0) { NOx = Taille - 1; } return(TableauDeCellules[NOx, NOy]); }
public cellule VoisinNordEst(cellule macase) { int nordesty = macase.PositionY + 1; int nordestx = macase.PositionX - 1; if (macase.PositionY >= Taille - 1) { nordesty = Taille - 1; } if (macase.PositionX <= 0) { nordestx = 0; } return(TableauDeCellules[nordestx, nordesty]); }
public cellule Jeuniveau1(cellule macase, int cellulesvoisines) { if (cellulesvoisines > 3 && macase.Vivant) { macase.Vivant = false; } if (cellulesvoisines <= 1 && macase.Vivant) { macase.Vivant = false; } if (cellulesvoisines == 3 && !macase.Vivant) { macase.Vivant = true; } return(macase); }
public void Nbvoisin(cellule mycell) { mycell.Nbvoisin = 0; if (VoisinEst(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } if (VoisinNord(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } if (VoisinSud(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } if (VoisinOuest(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } if (VoisinNordEst(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } if (VoisinNordOuest(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } if (VoisinSudEst(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } if (VoisinSudOuest(mycell).Vivant) { mycell.Nbvoisin = mycell.Nbvoisin + 1; } //Console.WriteLine(mycell.Nbvoisin); }
public Grille(int taille) { Age_Mort = 10; Energie_Repro = 8; Taille = taille; cellule[,] tableauDeCellules = new cellule[taille, taille]; for (int i = 0; i < taille; i++) { for (int j = 0; j < taille; j++) { tableauDeCellules[i, j] = new cellule(); if (i == 1 && j == 3 || i == 2 && j == 1 || i == 2 && j == 3 || i == 3 && j == 2 || i == 3 && j == 3) { tableauDeCellules[i, j].Vivant = true; } tableauDeCellules[i, j].PositionX = i; tableauDeCellules[i, j].PositionY = j; } } this.TableauDeCellules = tableauDeCellules; }
public void Cloner(cellule mycell) { PositionX = mycell.PositionX; PositionY = mycell.PositionY; Vivant = mycell.Vivant; }
public cellule Jeuniveau2(cellule macase, int cellulesvoisines) { macase.Energy += 4; macase.Age += 1; if (cellulesvoisines > 3 && macase.Vivant) { macase.Vivant = false; } if (cellulesvoisines <= 1 && macase.Vivant) { macase.Vivant = false; } if (cellulesvoisines == 3 && !macase.Vivant) { macase.Vivant = true; } if (macase.Energy <= Energie_Repro && !macase.Vivant && macase.Age < Age_Mort) { if (!VoisinEst(macase).Vivant) { VoisinEst(macase).Vivant = true; VoisinEst(macase).Energy = 10; // une case qui est reproduit ne pert pas d'energie, a modifier VoisinEst(macase).Multi = -1; } if (!VoisinOuest(macase).Vivant) { VoisinOuest(macase).Vivant = true; VoisinOuest(macase).Energy = 10; VoisinOuest(macase).Multi = -1; } if (!VoisinNordEst(macase).Vivant) { VoisinNordEst(macase).Vivant = true; VoisinNordEst(macase).Energy = 10; VoisinNordEst(macase).Multi = -1; } if (!VoisinNordOuest(macase).Vivant) { VoisinNordOuest(macase).Vivant = true; VoisinNordOuest(macase).Energy = 10; VoisinNordOuest(macase).Multi = -1; } if (!VoisinSudEst(macase).Vivant) { VoisinSudEst(macase).Vivant = true; VoisinSudEst(macase).Energy = 10; VoisinSudEst(macase).Multi = -1; } if (!VoisinSudOuest(macase).Vivant) { VoisinSudOuest(macase).Vivant = true; VoisinSudOuest(macase).Energy = 10; VoisinSudOuest(macase).Multi = -1; } if (!VoisinNord(macase).Vivant) { VoisinNord(macase).Vivant = true; VoisinNord(macase).Energy = 10; VoisinNord(macase).Multi = -1; } if (!VoisinSud(macase).Vivant) { VoisinSud(macase).Vivant = true; VoisinSud(macase).Energy = 10; VoisinSud(macase).Multi = -1; } } if (macase.Vivant && macase.Age == this.Age_Mort) { macase.Vivant = false; } return(macase); }