private void button1_Click(object sender, EventArgs e) { // initialiser robot = new Robot(Largeur); // état initial du robot robot.Direction = Direction.Nord; robot.X = 0; robot.Y = Largeur - 1; currentT = 0; button3.Enabled = true; button2.Enabled = true; NbBonbons = 0; Liste.Text = null; // schéma de la pièce avec les murs représentées sous la forme d'un carré // En fait la pièce est torique dans ses deux dimensions // cela signifie que si on déborde d'un bord, on arrive sur le bord opposé // la direction du robot ne change évidemment pas piece = new int[Largeur][]; piece[0] = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; piece[1] = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; piece[2] = new int[] { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1 }; piece[3] = new int[] { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }; piece[4] = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; piece[5] = new int[] { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 }; piece[6] = new int[] { 0, 0, 1, 1, 1, 0, 1, 0, 0, 0 }; piece[7] = new int[] { 0, 0, 0, 0, 1, 0, 1, 0, 0, 0 }; piece[8] = new int[] { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }; piece[9] = new int[] { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }; reseau = new KohonenMapRobot(256, 1.0, Piece.Width, Piece.Height); pasX = (int)(Piece.Width / Largeur); pasY = (int)(Piece.Height / Largeur); Graphics g = Piece.CreateGraphics(); g.Clear(Color.White); DessinerMurs(g); DisposerBonbons(g, 5); DessinerRobot(g, robot); double[] senseurs = CapturerSenseurs(robot); Liste.Text += string.Format("Senseur: {0}/{1}/{2}", senseurs[0].ToString("0.0000;-0.0000"), senseurs[1].ToString("0.0000;-0.0000"), senseurs[2].ToString("0.0000;-0.0000")) + Environment.NewLine; }