Slutprojekt i OODP2
Demo finns att kolla på: https://www.youtube.com/watch?v=9Ydu8UhIjeU \
https://java-programming.mooc.fi/part-14/3-larger-application-asteroids
** MARKERA AVKLARAD UPPGIFT med X
- Asteroider ska variera i form och storlek
- Asteroidernas rörelseriktning ska vara slumpmässig
- Rymdskeppet kan skjuta asteroider och andra hinder
- När ett skott träffar en asteroid försvinner den från skärmen
- Det ska finnas ett fiendeskepp som kan skjuta mot rymdskeppet. Fiendeskeppet dyker upp med jämna mellanrum, t ex var tionde sekund.
- Rymdskeppet kan röra sig över hela skärmen. Om rymdskeppet går utanför skärmen dyker den upp på andra sidan av skärmen.
- Rymdskeppet ska kunna accelerera och svänga
- När rymdskeppet träffas av en asteroid, avslutas spelet
- När rymdskeppet träffas av en projektil, avslutas spelet
- Formatera om koden enligt MVC
- Dela in koden i olika Design-patterns
- Factory Method
- Observable
- Singelton
OBS! Om ni arbetar i par måste ni ha med åtminstone en av extra features nedan. Om ni arbetar i grupp av tre måste ni ha minst två extra features.
** VALDA EXTRA FEATURES
- Asteroider har ingen predefinierad form. Formen slumpas fram när en asteroid skapas
- Om ett skott träffar en asteroid slits den upp i flera små mindre asteroider som rör sig åt olika håll
- När en asteroid träffas, exploderar den (simulera med någon visuell effekt)
- Lägg till ytterligare en eller flera levels. Man kommer till nästa level när alla asteroider är rensade. Nästa level ska vara svårare (t ex asteroiderna rör sig snabbare, de är fler, det finns flera hinder och faror, etc).
- Lägg till highscore-funktionalitet. Highscores kan sparas på fil eller i db.