python编程中的GUI

时间:2010-07-29 03:25:31

标签: python

fachlowing是python中的tic tak脚趾游戏代码,有人可以告诉我如何使用重置选项以GUI形式制作它并显示最终获胜者。喜欢X win还是O win?

board =“1 | 2 | 3 \ n ----------- \ n 4 | 5 | 6 \ n ----------- \ n 7 | 8 | 9"

。 棋盘格= [1,2,3,4,5,6,7,8,9,1,4,7,2,5,8,3,6,9,1,5,9,3,5,7 ]

空间=范围(1,10)

def moveHandler(棋盘,空格,棋盘,玩家,n):

if player==1:
    check="X"
else:   
    check="O"

while spaces.count(n)==0:
    print "\nInvalid Space"
    n=playerinput(player)

spaces=spaces.remove(n)

board=board.replace(str(n),check)

for c in range(len(checkboard)):
    if checkboard[c]==n:
        checkboard[c]=check


status = checkwinner(checkboard,check)
return board,status
def checkwinner(checkboard,check):     A,B,C = 0,1,2

while a<=21:
    combo = [checkboard[a],checkboard[b],checkboard[c]]

    if combo.count(check) == 3:
        status =1
        break
    else:
        status =0

    a+=3
    b+=3
    c+=3

return status

def playerinput(播放器):     尝试:         key = int(raw_input('\ n \ nPlayer'+ str(player)+':请选择一个空格'))

except ValueError:

    print "Invalid Space"

    key = playerinput(player)

return key

而True:

player = len(spaces)%2 +1

if player == 1:

    player = 2

else:

    player =1

print "\n\n" + board

key = playerinput(player)

board,status =moveHandler(board,spaces,checkboard,player,key)

if status == 1:

    print '\n\nPlayer ' + str(player) + ' is the winner!!!'

    print board

    break

elif len(spaces)==0:

    print "No more spaces left. Game ends in a TIE!!!"


    print board

    break

else:

    continue

2 个答案:

答案 0 :(得分:5)

显然,您需要选择一个GUI工具包(Python支持其中许多工具包),使用它将板绘制为3 x 3正方形网格,并将playerinput函数更改为接受输入(例如)当前玩家双击他或她想玩的空白广场。

然后,您需要更改print语句以显示GUI表面上的信息。

然而,如果游戏没有尝试控制事件的流程而是对玩家发起的事件作出反应 - 那就是真正的GUI应用程序应该如何完成,而不是通过对某些界面进行最小程度的改造,那么游戏会好得多在内在设计为命令行交互过程的基础之上。

这些任务中的每一项都是实质性的,特别是我在上一段中推荐的整体重构,完全取决于你选择的GUI工具包的详细信息 - 所以你可能想要从那开始,然后通常打破问题进入各种子任务(“每个问题一个问题”,因为后者可能出现很多问题; - )。

关于Python的GUI选择主题有几个SO问题,所以我建议你研究它们而不是问一个新问题。我个人最喜欢的是PyQt(虽然我越来越经常使用一个简单的基于浏览器的界面,只有一个本地服务器供电),但其他流行的包括wxPython,Tkinter,PyGtk和其他列出的here - - 快乐狩猎!

答案 1 :(得分:1)

查看python wiki以获取有关不同GUI工具包的信息。我建议查看wxPython,并从那里开始