我正在製作一個井字遊戲,我需要一些幫助。這裏是我的板是如何設置的:需要幫助通過數組獲取課程名稱
[a1] [a2] [a3]
[b1] [b2] [b3]
[c1] [c2] [c3]
這些值是我分配這些特定空間中的類。 jQuery中,我已設定爲等於一個數組值的那些類,像這樣:
var spacesArray = [
"a1", "a2", "a3",
"b1", "b2", "b3",
"c1", "c2", "c3"
]
所以spacesArray [0]等於左上方空間,spacesArray [4]是等於中間空間,所以上。
我試圖創建一個函數,確定何時三個空格在一行或一列中對齊。爲了做到這一點,我爲最後點擊過的空間添加了一個可變參數,我命名爲lastClickedElement。
理想情況下,我想這個功能是這樣的。對於這個例子,假設我點擊的最後一個空間是中間空間(b2)。
- 比較lastClickedElement(b2)中,確定其類別的數組值
- 匹配如果它不匹配,檢查它上面和下面是電路板上的元件,看他們是否已被選擇的同一名球員。在這種情況下,它可能是a2和c2或b1和b3。
- 如果三個空格垂直或水平排列,則遊戲結束,玩家贏了。
我知道這不會對角線勝利,但我可以單獨處理。
我的問題是:如何一起訪問類名和數組值?我試圖弄清楚如何說出這些,所以我很抱歉,如果這聽起來像是亂碼。
我想要做這樣的事情(請原諒任何錯誤的語法):
- 我點擊空間B2,使其成爲lastClickedElement。
- 我想檢查它的類(.b2)與它在數組中的位置(spacesArray [4])。
- 在確認.b2與spacesArray [4]相同之後,我想檢查它上下的空格,所以我想它會檢查像spacesArray [4 + 3]和spacesArray [4-3]之類的東西。
- 然後它會檢查它的邊上的空格spaceArray [4 + 1]和spacesArray [4-1]。
- 一旦點擊了一個空格,它會根據輪到哪一方來添加類「spaceTakenPlayer1」或「spaceTakenPlayer2」,因此它將檢查其中一個類。
再一次,我不知道如何說這句話,我很抱歉,如果它很混亂。
這裏是爲那些想借此更好看一個的jsfiddle:
對於此的jsfiddle的目的,左邊的IMG是X和右邊的IMG是O.一旦遊戲開始,玩家1的空間將變成番茄,玩家2的空間將變成青色。
謝謝你的任何和所有幫助。
是的,這似乎是它會做的伎倆。我仍然可以操縱該號碼以檢查其他空間嗎?例如: 'if($(this).attr('data-index')。hasClass('spaceTakenPlayer1')&& $(this).attr('data-index'+ 3).hasClass('spaceTakenPlayer1') && $(this).attr('data-index' - 3).hasClass('spaceTakenPlayer1'))' – ClaytonAlanKinder 2014-09-23 20:21:38
只是先將您的字符串轉換爲數字,否則您最終會得到類似'data-index3'的東西:$(這個).attr(+'data-index'+ 3)。 – manishie 2014-09-23 20:36:59