Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
232 views
in Technique[技术] by (71.8m points)

python - How to Determine Winner in Connect Four Game


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Your winner function has a hard time finding a winner because it just looks at the top left 4 by 4 square. You need to find a way to look at the whole rows and columns for 4 equal in a row.

This code part could check the rows.

for row in range(7):
    i = 0
    last = ''
    for col in range(7):
        this = board[row][col]
        if this == " ":
            i = 0
            continue
        if this == last:
            i+= 1
        else:
            i = 1
        if i >= 4:
            return this
        last = this

You could gain performance by only checking the column and row of the latest inserted brick.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...