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); } }
public void RenderMenu() { ConsoleFeatures.SetCursorAtCenter(Logo.Length); Console.WriteLine(Logo); //TODO: add main menu Thread.Sleep(1000); }
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); }
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); }
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)); }
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); }