コード例 #1
0
        //private void InitializeCodeIterators(ArrayMap<TheMatrixCode> knownUniverse)
        //{
        //    int width = knownUniverse.Size.Width;
        //    Iterators = new ICodeIterator<TheMatrixCode>[width];
        //    for (int i = 0; i < width; i++)
        //    {
        //        Iterators[i] = new CodeIteratorRain(0.15f);
        //        knownUniverse[i].Iterator = Iterators[i];
        //        knownUniverse[i].Start();
        //    }
        //}
        private ArrayMap<TheMatrixCode> BuildTheKnownUniverse()
        {
            Size knownUniverseSize = new Size(Grid.Rows, Grid.Columns);
            ArrayMap<TheMatrixCode> knownUniverse = new ArrayMap<TheMatrixCode>(knownUniverseSize);

            Random random = new Random();
            int charIndex = 0;
            string character = String.Empty;

            List<Vector2> positions = new List<Vector2>(Grid.GetPositions());

            for (int i = 0; i < knownUniverse.Count; i++)
            {
                charIndex = GetRandomCharIndex(random);
                character = new String((char)Font.Characters[charIndex], 1);

                MatrixEffectCodeFader fader = new MatrixEffectCodeFader(Highlight, Shadow, random.Next(10, 20));
                OnOffCodeFader onOffFader = new OnOffCodeFader(Color.Green, Color.Red, 5.0f);

                knownUniverse[i] = new TheMatrixCode(fader)
                {
                    State = CodeModelState.Fading,
                    MyColor = Shadow,
                    RenderPosition = positions[i],
                    KnownUniverseLocation = knownUniverse.GetItemLocation(i),
                    Character = character
                };
            }

            return knownUniverse;
        }