You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Er zit nog geen enkele enum in de OOPG engine. Dit zou wel netter zijn en is ook nuttig als voorbeeld voor gebruikers/studenten. Enums behoren (nog) niet tot de toetsstof, maar zitten al jaren in Java en zijn al wel aangeraden om te behandelen. Dus in de engine is dit niet verkeerd. Zeker omdat er zelfs ook al (ergens) een lambda functie inzit, wat totaal niet tot de toetsstof hoort, en overal ook JavaDoc comments (is ook slechts aangeraden).
Voorbeeld
1. Het int collissionSide veld van de CollidedTile klasse is een mooi voorbeeld waar je alle public static final int's TOP, BOTTOM, LEFT, RIGHT en INSIDE veel beter naar een enkele enum kan verhuizen.
Meteen meepakken
2. Ik maak van de velden theTile en de collisionSide in CollidTile meteen protected velden in plaats van public en maar er een public getter voor, zoals het hoort in Java. Games die deze gebruiken zullen dus wel moeten updaten; maar deze velden hoor(de) je alleen in de constructor te zetten.
3. Ik pas de aanroepen naar de methode in WaterWorld klasse Player ook meteen ook aan, en wijzig hier in de methode keyPressed ook meteen toegang static fields UP, DOWN etc. world
4. Ik verwijder meteen de ongebruikte import com.sun.prism.image.ViewPort; in WaterWorld.java. Deze is niet nodig, maar geeft voor mensen met Java9 wel problemen, omdat ViewPort blijkbaar is verplaatst uit deze klasse o.i.d..
Backwards compatibility
5. Voor enige backwards compatibility voor oude games handhaaf ik de int constanten en oude Constructor van CollidedTile wel, maar markeer deze als @deprecated. Zo is niet meteen een major release nodig van de game :smile, maar kunnen we deze bij major release in de toekomst wel droppen. Uitgaande van semver.
Een versienummer van de engine is sowieso nog wel een dingetje...
Ik zie ook nog geen .pom/Maven file in deze repo...
The text was updated successfully, but these errors were encountered:
Where is the
enum
?Er zit nog geen enkele
enum
in de OOPG engine. Dit zou wel netter zijn en is ook nuttig als voorbeeld voor gebruikers/studenten. Enums behoren (nog) niet tot de toetsstof, maar zitten al jaren in Java en zijn al wel aangeraden om te behandelen. Dus in de engine is dit niet verkeerd. Zeker omdat er zelfs ook al (ergens) een lambda functie inzit, wat totaal niet tot de toetsstof hoort, en overal ook JavaDoc comments (is ook slechts aangeraden).Voorbeeld
int collissionSide
veld van deCollidedTile
klasse is een mooi voorbeeld waar je allepublic static final int
's TOP, BOTTOM, LEFT, RIGHT en INSIDE veel beter naar een enkele enum kan verhuizen.Meteen meepakken
theTile
en decollisionSide
inCollidTile
meteenprotected
velden in plaats van public en maar er een public getter voor, zoals het hoort in Java. Games die deze gebruiken zullen dus wel moeten updaten; maar deze velden hoor(de) je alleen in de constructor te zetten.Player
ook meteen ook aan, en wijzig hier in de methodekeyPressed
ook meteen toegang static fields UP, DOWN etc. worldimport com.sun.prism.image.ViewPort;
in WaterWorld.java. Deze is niet nodig, maar geeft voor mensen met Java9 wel problemen, omdat ViewPort blijkbaar is verplaatst uit deze klasse o.i.d..Backwards compatibility
int
constanten en oude Constructor vanCollidedTile
wel, maar markeer deze als@deprecated
. Zo is niet meteen een major release nodig van de game :smile, maar kunnen we deze bij major release in de toekomst wel droppen. Uitgaande van semver.Een versienummer van de engine is sowieso nog wel een dingetje...
Ik zie ook nog geen
.pom
/Maven file in deze repo...The text was updated successfully, but these errors were encountered: