Я ищу вторую пару глаз, чтобы помочь мне дважды проверить, правильно ли я делаю это или кто знает лучшего способа сделать это.Попытка получить его так, если блок рядом с другим, он меняет текстуру, чтобы она выглядела лучше.
То, что я пытаюсь сделать, это получить его так, чтобы, если блок размещен рядом с другим, текстура обновится, чтобы сделать его похожим на 2 блока. Все блоки размещаются, когда пол сначала генерируется, ни один не добавляется или не удаляется до тех пор, пока пол не будет завершен, затем все блоки будут удалены, а затем добавлены для следующего этажа.
Что этот код мне нужен с помощью справки, это то, что он проверяет все блоки вокруг него, сохраняет целое число из 4 цифр в массиве int для этого блока, а затем проверяет это целое число и решает, какую текстуру сгенерировать.
Если целое число равно 1000, то над ним находится блок, если он равен 100, то под ним находится 10, а слева - 1, 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 [а], ха [а], я [а]
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++;
}
}
}
Если я пропускаю любую информацию, которую Вы должны были бы, пожалуйста, дайте мне знать, спасибо за ваше время.