public class Pond {
public static void allcreationco(){
for (int i = 0; i < 100; i++){
int radius = 100;
int x = (int) (Math.random() * 2 * radius - radius);
int ylim = (int) Math.sqrt(radius * radius - x * x);
int y = (int) (Math.random() * 2 * ylim - ylim);
Fish.xfishc.add((int) x);
Fish.yfishc.add((int) y);
}
allcreationdir();
}
public static void allcreationdir(){
for (int i = 0; i < Fish.xfishc.size(); i++){
double radius = Math.random()*1;
double angle = Math.random()*2*Math.PI;
double x = Math.cos(angle)*radius + 0;
if (x > 0){
Fish.xfishcb1.add(true);
}
else {
Fish.xfishcb1.add(false);
}
}
for (int i = 0; i < Fish.yfishc.size(); i++){
double radius = Math.random()*1;
double angle = Math.random()*2*Math.PI;
double x = Math.cos(angle)*radius + 0;
if (x > 0){
Fish.yfishcb1.add(true);
}
else {
Fish.yfishcb1.add(false);
}
}
Привет, моя цель состоит в том, чтобы создать имитацию (без визуального рисунка нужно, просто что-то легко напечатать информацию о) круговой пруд с рыбой беспорядочно плавая в нем. Вышеприведенный код - способ инициировать 100 гипотетических рыб в Arraylists в виде координат x и y на основе гипотетического круга с радиусом 100 (лучше всего это сделать). Я хотел бы, чтобы каждая из 100 рыб могла плавать в случайных направлениях и каждый раз, когда они доходили до конца пруда, каждый раз переходила к новым случайным направлениям. Может быть, я хотел бы, чтобы они воспроизвели через некоторое время или включили другую рыбу, которая двигалась прямыми линиями и могла есть другую рыбу.Симуляция объекты бассейна (как рыба) в круговом пруду (в Java)
public class Salmon extends Fish {
public static int salmonre = 0;
public static void salmonmove(){
for (int i = 0; i < xfishc.size(); i++){
if (xfishcb1.get(i) == true){
int d = xfishc.get(i);
int e = d + 1;
xfishc.set(i , e);
}
else{
int d = xfishc.get(i);
int e = d - 1;
xfishc.set(i , e);
}
}
for (int i = 0; i < yfishc.size(); i++){
if (yfishcb1.get(i) == true){
int d = yfishc.get(i);
int e = d + 1;
yfishc.set(i , e);
}
else{
int d = yfishc.get(i);
int e = d - 1;
yfishc.set(i , e);
}
}
salmonre++;
}
}
Я также использовал булевы ArrayLists случайным образом определить, какие направления рыба должна двигаться. Пожалуйста, будьте нежны со мной в своей риторике, потому что я хорошо понимал, что мои подходы смешны. Я знаю, что лучше использовать тригонометрию при моделировании объектов и их поведении в круге, но по какой-то причине я не могу обернуть голову вокруг этого, глядя в Интернете (я продолжаю находить вещи более сложными, включая визуальные иллюстрации) , Не могли бы вы «угодить» дать мне исчерпывающие ответы с идеями? Я разочарован.
Я удалил свой ход тега и рыба тег, потому что они не должны были быть включены – Ungeheuer