コード例 #1
0
        private void UpdateCartridgeInputUi()
        {
            ConsoleFeatures features          = InteropEmu.GetAvailableFeatures();
            bool            hasCartridgeInput = features.HasFlag(ConsoleFeatures.BandaiMicrophone) || features.HasFlag(ConsoleFeatures.DatachBarcodeReader);

            _hasCartridgeInput        = hasCartridgeInput;
            lblCartridge.Visible      = hasCartridgeInput;
            cboCartridge.Visible      = hasCartridgeInput;
            btnSetupCartridge.Visible = hasCartridgeInput;
            btnSetupCartridge.Enabled = features.HasFlag(ConsoleFeatures.BandaiMicrophone);
            if (hasCartridgeInput)
            {
                if (features.HasFlag(ConsoleFeatures.BandaiMicrophone))
                {
                    cboCartridge.Items.Add(ResourceHelper.GetMessage("BandaiMicrophone"));
                    cboCartridge.SelectedIndex = 0;
                }
                else if (features.HasFlag(ConsoleFeatures.DatachBarcodeReader))
                {
                    cboCartridge.Items.Add(ResourceHelper.GetMessage("DatachBarcodeReader"));
                    cboCartridge.SelectedIndex = 0;
                }
                this.Height += (int)(30 * _yFactor);
            }
        }
コード例 #2
0
        public void RenderMenu()
        {
            ConsoleFeatures.SetCursorAtCenter(Logo.Length);
            Console.WriteLine(Logo);
            //TODO: add main menu

            Thread.Sleep(1000);
        }
コード例 #3
0
 public void PrintErrorMessage(string errorMessage)
 {
     ConsoleFeatures.ClearRow(ConsoleConstants.ConsoleRowForMessageOutput);
     Console.Write(new string(' ', Console.WindowWidth));
     Console.SetCursorPosition(Console.WindowWidth / 2 - 12, ConsoleConstants.ConsoleRowForMessageOutput);
     Console.Write(errorMessage);
     Thread.Sleep(2000);
     ConsoleFeatures.ClearRow(ConsoleConstants.ConsoleRowForMessageOutput);
 }
コード例 #4
0
        public void RenderBoard(IBoard board)
        {
            //TODO: validate console diimensions
            var startRowPrint = Console.WindowHeight / 2 - board.TotalRows / 2 * ConsoleConstants.CharactersPerBoardSquareRow;
            var startColPrint = Console.WindowWidth / 2 - board.TotalCols / 2 * ConsoleConstants.CharactersPerBoardSquareCol;

            // var startRowPrint = Console.WindowWidth / 2 - board.TotalRows / 2 * ConsoleConstants.CharactersPerBoardSquareRow;
            // var startColPrint = Console.WindowHeight / 2 - board.TotalCols / 2 * ConsoleConstants.CharactersPerBoardSquareCol;


            //fix charactersperboadsquareCol е първо

            var currentRow = startRowPrint;
            var currentCol = startColPrint;

            Console.BackgroundColor = ConsoleColor.White;
            int counter = 1;

            for (int top = 0; top < board.TotalRows; top++)
            {
                for (int left = 0; left < board.TotalCols; left++)
                {
                    currentRow = startRowPrint + top * ConsoleConstants.CharactersPerBoardSquareCol;
                    currentCol = startColPrint + left * ConsoleConstants.CharactersPerBoardSquareRow;
                    // currentRow = startColPrint + top * ConsoleConstants.CharactersPerBoardSquareRow;
                    // currentCol = startRowPrint + left * ConsoleConstants.CharactersPerBoardSquareRow;

                    ConsoleColor backgroundColor;

                    if (counter % 2 == 0)
                    {
                        backgroundColor         = DarkSquareBoardColor;
                        Console.BackgroundColor = DarkSquareBoardColor;
                    }
                    else
                    {
                        backgroundColor         = LightSquareBoardColor;
                        Console.BackgroundColor = LightSquareBoardColor;
                    }

                    var position = Position.GetPositionFromCoordinatesArray(top, left, board.TotalRows);

                    var piece = board.GetPieceAtPosition(position);
                    ConsoleFeatures.PrintPiece(piece, backgroundColor, currentRow, currentCol);



                    counter++;
                }
                counter++;
            }



            Console.SetCursorPosition(Console.WindowWidth / 2, 2);
        }
コード例 #5
0
        public Move GetNextPlayerMove(IPlayer player)
        {
            ConsoleFeatures.ClearRow(ConsoleConstants.ConsoleRowForMessageOutput);
            Console.SetCursorPosition(Console.WindowWidth / 2 - 12, ConsoleConstants.ConsoleRowForMessageOutput);
            Console.BackgroundColor = ConsoleColor.Black;
            Console.Write($"{player.Name} IS NEXT :");
            var positionInputFromUserAsString = Console.ReadLine().Trim().ToLower();

            return(ConsoleFeatures.CreateMoveFromCommand(positionInputFromUserAsString));
        }
コード例 #6
0
        public IList <IPlayer> GetPlayers(int numberOfPlayers)
        {
            var players = new List <IPlayer>();

            for (int i = 1; i <= numberOfPlayers; i++)
            {
                Console.Clear();
                ConsoleFeatures.SetCursorAtCenter(AskForPlayerName.Length);
                Console.Write(String.Format(AskForPlayerName, i));

                string name = Console.ReadLine();

                var player = new Player(name, (GameColor)i - 1);
                players.Add(player);
            }

            return(players);
        }