所以我有JXButton[][] array
(gridLayout),每個JXButton都有一個圖標,一個片段,哪個玩家屬於哪個,並且有一個mouseListener
。Turn Based Game Java(Stratego)
我目前正在嘗試使戰略遊戲(兩個球員,我處理兩者)。 我設置了圖標,棋子和一塊棋子應該如何移動。
現在我想讓它輪流發揮。
例如,當玩家1轉動時,我需要所有玩家2的棋子將圖標更改爲隱藏(hidden.png),反之亦然。 我試過這樣的事情。
tmp1, tmp2
是圖標陣列
pieceimgsB,R
保持隱藏圖標
allbuttons
是我JXButton[][] array
public void makeHidden(int iD){
if(iD==1){
for (int i=0;i<8;i++){
for(int y=0;y<10;y++){
if(allbuttons[i][y].getPlayerID()==iD){
tmp1[i][y]=allbuttons[i][y].getIcon();
allbuttons[i][y].setIcon(new ImageIcon(pieceimgsB[12]));
}
}
}
}
else if(iD==2){
for (int i=0;i<8;i++){
for(int y=0;y<10;y++){
if(allbuttons[i][y].getPlayerID()==iD){
tmp2[i][y]=allbuttons[i][y].getIcon();
allbuttons[i][y].setIcon(new ImageIcon(pieceimgsR[12]));
}
}
}
}
}
public void restoreHidden(int iD){
if(iD==1){
for (int i=0;i<8;i++){
for(int y=0;y<10;y++){
if(allbuttons[i][y].getPlayerID()==iD){
allbuttons[i][y].setIcon(tmp1[i][y]);
}
}
}
}
else if(iD==2){
for (int i=0;i<8;i++){
for(int y=0;y<10;y++){
if(allbuttons[i][y].getPlayerID()==iD){
allbuttons[i][y].setIcon(tmp2[i][y]);
}
}
}
}
}
我腦海裏makeHidden
Player2件隱藏其Players1轉彎時。
而restoreHidden
應該在玩家2轉身時改回圖標。
如果這兩種方法看起來不錯,那麼我的問題在於如何實現輪流。我必須說(當我點擊一個JXButton,然後點擊另一個時, 片在它應該在板上移動)。我嘗試在我的mouseListener中有一個標誌,當一個實際移動輪的變化,但我不能讓它輪流工作。 我已經寫了這個:
public void letsPlay(){
switch (turn){
case 1:
getsb().makeHidden(2);
//getsb().restoreHidden(1);
if(getsb().getPlayerMoved()==true){
setTurn(2);
}
break;
case 2:
getsb().makeHidden(1);
//getsb().restoreHidden(2);
if(getsb().getPlayerMoved()==true){
setTurn(1);
//;
}
break;
}
}
我需要知道,如果這兩種方法,根據他們應該做什麼,以及如何得到它輪流工作,一點點的見解似乎確定。
我應該有getPlayerMoved()
(它在mouseListener中返回標誌的時間在開關櫃外)嗎?
也許我很累,我沒有看到它,但任何見解都會有所幫助。 如果有人需要它,我也可以提供我的mouseListener
代碼,儘管它有點混亂。
那麼你的問題到底是什麼?請閱讀「[我怎麼問一個好問題?](http://stackoverflow.com/help/how-to-ask)」 – Andreas
你知道的事實「*它有點混亂*」是一個信號,如果可能的話,最好稍事休息一下,重新回到問題中,儘量做到最好 - 在做出改變之前,只需「完成工作,無論多麼糟糕」它完成了任務「 – DoubleDouble