-1
我想弄清楚如何選擇一個數組值,如果它是一個填充數組值附近,並且是空的。如何選擇相鄰的數組值,如果相鄰是空的紅寶石
所以,讓我們說數組引用的佈局如此佈置。
a1,a2,a3,
b1,b2,b3,
c1,c2,c3
如果a1擁有一個X,網格現在看起來就像這樣。
X,a2,a3,
b1,b2,b3,
c1,c2,c3
我想方法能夠找到相鄰的數組值,在這種情況下,a2,b1和b2。
但是在這種情況下,O保持中心值。
X,a2,a3,
b1,O,b3,
c1,c2,c3
...的方法將選擇A2,B1
任何人都可以提供解決方案或小費了嗎?
這是一個簡單的井字棋格
這裏是一看是格柵居住類。
class Board
attr_reader :grid
def initialize(cell_value = " ")
@grid = {
a1: cell_value, a2: cell_value, a3: cell_value,
b1: cell_value, b2: cell_value, b3: cell_value,
c1: cell_value, c2: cell_value, c3: cell_value
}
end
def printgrid
board = "\n"
board << "a #{@grid[:a1]}|#{@grid[:a2]}|#{@grid[:a3]} \n"
board << "----------\n"
board << "b #{@grid[:b1]}|#{@grid[:b2]}|#{@grid[:b3]} \n"
board << "----------\n"
board << "C#{@grid[:c1]}|#{@grid[:c2]}|#{@grid[:c3]} \n"
board << "----------\n"
board << " 1 2 3\n"
end
def space_taken?(cell_location)
cell_value = cell_location
@grid[cell_value] != " "
end
end
電網的結構是什麼?它是2D嗎?它與數組有什麼關係?什麼是「中心價值」? – sawa
如何在2年內獲得11000分? – thefonso
儘管下面的Stefan的方法可行,但您最根本的問題在於您使用1D數據結構來表示2D情況。使網格成爲二維結構,整個問題變得更容易理解。 –