Почему моя таблица не отображается правильно Ruby - PullRequest
0 голосов
/ 16 октября 2019

исходные данные, поля

puts " 0 | 1 | 2 "
puts "-----------"
puts " 3 | 4 | 5 "
puts "-----------"
puts " 6 | 7 | 8 "

#Global const
EMPTY = ""          #empty board
X = "X"             #cross
O = "O"             #toe
NUMBER_SQUARES = 9  #number of fields on the board

# global var
$board = []         #playing board

Создает новую игровую доску - список из девяти элементов, равных EMPTY и возвращает его

def new_playing_board

    NUMBER_SQUARES.times do 
        $board << EMPTY
        return $board
    end
                                # if check pp board ["", "", "", "", "", "", "", "", ""]
end

Отображает доску, переданную ей. Элементами доски являются пробелы, буквы «X», «O», тогда их можно распечатать с помощью функции печати. ​​

def display_playing_board
    puts "\n\t ", $board[0], "|", $board[1], "|", $board[2]
    puts "\t", "---------"
    puts "\t ", $board[3], "|", $board[4], "|", $board[5]
    puts "\t", "---------"
    puts "\t ", $board[6], "|", $board[7], "|", $board[8], "\n"
end

display_playing_board

Вывод данных

#output.txt
|

|


---------


|

|


---------


|

|

Ответы [ 2 ]

1 голос
/ 16 октября 2019

Попробуйте следующее,

def display_playing_board
    print $board[0..2].join(' | ')
    puts '', "---------"
    print $board[3..5].join(' | ')
    puts '', '----------'
    print $board[6..8].join(' | ')
end
0 голосов
/ 16 октября 2019

весь код

def new_playing_board
    $board = Array.new(NUMBER_SQUARES) { X }
end

def display_playing_board
    puts 
    print "\t", $board[0..2].join('   |  ') 
    puts  ' ', "\t---------------" 
    print "\t", $board[3..5].join('   |  ') 
    puts  ' ', "\t---------------" 
    print "\t", $board[6..8].join('   |  ')
    puts 
end

new_playing_board
display_playing_board
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...