0
我需要將字符串轉換(棋盤的64字符表示):紅寶石:轉換一個字符串轉換爲2維陣列
game_state = "r_____r__r___r_rr_r___r__________________b_b______b_b____b_b___b"
成二維,8×8,陣列檢查器對象的:
[ [red_checker, nil, nil, nil, nil....and so on times 8], ]
這是我做的方式,這是醜陋的,而不是非常喜歡紅寶石與接近尾聲的增量。
def game_state_string_to_board(game_state)
board = Board.new
game_board = board.create_test_board
game_state_array = []
game_state.each_char { |char| game_state_array << char}
row_index = 0
game_state_array.each_slice(8) do |row|
row.each_with_index do |square, col_index|
unless square == '_'
game_board[row_index][col_index] = create_checker(square, row_index, col_index)
end
end
row_index += 1
end
game_board
end
有沒有人有更清潔,更簡單,更紅寶石般的方式?謝謝。
聽起來像一個家庭作業。 – 2012-02-28 18:49:59
@Tian Man Nah,這實際上是我現在的工作。 – 2012-02-28 21:49:25