Python使用两个字符串为变量赋值

2024-09-29 19:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在下国际象棋,需要选择一个方块,然后将方块上的棋子移动到我选择的方块上

我可以正确地点击一个正方形,并找出我点击的是哪一块,但如何将这些块设置为之后选择的正方形的坐标却很困难

每个片段的位置基于一个名为pawn8whiteposqueen1blackpos等的变量,其中其值将为[80,240]等。在我的代码中,为了识别片段,我创建了一个只返回pawn8whitequeen1black等的函数

很明显,我想在后面加一个“pos”,这样我就可以做pawn8whitepos = mousecoords

我尝试过:

    piecetobemoved = str(whatpiece(x)+"pos")
    #whatpiece() is a function that returns the piece on a square when given the square.                       
    piecetobemoved = mousecoords2

但是这只是使变量piecetobemoved变成say [240,60],而不是pawn8blackpos变成[240,60]

我如何使用字符串操作来获取我识别的工件的pos变量,这样我就可以将工件位置设置为mousecoords

我知道我可以创建32条if语句,如:

    if whatpiece(x) == "pawn7black":
         pawn7blackpos = mousecoords

但如果可能的话,我想要一个更优雅的解决方案

编辑

所有相关代码都可以在这里找到,如果我发错了,请说这是我第一次使用githubhttps://github.com/Fred330/Chess/commit/824bc8a57fcc4a173afcc28eb8b19eb664fcac0f


Tags: the代码posif方块工件国际象棋square

热门问题