Example #1
0
        private void SelectToSelect()
        {
            int selectIndex = 0;

            Console.CursorTop  = ActivitySelects[selectIndex].PrintLine;
            Console.CursorLeft = 0;
            PrintHelper.PrintWriteColor("=>", ConsoleColor.Red);    //Console.Write();
            Console.SetCursorPosition(0, 0);
            while (true)
            {
                Controller.KeyName kk = Controller.ReadKeyDown();
                switch (kk)
                {
                case Controller.KeyName.UpKey:
                    Console.CursorTop  = ActivitySelects[selectIndex].PrintLine;
                    Console.CursorLeft = 0;
                    Console.Write("  ");
                    selectIndex -= 1;
                    break;

                case Controller.KeyName.DownKey:
                    Console.CursorTop  = ActivitySelects[selectIndex].PrintLine;
                    Console.CursorLeft = 0;
                    Console.Write("  ");
                    selectIndex += 1;
                    break;

                case Controller.KeyName.LeftKey:
                case Controller.KeyName.RightKey:
                case Controller.KeyName.BackKey:
                case Controller.KeyName.MenuKey:
                    foreach (var item in ActivitySelects)
                    {
                        if (item.Key == kk)
                        {
                            TriggerSelectByType(item);
                            return;
                        }
                    }
                    break;

                case Controller.KeyName.EnterKey:
                    TriggerSelectByType(ActivitySelects[selectIndex]);
                    return;
                }

                if (selectIndex <= 0)
                {
                    selectIndex = 0;
                }
                if (selectIndex >= ActivitySelects.Count - 1)
                {
                    selectIndex = ActivitySelects.Count - 1;
                }
                Console.CursorTop  = ActivitySelects[selectIndex].PrintLine;
                Console.CursorLeft = 0;
                PrintHelper.PrintWriteColor("=>", ConsoleColor.Red);
            }
        }
Example #2
0
 //主角移动后重新绘制移动前后地图块
 private void UpdateTile(int start, int mx, int my)
 {
     Console.CursorLeft = 2 * X;
     Console.CursorTop  = start + Y;
     Console.Write(Script.NowMapChar[Y, X]);
     Y += my;
     X += mx;
     Console.CursorLeft = 2 * X;
     Console.CursorTop  = start + Y;
     PrintHelper.PrintWriteColor('你', ConsoleColor.Red);
 }
Example #3
0
        public static int PrintSelectText(List <string> array, int s)
        {
            if (s == 999)
            {
                s = 0;
            }
            int SelectIndex = s;

            if (SelectIndex >= array.Count - 1)
            {
                SelectIndex = array.Count - 1;
            }
            else if (SelectIndex <= 0)
            {
                SelectIndex = 0;
            }

            int  line  = Console.CursorTop;
            bool goOut = false;

            foreach (var item in array)
            {
                Console.WriteLine("  {0}", item);
            }
            while (array.Count > 0 && goOut == false)
            {
                Console.SetCursorPosition(0, SelectIndex + line);
                PrintHelper.PrintWriteColor("=>", ConsoleColor.Red);
                Controller.KeyName key = Controller.ReadKeyDown();
                Console.SetCursorPosition(0, SelectIndex + line);
                Console.Write("  ");
                switch (key)
                {
                case Controller.KeyName.UpKey:
                    SelectIndex -= 1;
                    break;

                case Controller.KeyName.DownKey:
                    SelectIndex += 1;
                    break;

                case Controller.KeyName.LeftKey:
                    break;

                case Controller.KeyName.RightKey:
                    //goOut = true;
                    break;

                case Controller.KeyName.EnterKey:
                    goOut = true;
                    break;

                case Controller.KeyName.BackKey:
                    return(999);

                case Controller.KeyName.MenuKey:
                    break;
                }
                if (SelectIndex >= array.Count - 1)
                {
                    SelectIndex = array.Count - 1;
                }
                else if (SelectIndex <= 0)
                {
                    SelectIndex = 0;
                }
            }
            return(SelectIndex);
        }