abonnement Unibet Coolblue Bitvavo
pi_139966667
quote:
0s.gif Op woensdag 14 mei 2014 22:56 schreef Hoplahopla het volgende:
Heb je firstgen wel gedefinieerd?
:@

Een maatje van me zegt dat dit ook kan door een methode in Game Of Life te maken, zoiets als

Array fieldarray(){

return firstfield;

}

en deze dan aan te roepen in de klasse Field om zodoende firstfield te bemachtigen. Kan dit?
pi_139966739
Wel als je de array wil ophalen ja.
Kom maar konijntje, doe maar wiebelen wiebelen...
pi_139966837
quote:
0s.gif Op woensdag 14 mei 2014 23:00 schreef Hoplahopla het volgende:
Wel als je de array wil ophalen ja.
Ik krijg weer 100k foutmeldingen over non static methods

Fuck dit. Ik kap ermee en ga slapen. Weer 2 uur van m'n leven verneukt. :r
pi_139966919
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Dit is wat ik nu op ga slaan. Weinig anders dan gisteren, maar ik snap er echt de ballen van. :')
pi_139973765
quote:
2s.gif Op woensdag 14 mei 2014 23:03 schreef Amoeba het volgende:
Dit is wat ik nu op ga slaan. Weinig anders dan gisteren, maar ik snap er echt de ballen van. :')
Voor je verder gaat programmeren, probeer na te denken over de relatie tussen je classes en hoe deze elkaar manipuleren. Bijvoorbeeld, je GameOfLife class zal een Field manipuleren, maar hoe een Field de cellen aanpast is niet van belang voor de GOL class, net zoals voor je main het niet uitmaakt hoe GOL het spel implementeerd, alleen dat er een functie (ok, method) genaamd play is.

Bv, in je GOL class zul je een private variable van het type Field defineren (private Field field voor een variable genaamd field) en na inlezen van je veld initialiseer je field als "field.setInitialField(firstfield)". In je Field class heb je (bv) een private array cells type Cell en die setInitialField loop je over die char array en zet je ieder individuele cell in die array. Ipv een setInitialField kun je ook een constructor gebruiken in Field met firstfield als een parameter, maar als ik jou was zou ik daarmee wachten tot opdracht 2 ;)

[ Bericht 0% gewijzigd door devzero op 15-05-2014 04:42:16 ]
pi_139973768
quote:
2s.gif Op woensdag 14 mei 2014 23:01 schreef Amoeba het volgende:
Ik krijg weer 100k foutmeldingen over non static methods
1
2
3
4
5
class Field {
   public void calcNew...
}

Field.calcNew(); //This executes the method which calculates a new generation
Je roept de method calcNew aan als een "static" method (er is niet eens een instantie van Field hier) en calcNew is niet gedefineerd als static. Dat wil je ook niet, want je wil dat calcNew waardes aanpast in een instantie van Field. Dus
1
2
3
4
5
6
7
class Field {
   public void calcNew...
}

private Field field;
... 
field.calcNew(); //This executes the method which calculates a new generation
pi_139973771
Ik hoop overigens dat ik niet teveel C++ met java verwissel
pi_139973778
quote:
2s.gif Op woensdag 14 mei 2014 22:58 schreef Amoeba het volgende:

[..]

:@

Een maatje van me zegt dat dit ook kan door een methode in Game Of Life te maken, zoiets als

Array fieldarray(){

return firstfield;

}

en deze dan aan te roepen in de klasse Field om zodoende firstfield te bemachtigen. Kan dit?
Nee, dan doe je het verkeerd om. Je Field class hoeft niets te weten over de GoL class, laat de GoL class het maar doorgeven aan de Field class door een method aan te roepen in je Field class met firstfield als parameter.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')