/** * Metodi palauttaa sovitetttavan paketin eri asennossa kutsujalleen * * @param mitenpain * @param paketti * @return */ private Paketti laatikonKaantaja(Mitenpain mitenpain, Paketti paketti) { int apu; switch (mitenpain) { case EIKAANNETA: return paketti; case KAANNETAANKERRAN: // käännetään paketti X-akselin ympäri apu = paketti.getKorkeus(); paketti.setKorkeus(paketti.getSyvyys()); paketti.setSyvyys(apu); return paketti; case KAANNETAANTOISENKERRAN: // käännetään x-akselin ympäri käännetty y-akselin ympäri apu = paketti.getLeveys(); paketti.setLeveys(paketti.getSyvyys()); paketti.setSyvyys(apu); return paketti; case KAANNETAANKOLMANNENKERRAN: // käännetään x- ja y-akselin ympäri käännetty x-akselin // ympäri apu = paketti.getKorkeus(); paketti.setKorkeus(paketti.getSyvyys()); paketti.setSyvyys(apu); return paketti; case KAANNETAANNELJANNENKERRAN: // käännetään kaksi kertaa x-ja kerran y-akselin ympäri // käännetty y-akselin ympäri apu = paketti.getLeveys(); paketti.setLeveys(paketti.getSyvyys()); paketti.setSyvyys(apu); return paketti; default: return paketti; } }
private boolean sijoitaLaatikkoon( char[][][] laatikko, int vaakaIndeksi, int pystyIndeksi, int syvyysIndeksi, Paketti paketti) { for (int k = 0; k < paketti.getKorkeus(); k++) { for (int l = 0; l < paketti.getLeveys(); l++) { for (int n = 0; n < paketti.getSyvyys(); n++) { laatikko[vaakaIndeksi][pystyIndeksi][syvyysIndeksi] = paketti.getAakkonen(); syvyysIndeksi++; } pystyIndeksi++; syvyysIndeksi = syvyysIndeksi - 5; } vaakaIndeksi++; pystyIndeksi = pystyIndeksi - 5; } return true; }