package andmed; import java.util.*; public class AsukohaTyyp6 { protected int x, y; protected List reageerijad=new ArrayList(); public AsukohaTyyp6(int x, int y){ muudaAsukoht(x, y); } public void lisaReageerija(AsukohaMuutusteleReageerija reageerija){ reageerijad.add(reageerija); } public void nihuta(int dx, int dy){ muudaAsukoht(x+dx, y+dy); } public void muudaAsukoht(int ux, int uy){ if(ux<0 || uy<0){throw new RuntimeException("Negatiivne koordinaat");} x=ux; y=uy; for(AsukohaMuutusteleReageerija reageerija: reageerijad){ reageerija.asukohtMuutus(this); } } public int[] kysiAsukoht(){ return new int[]{x, y}; } @Override public String toString(){ return "("+x+", "+y+")"; } }