更新2: 我需要你的帮助进入有效的逻辑来解决以下问题 用户将得到一些问题。每次他正确回答他的位置单元格将移动(现在他在原始== 3,col == 0;)取决于尝试了多少次:
见图:http://postimg.org/image/va5146on7/
我的问题,例如,如果用户从第一次尝试猜测但是他的当前位置* 在raw = 0,colum = x *那么他只能选择向上移动......等等......
我尝试了但是它并不适合各种可能性。任何帮助?
private void Moveposition() {
if (count == 1) {
if (raw == 0 && colu <= 7) {colu++;} //if reach the up border
if (colu == 7 && raw <= 7 && raw != 0) {raw--;}//if rech left border
if (!(raw == 0 && colu <= 7) && !(colu == 7 && raw <= 7 && raw != 0)) {
raw--;
colu++;
}
System.out.print("r" + raw + "c" + colu);
// JButton button1 = this.GamelButtons[raw][col];
JourneyScore += 2;
this.ScoreLabel.setText("" + JourneyScore);
}
if (count == 2) {
if (colu == 7 && raw <= 7) {raw--;}//if rech left border
else {colu++;}
JourneyScore += 1;
this.ScoreLabel.setText("" + JourneyScore);
}
if (count == 3) {
if (colu == 0 && raw <= 7) {raw++;} //if reach the left border go down
if (colu == 0 && raw == 7) {raw--;}//if it the start position do not do any thing
if (raw == 7 && colu <= 7 && colu != 0) {colu--;}//if rech down border go left
if (!(colu == 0 && raw <= 7) && !(raw == 7 && colu <= 7 && colu != 0) && !(colu == 0 && raw == 7)) {
raw++;
colu--;
}
JourneyScore -= 1;
this.ScoreLabel.setText("" + JourneyScore);
}
}
答案 0 :(得分:0)
在不了解你想要完成的事情的情况下,我不鼓励你在这里检查有效的行动(例如if (raw==0&&colu<=7){colu++;}
)。 Setter或helper方法更适合这种方式。
确定用户的“积分”奖励,然后指示另一种方法移动列和行,放置验证移动所需的逻辑。