På grund av frågans extremt generella karaktär väljer jag att ge dig tipset att att du låter föremålen implementera någon slags lyssnargränssnitt, så att de har referenser till varandra och meddelar varandra när de flyttas. Lite pseudokod, kanske?
klass RelativpositioneratObjekt {
// koordinat på x-axel
medlemsvariabel heltal xKoordinat;
// koordinat på y-axel
medlemsvariabel heltal yKoordinat;
// det objekt som är relativpositionerat med detta
medlemsvariabel RelativpositioneratObjekt granne;
metod flyttaTill(ny_x, ny_y){
xKoordinat = ny_x;
yKoordinat = ny_y;
om (denna metod inte anropas av [b]granne[/b]) {
granne.flyttaTill(xKoordinat + xFörskjutning, yKoordinat - yFörskjutning);
}
}
}
