2012-12-04 54 views
-2

我需要幫助,讓這個功能阻止人們首要座標另一名球員在他們來玩圈的遊戲已經進入和穿越Python中圈與叉遊戲

def CheckValidMove(XCoordinate, YCoordinate, Board): 

    ValidMove = True 
    '''This function makes sure the coordinate inputed 
    by the user is valid, e.g. from 1 - 3 displayed on the board''' 
    if (XCoordinate < 1) or (XCoordinate > 3): 
     ValidMove = False 
    if (YCoordinate < 1) or (YCoordinate > 3): 
     ValidMove = False 
    return ValidMove 
+0

請花費你的問題。你有什麼問題 ?你在哪裏需要幫助?顯示更多代碼。 – fouronnes

+0

確定,所以用戶輸入電網的兩個數的十字架遊戲的座標,但是當玩家進入零或跨在一個地方,其他玩家可以在此改變它,那是什麼即時通訊就如何解決 – user1655562

+3

@ user1655562然後困惑,你應該添加一個檢查輸入的位置是否已經被佔用。我沒有看到問題,你能解釋給我嗎? – moooeeeep

回答

2

你需要跟蹤狀態你網格上每個位置的。如果玩家選擇一個位置,請將該位置標記爲已佔用。

你可以使用一個dictionary來實現這一點,例如:

board = dict() 
board[(x,y)] = "occupied" 

,那麼你可以很容易找到,如果它佔據:

if board[(x,y)] == "occupied": 
    print " this move is unfortunately not available! " 
+0

好吧,我試過,但我得到這個回溯錯誤,任何想法爲什麼 - 回溯(最近的最後一次通話最後): 文件「//4051apps001/academy-students$/Academy-Intake-07/matthew.wilson07/Documents/2010_Comp1_Code .py「,第111行,在 ValidMove = CheckValidMove(XCoord,YCoord,Board) File」//4051apps001/academy-students$/Academy-Intake-07/matthew.wilson07/Documents/2010_Comp1_Code.py「,line 59,在CheckValidMove 如果Board [(XCoord,YCoord)] ==「佔用」: TypeError:列表索引必須是整數,而不是元組 – user1655562

+0

您應該學會解釋錯誤追溯。這些通常包含用於調試的有用信息。這個人告訴你,_that列表中,您給了我不能使用tuple._注意一個'字典()'_can_使用一個元組進行索引進行索引。 – moooeeeep

+0

英文?我不知道我必須做什麼,請有人給我一個直接的答案? – user1655562