コード例 #1
0
ファイル: Sequence_finder.cs プロジェクト: rvinowise/unity_ai
        private void find_new_sequences_starting_with(
            IFigure beginning_figure,
            ISet <IFigure> familiar_figures
            )
        {
            foreach (IFigure ending_figure in familiar_figures)
            {
                if ((beginning_figure.id == "3") && (ending_figure.id == "0"))
                {
                    int test = 1;
                }
                if (!is_possible_sequence(beginning_figure, ending_figure))
                {
                    continue;
                }

                IFigure signal_pair = figure_provider.provide_sequence_for_pair(
                    beginning_figure,
                    ending_figure
                    );

                var appearances_of_beginning =
                    get_unused_in_beginning_appearances_in_interval(
                        action_groups.First().moment,
                        action_groups.Last().moment,
                        beginning_figure,
                        signal_pair
                        );
                var appearances_of_ending =
                    get_unused_in_ending_appearances_in_interval(
                        action_groups.First().moment,
                        action_groups.Last().moment,
                        ending_figure,
                        signal_pair
                        );
                if (
                    appearances_of_beginning.Any() &&
                    appearances_of_ending.Any()
                    )
                {
                    save_sequence_appearances(
                        signal_pair,
                        appearances_of_beginning,
                        appearances_of_ending
                        );
                }

                if (!sequence_appeared_at_least_twice(signal_pair))
                {
                    delete_figure(signal_pair);
                }
            }
        }
コード例 #2
0
 public IFigure provide_sequence_for_pair(IFigure beginning_figure, IFigure ending_figure) =>
 figure_provider.provide_sequence_for_pair(
     beginning_figure, ending_figure
     ) as Figure;