Python 2.7 需要帮助用Python完成我的OOP技巧吗

Python 2.7 需要帮助用Python完成我的OOP技巧吗,python-2.7,oop,while-loop,Python 2.7,Oop,While Loop,我需要帮助完成我的井字游戏。我想我需要的是一个while循环,它将继续运行,直到满足获胜条件或平局。我还需要以某种方式使电路板更新,而不是刷新。不需要完成代码,我只想被发送到正确的方向 ` 随机导入 xOro=['X','O'] 董事会=[0,1,2,3,4,5,6,7,8] 打印(“你想和另一个人玩还是和电脑玩?”) vsWho=int(原始输入(“按1与人类玩家比赛\n按2与计算机比赛”)) 如果vsWho==1: player1=随机选择(xOro) player2=0; 如果player

我需要帮助完成我的井字游戏。我想我需要的是一个while循环,它将继续运行,直到满足获胜条件或平局。我还需要以某种方式使电路板更新,而不是刷新。不需要完成代码,我只想被发送到正确的方向

`

随机导入
xOro=['X','O']
董事会=[0,1,2,3,4,5,6,7,8]
打印(“你想和另一个人玩还是和电脑玩?”)
vsWho=int(原始输入(“按1与人类玩家比赛\n按2与计算机比赛”))
如果vsWho==1:
player1=随机选择(xOro)
player2=0;
如果player1='X':
player2='O'
elif player1==“O”:
player2='X'
打印“玩家1为:“+player1+”,玩家2为:“+player2
elif vsWho==2:
humanPlayer=random.choice(xOro)
打印“您将以”+玩家身份玩游戏
如果humanPlayer=='X':
计算机='O'
elif humanPlayer==“O”:
计算机='X'
埃利夫·沃什1或vsWho!=2:
打印“您输入的号码不正确”
类块(对象):
'''
检查点是否填满
'''
定义初始化(自):
通过;
humanTurn=int(原始输入(“选择一个你想玩的地点:”)
如果humanTurn<0或humanTurn>8:
打印“没有这样的斑点”
如果板[humanTurn]!='X'和板[humanTurn]!='O':
板[humanTurn]=“X”
尽管如此:
computerTurn=random.randint(0,8)
如果板[computerTurn]!='O'和板[computerTurn]!='X':
板[computerTurn]=“O”
打破
其他:
打印(“此点已拍摄”)
X类(件):
'''
这是针对X的,它可以是人类也可以是计算机
'''
定义初始(自我,移动):
self.moves=移动
def X移动(自):
humanTurn=int(原始输入(“选择一个你想玩的地点:”)
如果humanTurn<0或humanTurn>8:
打印“没有这样的斑点”
elif humanTurn==板[“X”]或humanTurn==板[“O”]:
打印(“此点已拍摄”)
O类(件):
'''
这是给O的,它可以是人也可以是计算机
'''
定义初始(自我,移动):
self.moves=移动
定义移动(自):
humanTurn=int(原始输入(“选择一个你想玩的地点:”)
如果humanTurn<0或humanTurn>8:
打印“没有这样的斑点”
elif humanTurn==板[“X”]或humanTurn==板[“O”]:
打印(“此点已拍摄”)
类TictoeBoard(对象):
'''
创建棋盘,并在每次移动时刷新
'''
打印“=============”
印刷电路板[0],“|”,电路板[1],“|”,电路板[2]
打印“=============”
印刷电路板[3],“|”,电路板[4],“|”,电路板[5]
打印“=============”
印刷电路板[6],“|”,电路板[7],“|”,电路板[8]
打印“=============”
def Win():
'''
检查两个玩家的获胜条件
'''
如果板[0]=“O”和板[1]=“O”和板[2]=“O”:
打印“O赢”
退出
elif板[3]=“O”和板[4]=“O”和板[5]=“O”:
打印“O赢”
退出
elif板[6]=“O”和板[7]=“O”和板[8]=“O”:
打印“O赢”
退出
elif板[0]=“O”和板[3]=“O”和板[6]=“O”:
打印“O赢”
退出
elif板[1]=“O”和板[4]=“O”和板[7]=“O”:
打印“O赢”
退出
elif板[2]=“O”和板[5]=“O”和板[8]=“O”:
打印“O赢”
退出
elif板[0]=“O”和板[4]=“O”和板[8]=“O”:
打印“O赢”
退出
elif板[2]=“O”和板[4]=“O”和板[6]=“O”:
打印“O赢”
退出
elif板[0]=“X”和板[1]=“X”和板[2]=“X”:
打印“X赢”
退出
elif板[3]=“X”和板[4]=“X”和板[5]=“X”:
打印“X赢”
退出
elif板[6]=“X”和板[7]=“X”和板[8]=“X”:
打印“X赢”
退出
elif板[0]=“X”和板[3]=“X”和板[6]=“X”:
打印“X赢”
退出
elif板[1]=“X”和板[4]=“X”和板[7]=“X”:
打印“X赢”
退出
elif板[2]=“X”和板[5]=“X”和板[8]=“X”:
打印“X赢”
退出
elif板[0]=“X”和板[4]=“X”和板[8]=“X”:
打印“X赢”
退出
elif板[2]=“X”和板[4]=“X”和板[6]=“X”:
打印“X赢”
退出

也许这会有帮助。你可以在那里找到完整的算法,并逐步进行解释

您已经回答了您的问题。您只需要添加一个while循环。
import random

xOro = ['X','O']
board = [0,1,2,3,4,5,6,7,8]  

print ("Would You Like To Play Versus Another Human Player Or Versus The Computer ?")
vsWho = int(raw_input("Press 1 to play against a human player \nPress 2 to play against the computer \n"))

if vsWho == 1:
    player1 = random.choice(xOro)
    player2 = 0;

    if player1 == 'X':
        player2 = 'O'
    elif player1 == 'O':
        player2 = 'X'

    print "Player 1 is : " + player1 + " and Player 2 is : " + player2
elif vsWho == 2:
    humanPlayer = random.choice(xOro)
    print "You will play as " + humanPlayer

    if humanPlayer == 'X':
        computer = 'O'
    elif humanPlayer == 'O':
        computer = 'X'
elif vsWho != 1 or vsWho != 2:
    print "The number you entered is incorrect"

class Piece(object):
    '''
     Checks to see whether a spot is filled or not
    '''
    def __init__(self):
        pass;

    humanTurn = int(raw_input("Select A Spot You Want To Play On : "))

    if humanTurn < 0 or humanTurn > 8:
        print "There is no such spot"

    if board[humanTurn] != 'X' and board[humanTurn] != 'O':
        board[humanTurn] = 'X'

        while True:
            computerTurn = random.randint(0,8)
            if board[computerTurn] !=  'O' and board[computerTurn] != 'X':
                board[computerTurn] = 'O'
                break
    else:
        print ("This Spot Is Taken Already")


class X(Piece):
    '''
     This is for X, which can either be human or computer
    '''
    def __init__(self, moves):
        self.moves = moves

    def xMovement(self):
        humanTurn = int(raw_input("Select A Spot You Want To Play On : "))
        if humanTurn < 0 or humanTurn > 8:
            print "There is no such spot"
        elif humanTurn == board["X"] or humanTurn == board["O"]:
            print ("This Spot Is Taken Already")

class O(Piece):
    '''
     This is for O, which can either be human or computer
    '''
    def __init__(self, moves):
        self.moves = moves

    def oMovement(self):
        humanTurn = int(raw_input("Select A Spot You Want To Play On : "))
        if humanTurn < 0 or humanTurn > 8:
            print "There is no such spot"
        elif humanTurn == board["X"] or humanTurn == board["O"]:
            print ("This Spot Is Taken Already")

class TicTacToeBoard(object):
    '''
        Creates The Board, and also refreshes everytime a move is made
    '''
    print '========'
    print board[0],'|',board[1],'|',board[2]
    print '========'
    print board[3],'|',board[4],'|',board[5]
    print '========'
    print board[6],'|',board[7],'|',board[8]
    print '========'

def Win():
    '''
    Checks Win Condition for both players
    '''
    if board[0] == 'O' and board[1]  == 'O'  and board[2] == 'O' :
        print "O Wins"
        quit
    elif board[3]  == 'O' and board[4] == 'O' and board[5] == 'O' :
        print "O Wins"
        quit
    elif board[6] == 'O'  and board[7] == 'O'  and board[8] == 'O' :
        print "O Wins"
        quit
    elif board[0] == 'O'  and board[3] == 'O'  and board[6] == 'O' :
        print "O Wins"
        quit
    elif board[1] == 'O'  and board[4] == 'O'  and board[7] == 'O' :
        print "O Wins"
        quit
    elif board[2] == 'O'  and board[5] == 'O'  and board[8] == 'O' :
        print "O Wins"
        quit
    elif board[0] == 'O'  and board[4] == 'O'  and board[8] == 'O' :
        print "O Wins"
        quit
    elif board[2] == 'O'  and board[4] == 'O'  and board[6] == 'O' :
        print "O Wins"
        quit
    elif board[0] == 'X' and board[1]  == 'X'  and board[2] == 'X' :
        print "X Wins"
        quit
    elif board[3]  == 'X' and board[4] == 'X' and board[5] == 'X' :
        print "X Wins"
        quit
    elif board[6] == 'X'  and board[7] == 'X'  and board[8] == 'X' :
        print "X Wins"
        quit
    elif board[0] == 'X'  and board[3] == 'X'  and board[6] == 'X' :
        print "X Wins"
        quit
    elif board[1] == 'X'  and board[4] == 'X'  and board[7] == 'X' :
        print "X Wins"
        quit
    elif board[2] == 'X'  and board[5] == 'X'  and board[8] == 'X' :
        print "X Wins"
        quit
    elif board[0] == 'X'  and board[4] == 'X'  and board[8] == 'X' :
        print "X Wins"
        quit
    elif board[2] == 'X'  and board[4] == 'X'  and board[6] == 'X' :
        print "X Wins"
        quit