Я новичок в java, к вашему сведению. Я использую обработку, и я делаю игру со змеями. Мой следующий шаг - перевести еду sh в новую позицию, как только змея съест ее. Проблема в том, что «змеиная голова» должна быть полностью выровнена с «пищевым» прямоугольником для обновления; в основном, мышь должна находиться над точным центром пищи, а не просто прикасаться к ней. Как я могу настроить его так, чтобы, как только мышь касалась прямоугольника «еда», она обновлялась? Я попытался возиться с rectMode (), но это получило weird.lol. Это то, что у меня есть, и простите, если код tra sh. Как я уже сказал, совершенно новый для java.
class Snake {
//variables
int len;
int wid;
int xcord;
int ycord;
//constructor
Snake(int x,int y, int len, int wid) {
this.len = len;
this.wid = wid;
this.xcord = x;
this.ycord = y;
rect(xcord, ycord, len, wid);
}
//clear screen
void update() {
background(255);
rect(mouseX, mouseY, len, wid);
}
}
class Food {
//variables
int xcord;
int ycord;
//constructor
Food() {
this.xcord = int(random(width));
this.ycord = int(random(height));
rect(xcord, ycord, 10, 10);
}
//update food position. This seems like the issue code block
void update() {
if( mouseX == xcord && mouseY == ycord) {
xcord = int(random(width));
ycord = int(random(height));
}
}
//display food
void displayFood() {
rect(xcord, ycord, 10, 10);
}
}
Snake s;
Food f;
void setup() {
background(255);
s = new Snake(mouseX, mouseY, 10, 10);
f = new Food();
}
void draw() {
s.update();
f.update();
f.displayFood();
}