2012-12-04 2 views
-2

내가이 기능은 사람들이 다른 플레이어가 이미 삼목의 자신의 게임에 입력하고파이썬 삼목 게임

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

좋아, 그럼 사용자가 십자가 게임에 대한 모눈에 대한 좌표 그리드에서 좌표를 입력하지만, 플레이어가 한 곳에서 naught 또는 cross를 입력하면 다른 플레이어가 그것을 덮어 씌울 수 있습니다. 즉, im이 수정하는 방법에 혼란 스럽습니다 – 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

좋아, 나는 그것을 시도했지만이 추적 오류, 모든 아이디어 이유 - Traceback (최근 호출 마지막) : 파일 "//4051apps001/academy-students$/Academy-Intake-07/matthew.wilson07/Documents/2010_Comp1_Code .py ", 줄 111, ValidMove = CheckValidMove (XCoord, YCoord, Board) 파일"//4051apps001/academy-students$/Academy-Intake-07/matthew.wilson07/Documents/2010_Comp1_Code.py "줄 59, in CheckValidMove 보드 [(XCoord, YCoord)] == "Occupied": TypeError : 목록 인덱스가 튜플이 아닌 정수 여야합니다. – user1655562

+0

오류 추적 정보를 해석하는 방법을 배워야합니다. 이들은 디버깅 목적으로 유용한 정보를 포함하는 경향이 있습니다. 이 것은 당신이 나에게 준 목록은 튜플을 사용하여 색인을 생성 할 수 없다는 것을 알려줍니다 ._ 튜플을 사용하여'dict()'_를 인덱싱 할 수 있습니다. – moooeeeep

+0

영어? 누군가 내가 나에게 솔직한 대답을 줄 수 있는지 내가 무엇을해야하는지 모른다. – user1655562