我正在尋找第二雙眼睛來幫助我仔細檢查,如果我這樣做是正確的,或者如果有人知道更好的方法來做到這一點。試圖得到它,所以如果一個塊是另一個塊,它會改變紋理,使其看起來更好
我想要做的就是獲得它,這樣如果一個塊被放置在另一個塊旁邊,紋理將更新以使它看起來像2個塊被連接。所有塊都在第一次產生時放置,沒有添加或移除,直到地面完成,然後移除所有塊,然後重新添加到下一層。
這段代碼我需要幫忙的是,它檢查周圍的所有塊,爲該塊保存一個4位數的整數,然後檢查該整數並決定生成哪個紋理。
如果整數是1000,那麼它上面有一個塊,如果它是100,那麼在它下面有一個塊,如果它是10,則左邊有一個塊,如果右邊有一個塊,則爲1。所以,如果有在各方面塊這將是1111
部分,我敢肯定,程序搞亂了,所以你並不需要通過一切去找找問題:
public Block(String num, int x, int y) {
setName(num);
xa[xnum] = x;
ya[ynum] = y;
while (a < xnum){
blockDirection[a] = 0;
n = 0;
while (n < xnum){
if (xa[a] + 20 == xa[n] && !(right)){//right
blockDirection[a] += 1;
right = true;
n++;
}
if (xa[a] - 20 == xa[n] && !(left)){//left
blockDirection[a] += 10;
left = true;
n++;
}
if (ya[a] + 20 == ya[n] && !(down)){//down
blockDirection[a] += 100;
down = true;
n++;
}
if (ya[a] - 20 == ya[n] && !(up)){//up
blockDirection[a] += 1000;
up = true;
n++;
}
n++;
}
up = false;
down = false;
left = false;
right = false;
System.out.println(blockDirection[a] + ", " + xa[a] + ", " + ya[a] + " printed from Block class");
a++;
}
if (a == xnum){
AssignDone = true;
}
}
控制檯輸出:
Image of game board with tile coords
blockDirection並[a],XA [A],亞並[a]
0, 60, 60 printed from Block class
0, 60, 60 printed from Block class
0, 140, 60 printed from Block class
0, 60, 60 printed from Block class
0, 140, 60 printed from Block class
0, 60, 140 printed from Block class
0, 60, 60 printed from Block class
0, 140, 60 printed from Block class
0, 60, 140 printed from Block class
0, 140, 140 printed from Block class
0, 60, 60 printed from Block class
0, 140, 60 printed from Block class
0, 60, 140 printed from Block class
0, 140, 140 printed from Block class
0, 0, 60 printed from Block class
10, 60, 60 printed from Block class
0, 140, 60 printed from Block class
10, 60, 140 printed from Block class
0, 140, 140 printed from Block class
0, 0, 60 printed from Block class
1, 40, 60 printed from Block class
10, 60, 60 printed from Block class
0, 140, 60 printed from Block class
10, 60, 140 printed from Block class
0, 140, 140 printed from Block class
0, 0, 60 printed from Block class
1, 40, 60 printed from Block class
10, 80, 60 printed from Block class
10, 60, 60 printed from Block class
0, 140, 60 printed from Block class
10, 60, 140 printed from Block class
0, 140, 140 printed from Block class
0, 0, 60 printed from Block class
1, 40, 60 printed from Block class
11, 80, 60 printed from Block class
10, 100, 60 printed from Block class
10, 60, 60 printed from Block class
0, 140, 60 printed from Block class
10, 60, 140 printed from Block class
0, 140, 140 printed from Block class
0, 0, 60 printed from Block class
1, 40, 60 printed from Block class
11, 80, 60 printed from Block class
10, 100, 60 printed from Block class
0, 140, 0 printed from Block class
1010, 60, 60 printed from Block class
1000, 140, 60 printed from Block class
10, 60, 140 printed from Block class
0, 140, 140 printed from Block class
1000, 0, 60 printed from Block class
1001, 40, 60 printed from Block class
1011, 80, 60 printed from Block class
1010, 100, 60 printed from Block class
0, 140, 0 printed from Block class
100, 140, 40 printed from Block class
1010, 60, 60 printed from Block class
1000, 140, 60 printed from Block class
10, 60, 140 printed from Block class
0, 140, 140 printed from Block class
1000, 0, 60 printed from Block class
1001, 40, 60 printed from Block class
1011, 80, 60 printed from Block class
1010, 100, 60 printed from Block class
0, 140, 0 printed from Block class
100, 140, 40 printed from Block class
1010, 60, 80 printed from Block class
1010, 60, 60 printed from Block class
1000, 140, 60 printed from Block class
10, 60, 140 printed from Block class
0, 140, 140 printed from Block class
1000, 0, 60 printed from Block class
1001, 40, 60 printed from Block class
1011, 80, 60 printed from Block class
1010, 100, 60 printed from Block class
0, 140, 0 printed from Block class
100, 140, 40 printed from Block class
1110, 60, 80 printed from Block class
1010, 60, 100 printed from Block class
1010, 60, 60 printed from Block class
1001, 140, 60 printed from Block class
10, 60, 140 printed from Block class
1, 140, 140 printed from Block class
1000, 0, 60 printed from Block class
1001, 40, 60 printed from Block class
1011, 80, 60 printed from Block class
1010, 100, 60 printed from Block class
1, 140, 0 printed from Block class
101, 140, 40 printed from Block class
1110, 60, 80 printed from Block class
1010, 60, 100 printed from Block class
1010, 160, 60 printed from Block class
1010, 60, 60 printed from Block class
1001, 140, 60 printed from Block class
10, 60, 140 printed from Block class
1, 140, 140 printed from Block class
1000, 0, 60 printed from Block class
1001, 40, 60 printed from Block class
1011, 80, 60 printed from Block class
1010, 100, 60 printed from Block class
1, 140, 0 printed from Block class
101, 140, 40 printed from Block class
1110, 60, 80 printed from Block class
1010, 60, 100 printed from Block class
1010, 160, 60 printed from Block class
10, 160, 140 printed from Block class
1010, 60, 60 printed from Block class
1001, 140, 60 printed from Block class
10, 60, 140 printed from Block class
1, 140, 140 printed from Block class
1000, 0, 60 printed from Block class
1001, 40, 60 printed from Block class
1011, 80, 60 printed from Block class
1010, 100, 60 printed from Block class
1, 140, 0 printed from Block class
101, 140, 40 printed from Block class
1110, 60, 80 printed from Block class
1010, 60, 100 printed from Block class
1010, 160, 60 printed from Block class
10, 160, 140 printed from Block class
10, 60, 180 printed from Block class
休息的代碼(不包括上述部分):
@Override
public void update(KTech kt, float time) {
if (AssignDone == true){
if (a == xnum){
a = 0;
}
}
}
@Override
public void render(KTech kt, Renderer r) {
if (AssignDone){
a = 0;
while (a < xnum){
if (blockDirection[a] == 1111){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down & up & left & right)");
r.drawImage(block, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1110){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down & up & left)");
r.drawImage(block_udl, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1101){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down & up & right)");
r.drawImage(block_urd, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1100){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down & up)");
r.drawImage(block_ud, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1011){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(up & left & right)");
r.drawImage(block_url, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1010){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(up & left)");
r.drawImage(block_ul, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1001){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(right & up)");
r.drawImage(block_ur, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1000){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(up)");
r.drawImage(block_u, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 111){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down & left & right)");
r.drawImage(block_ldr, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 110){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down & left)");
r.drawImage(block_dl, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 101){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down & right)");
r.drawImage(block_rd, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 100){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(down)");
r.drawImage(block_d, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 11){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(left & right)");
r.drawImage(block_rl, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 10){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(left)");
r.drawImage(block_l, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 1){
//System.out.println(xa[a] + ", " + ya[a] + " printed from Block class" + "(right)");
r.drawImage(block_r, xa[a], ya[a]);
a++;
}
if (blockDirection[a] == 0){
r.drawImage(block, xa[a], ya[a]);
a++;
}
a++;
}
}
}
如果我很想念你需要的任何信息,請讓我知道,感謝您的時間。