public ProgramFitnessFunction(Puzzle puzzle, IList<int> funcSlotCount) { Debug.Assert(puzzle != null && funcSlotCount != null && funcSlotCount.Count > 0); this.puzzle = puzzle; this.funcSlotCount = funcSlotCount; this.totalSlots = funcSlotCount.Sum(); }
private void CreateFieldAndPuzzle() { for (int i = 0; i < FieldSideSize; ++i) for (int j = 0; j < FieldSideSize; ++j) { Button button = this.FindResource("FieldButton") as Button; Debug.Assert(button != null); button.Name = string.Format("Field_{0}_{1}", j, i); button.Click += fieldButton_Click; this.fieldGrid.Children.Add(button); } this.puzzle = new Puzzle(FieldSideSize, FieldSideSize); this.puzzle.FieldColorChanged += this.puzzle_FieldColorChanged; this.puzzle.FieldStarStateChanged += this.puzzle_FieldStarStateChanged; this.puzzle.StartPositionChanged += this.puzzle_StartPositionChanged; this.puzzle.StartDirectionChanged += this.puzzle_StartDirectionChanged; this.puzzle.Reset(); }