Esempio n. 1
0
 public void UpdateCharacter(AppearingChar character)
 {
     if (character.counter == 0)
     {
         Elements["Character" + (characterIndex + 1) % 3].Clear();
         Elements["Counter" + (characterIndex + 1) % 3].Clear();
     }
     else
     {
         Elements["Counter" + characterIndex % 3].Lines = Ascii[character.counter.ToString()];
         Elements["Counter" + characterIndex % 3].Update();
         Elements["Character" + characterIndex % 3].ForegroundColor = ConsoleColor.Green;
         Elements["Character" + characterIndex % 3].Update();
     }
 }
Esempio n. 2
0
        private void LoadSegment()
        {
            if (gameOverProcesDone)
            {
                return;
            }
            RefreshTimeToAnswer();
            //========================
            //3 posibility
            //first load
            if (mainElement == null)
            {
                for (int i = 1; i <= matchOpttions.amountElementsSameTime; i++)
                {
                    mainElement = new AppearingChar(matchOpttions);
                    queue.Enqueue(mainElement);
                    view.Add(mainElement);
                }
                mainElement = queue.Dequeue();

                return;
            }
            //refresh
            if (mainElement.counter > 0)
            {
                view.UpdateCharacter(mainElement);
            }
            //hit
            if (mainElement.counter == 0)
            {
                mainElement = new AppearingChar(matchOpttions);
                queue.Enqueue(mainElement);
                view.Add(mainElement);

                mainElement = queue.Dequeue();
            }
        }
Esempio n. 3
0
        public void Add(AppearingChar character)
        {
            Random        rand           = new Random();
            List <string> characterLines = Ascii[character.character.ToString()];
            List <string> counterLines   = Ascii[character.counter.ToString()];
            bool          vac            = true;

            do
            {
                vac            = true;
                character.PosX = rand.Next(5, Console.WindowWidth - 5);
                character.PosY = rand.Next(3, Console.WindowHeight - 7);
                for (int i = 0; i < 8; i++)
                {
                    for (int j = 0; j < GetAsciiWidth(character.character.ToString()) + 9; j++)
                    {
                        if (vacancy[character.PosY + i, character.PosX + j] == false)
                        {
                            vac = false;
                            break;
                        }
                    }

                    if (vac == false)
                    {
                        break;
                    }
                }
            } while (vac == false);


            Elements["Character" + characterIndex % 3].Clear();
            Elements["Counter" + characterIndex % 3].Clear();
            Elements["Character" + characterIndex % 3].Width = GetAsciiWidth(character.character.ToString());
            Elements["Counter" + characterIndex % 3].Width   = GetAsciiWidth(character.counter.ToString());

            if (characterIndex > 3)
            {
                ReleasePos(Elements["Character" + characterIndex % 3]);
                ReleasePos(Elements["Counter" + characterIndex % 3]);
            }
            Elements["Character" + characterIndex % 3].PosX = character.PosX;
            Elements["Character" + characterIndex % 3].PosY = character.PosY;
            LockPos(Elements["Character" + characterIndex % 3]);
            LockPos(Elements["Character" + characterIndex % 3]);
            Elements["Character" + characterIndex % 3].Lines = characterLines;

            Elements["Counter" + characterIndex % 3].PosX  = character.PosX + GetAsciiWidth(character.character.ToString()) + 1;
            Elements["Counter" + characterIndex % 3].PosY  = character.PosY + 1;
            Elements["Counter" + characterIndex % 3].Lines = counterLines;
            if (characterIndex == 0)
            {
                Elements["Character" + characterIndex % 3].ForegroundColor = ConsoleColor.Green;
                Elements["Counter" + characterIndex % 3].ForegroundColor   = ConsoleColor.Green;
                Elements["Character" + characterIndex % 3].Update();
                Elements["Counter" + characterIndex % 3].Update();
            }
            else
            {
                Elements["Character" + characterIndex % 3].ForegroundColor = ConsoleColor.White;
                Elements["Counter" + characterIndex % 3].ForegroundColor   = ConsoleColor.White;
                Elements["Character" + characterIndex % 3].Update();
                Elements["Counter" + characterIndex % 3].Update();
                Elements["Character" + (characterIndex + 1) % 3].ForegroundColor = ConsoleColor.Green;
                Elements["Counter" + (characterIndex + 1) % 3].ForegroundColor   = ConsoleColor.Green;
                Elements["Character" + (characterIndex + 1) % 3].Update();
                Elements["Counter" + (characterIndex + 1) % 3].Update();
                Elements["Character" + (characterIndex + 2) % 3].ForegroundColor = ConsoleColor.Blue;
                Elements["Counter" + (characterIndex + 2) % 3].ForegroundColor   = ConsoleColor.Blue;
                Elements["Character" + (characterIndex + 2) % 3].Update();
                Elements["Counter" + (characterIndex + 2) % 3].Update();
            }

            characterIndex++;
        }