-
04-09-2013, 19:15 #31Member
- Registered
- 25/07/02
- Location
- Brussel
- Posts
- 1,001
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
Er zijn nog mooiere oplossingen, maar deze is alvast makkelijk implementeerbaar + je hoeft er de interface van Wereldkaart (of Speler) niet voor aan te passen (ok, gewoon een adder toevoegen).
Concreet:
- abstracte klasse AbstractObjective die een referentie naar Wereldkaart heeft (zodat je met het spel kan communiceren), een referentie naar de 'owner' (de speler die deze opdracht heeft) en een abstracte method isAchieved() (oid)
- concrete klasses die elk 1 bepaalde opdracht implementeren (bvb: ConquerAfricaAmericaAsiaObjective) (en overerven van AbstractObjective) en isAchieved() concret implementeren.
- je klasse Wereldkaart bevat dan een lijst van AbstractObjective objecten (met size = aantal spelers), die je in 'isGewonnen()' dan simpelweg kan aflopen en aan elke opdracht kan vragen 'isAchieved()'
- Alternatief voor dat laatste: Player referentie naar naar concrete objective laten bijhouden en Wereldkaard lijst van Players laten aflopen.
Hangt beetje van huidige code af I guess, maar dat alternatief vind ik wel net iets properder.
Maar eerlijk gezegd: denk je dat je het verdient om te slagen (en naar een volgend jaar te gaan?) als je deze vragen moet stellen? Je moet écht wat meer tijd steken in oefenen (zowel qua analyse, modeling als programming zelf)no votes
-
-
04-09-2013, 19:25 #32
Mja, mijn herexamen van programmeren is goed gelukt ... Bij dit project weet ik ook het juiste er niet van, omdat ik moest verder werken op iemand anders zijn code ...
Ik zal de volledige klasse wereldkaart eens posten, de methode isGewonnen geeft altijd een true terug, terwijl deze false moet zijn ...
package domein; import java.util.ArrayList; import java.util.Collections; i - Pastebin.comno votes
-
04-09-2013, 20:02 #33Member
- Registered
- 25/07/02
- Location
- Brussel
- Posts
- 1,001
- iTrader
- 5 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
130 lijnen lelijke code? Sorry, daar begin ik niet aan..
In hoeverre moest ge de bestaande code behouden? En waarom?
Zolang interface bewaard wordt kan je imho alle code aanpassen...no votes
-
04-09-2013, 20:14 #34
Ik mocht alles aanpassen, maar ik moest ook denken aan de tijd waarin ik het moest doen, ik had enkele herexamens, en daartussen moest ik dan nog dit project uitbreiden. Ik had gekozen om gewoon de opdracht te doen, zonder te letten op mooie code en dergelijke, nu heb ik wat extra tijd om dit te doen.
no votes
-
04-09-2013, 21:23 #35
alles werkt eindelijk, er was nog wel het een en ander mis ... Maar goed. Gasten bedankt voor de hulp!
no votes


