class Game {

    public void startGame(int difficultLevel) {
        this.board.init(difficultLevel);
        int rowPosition = 0;
        int columnPosition = 0;
        int userNumbers = 0;
        for (int i = 0; i < this.randomInputCharacters + this.inputsPlayers.size(); i++) {
            if (columnPosition >= this.board.getSize()) {
                rowPosition++;
                columnPosition = 0;
            }
            if (i < this.randomInputCharacters) {
                SimpleBlockingQueue<Cell> input = new SimpleBlockingQueue<>();
                this.allThreads[threadPosition] = new Thread(
                        new Character(this.board, new Cell(rowPosition, columnPosition++), input)
                );
                this.allThreads[threadPosition++].start();
                this.allThreads[threadPosition] = new Thread(new RandomInput(input, 1000));
                this.allThreads[threadPosition++].start();
            } else {
                this.allThreads[threadPosition] = new Thread(
                        new Character(this.board, new Cell(
                                rowPosition, columnPosition++), this.inputsPlayers.get(userNumbers++)
                        )
                );
                this.allThreads[threadPosition++].start();
            }
        }
    }

      Game(int boardSize, int randomInputCharacters, List<SimpleBlockingQueue<Cell>> inputsPlayers);

}