[ new_username @ 10.03.2017. 19:30 ] @
Potrebna mi je pomoć oko sljedećeg zadatka u programskom jeziku Java: U malom selu Robovil žive Oblikoboti – roboti mogu da se pojavljuju u različitim oblicima – trougao, pravougaonik, šestougao i krug; svaki od njih ima naziv, dimenzije (koje se dodjeljuju pri kreiranju Oblikobota), snagu (koja se izračunava kao proizvod njihove površine i slučajno generisanog broja u opsegu od 1 do 100) i mogućnost transformacije (pravougaonik može da se transformiše u trougao tako što se prepolovi po dijagonali i nastane jednakokraki trougao spajanjem dvije polovine pravougaonika, a dva trougla mogu da se transformišu u pravougaonik samo ako su pravougli i imaju jednake katete). Roboti u obliku trougla su letači, oni u obliku kruga mogu da plivaju, dok ostali mogu da šetaju i lete, pa se u zavisnosti od navedenog mogu naći na određenim pozicijama u Robovilu (matrici dimenzija 40x20). Oblikoboti imaju svoje neprijatelje – Muzikobote koji mogu da ih unište pjesmom i mogu da pjevaju samo ukoliko se nađu na zemlji (u suprotnom su automatski uništeni). Simulacija počinje tako što se kreiraju Oblikoboti, od svake vrste po dva, i proizvoljno smještaju u Robovil. Nakon toga se na ekranu ispisuje gdje je koji pozicioniran, koliku snagu ima i šta trenutno može da radi. Zatim ih napadaju četiri Muzikobota. Postavljaju se slučajno i mogu da unište svojom pjesmom sve Oblikobote koji se nalaze na udaljenosti od maksimalno 3 po x i y koordinati od njih. Ukoliko su svi Oblikoboti uništeni, simulacija se prekida i na ekranu se ispisuje poruka Muzikoboti su pobijedili!, u suprotnom simulacija se nastavlja, preostali Oblikoboti se ponovo raspoređuju, i ukoliko imaju mogućnost transformacije, transformišu se, u suprotnom im se smanjuje snaga na pola, i opet se ispisuju njihove pozicije. Muzikoboti koji nisu uništeni zauzimaju nove položaje, i opet napadaju. Simulacija može da završi ako: 1) se svi Muzikoboti unište (uništeni su ukoliko se nađu na teritoriji koja nije zemlja), a na ekranu se ispisuje "Oblikoboti su pobijedili! Kraj simulacije" i ispisuju se pozicije preostalih Oblikobota; 2) su svi Oblikoboti uništeni, a na ekranu se ispisuje poruka Muzikoboti su pobijedili!. Selo Robovil (matrica 40x20) je predstavljeno na sljedeći način: Formalna predstava ovog zadatka je sljedeća: 1) Robovil je matrica dimenzija 40x20: 2) Oblikobot je klasa koja je naslijeđena iz klasa: Trougao, Četvorougao, Šestougao i Krug. 3) pozicioniranje elemenata u matrici (XYLayout) Konkretno, ne znam kako da implementiram sljedeće: 1) dimenzije Oblikobota (koje se dodjeljuju pri kreiranju Oblikobota) 2) transformacije Oblikobota 3) Roboti u obliku trougla su letači, oni u obliku kruga mogu da plivaju, dok ostali mogu da šetaju i lete, pa se u zavisnosti od navedenog mogu naći na određenim pozicijama u Robovilu (matrici dimenzija 40x20). Oblikoboti imaju svoje neprijatelje – Muzikobote koji mogu da ih unište pjesmom i mogu da pjevaju samo ukoliko se nađu na zemlji (u suprotnom su automatski uništeni). Može li neko prodiskutovati ovaj zadatak? Ne tražim cijeli izvorni kod, već suštinu koncepata i implementacija. [Ovu poruku je menjao new_username dana 10.03.2017. u 20:41 GMT+1] [Ovu poruku je menjao new_username dana 10.03.2017. u 20:44 GMT+1] [Ovu poruku je menjao new_username dana 10.03.2017. u 20:45 GMT+1] |