我想知道如何將這些elif語句凝聚成某種方法。我也不知道如何去存儲一個選定的座標,以便我可以執行周圍座標的檢查。我知道我的代碼是nooby,但我也是如此,我從長遠的方式開始學習更好:)如何將多個ELIF語句轉換爲一種方法(PYTHON)
下面是我如何在變量中存儲座標。 (不知道這是連做這些事的正確方法...)
grab = board[x][y] if(SjumpX == 'A1'): grab = [0][0] elif(SjumpX == 'A2'): grab = [0][1] elif(SjumpX == 'A3'): grab = [0][2] elif(SjumpX == 'A4'): grab = [0][3] elif(SjumpX == 'B1'): grab = [1][0] elif(SjumpX == 'B2'): grab = [1][1] elif(SjumpX == 'B3'): grab = [1][2] elif(SjumpX == 'B4'): grab = [1][3] elif(SjumpX == 'C1'): grab = [2][0] elif(SjumpX == 'C2'): grab = [2][1] elif(SjumpX == 'C3'): grab = [2][2] elif(SjumpX == 'C4'): grab = [2][3]
SjumpX是我的球員想要搶片的座標,並DjumpX是目標的座標。我背後的邏輯是如果玩家輸入座標(即A1 B2 C3 ...),然後我可以將該座標存儲到變量'grab'中,然後使用該變量測試目標座標是否爲空,也可以兩者之間的協調是對手球員的一塊。
這裏的板:
1 2 3 4 A - X O X B X O - O C O X O X
這地方我檢查了「可轉移」目標座標根據我的「搶」變量的當前座標是空的。在這種情況下, 'A3' < ==>搶= [0] [2]
if((grab[x][y-2] == '-' or grab[x][y+2] == '-' or grab[x-2][y] == '-' or grab[x+2][y] == '-')and (grab[x][y-1] == 'X' or grab[x][y+1] == 'X' or grab[x-1][y] == 'X' or grab[x+1][y] == 'X'):
我的主要問題是:
1-如何凝聚我的巨大的elif語句列表?
2-正確的格式/過程存儲座標以執行對周圍座標內容的檢查是什麼?
3-如何壓縮我的if語句來檢查目標座標是否爲空(' - ')。
在所有的'elif'語句中,我想你的意思是'返回抓取[x1] [y1]'或'抓住= board [x1] [y1]'而不是'grab = [x1] [y1] '。對?因爲,這些陳述在句法上似乎不正確。 –
只是爲了好玩,你可以將elifs壓縮成一行(假設上面的評論是正確的):'grab [{'A':0,'B':1,'C':2} [SjumpX [0]] ] [int(SjumpX [1]) - 1]' – khachik