/** * Metodi pudottaa kaikki maailman putoaviksi asetetut kuplat eli käynnistää niiden putoamisen * käyttäen apunaan nykyisen hetken ja edellisen hetken välistä erotusta (joka annetaan * ohjaaja-luokassa). * * @param muutos jonka arvolla kuplaa liikutetaan */ public void pudota(long muutos) { for (int i = 0; i < this.kuplat.size(); i++) { Kupla tutkittava = this.kuplat.get(i); if (tutkittava.onPutoava() && tutkittava.onEhja()) { tutkittava.putoa(muutos); } } }
/** * Kertoo, onko maailmassa jäljellä enää vain putoavia kuplia. Tätä tarvitaan, kun lisätään kuplia * maailmaan tai arvotaan uusi - ei haluta enempää kuplia, jos maailman viimeiset kuplat ovat * juuri putoamassa. * * @return true, jos maailmassa on jäljellä vain putoavia kuplia, ja false, jos on jäljellä * muitakin. */ public boolean onVainPutoavia() { ArrayList<Kupla> putoavat = new ArrayList<Kupla>(); for (int i = 0; i < this.ehjat.size(); i++) { Kupla putoava = this.ehjat.get(i); if (putoava.onPutoava()) { putoavat.add(putoava); } } if (putoavat.size() == this.ehjat.size()) { return true; } return false; }