Archief - [PROG]JAVA ganzenbord

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

gamer1

Legacy Member
Timmos zei:
owkeey... ik merk toch een paar vreemde dingen.

2) i moet inderdaad gedeclareerd worden. i zou infeite de positie van ne Pion moeten zijn. Dus ik vraag mij af van waar die i komt. Beter zou zijn dat je na het verzetten van je Pion ergens een methode in Pion aanroept die verwijst naar die controleermethode, en daarbij als parameter meegeeft wat zijn huidige positie is.

De andere punten zijn aangepast. Maar deze begrijp ik niet 100%.
Die i wat ik gebruik zou eigenlijk die i van public Ganzenbord moeten zijn. Die i wijst toch op welk vakje van t bord je staat. Als je dus een methode meegeeft voor de verschillende i's (hier 11,21,31,42,58) dan moet m, als de pion hierop komt, de bijhorende methode uitvoeren. Zou ik da nie kunne oplosse door de declaratie van de i uit de for lus juist boven public Ganzenbord te zetten?
Code:
	public Ganzenbord()
	{	for (int i=1;i<=63;i++)
		vakje[i] = i;
	}

	public void controleerVakje()					
	{      if (i==11 || i==21 || i==31) dubbelVooruit(); else			
		if (i==42) gaNaar39(); else
		if (i==58) gaNaar1(); 
	}

@ QplQyer: Persoonlijk(ben dan ook een noob op dit gebied) vind ik uw oplossing er wat moeilijker uitzien. Of m beter/slechter is weet ik totaal nie, ma we moeten de code ook wa kunne uitlegge, en da vind ik iets simpeler bij de huidige oplossing.

QplQyer

Legacy Member
Ja, door "i" te declareren als een veld van je klasse zal het lukken om eraan te geraken in controleerVakje(). Maar met één "i" ga je niet toekomen hé, je hebt vier pionnen, waar zijn de andere pionnen hun positie dan? En waar ga je de "i" wijzigen?

Overigens zit je met een ongeinitialiseerde waarde in die array die je hebt gecreëerd (vakje[0]), an accident waiting to happen. En het nut van die array ontgaat mij ook nog steeds.

gamer1

Legacy Member
Ik zou in de waarde van i de positie van de huidige pion moete stoppe, en als die 11/21/31/42/58 is moet ik de bijhorende verplaatsing (methode) doen(dus positie van de pion aanpasse). Zoals t nu is verandert de waarde van i niet mee met de positie van de pion zeker?
Moet ik in mn class Pion dan een methode make controleerPositie() en daar die verschillende if's (voorwaarden) inzette. Zo ja, heb ik dan eigenlijk wel een class Ganzenbord nodig, want die wordt dan toch niet echt gebruikt?
Of zou dit geen goede oplossing zijn?

Timmos

Legacy Member
gamer1 zei:
Ik zou in de waarde van i de positie van de huidige pion moete stoppe, en als die 11/21/31/42/58 is moet ik de bijhorende verplaatsing (methode) doen(dus positie van de pion aanpasse). Zoals t nu is verandert de waarde van i niet mee met de positie van de pion zeker?
Moet ik in mn class Pion dan een methode make controleerPositie() en daar die verschillende if's (voorwaarden) inzette. Zo ja, heb ik dan eigenlijk wel een class Ganzenbord nodig, want die wordt dan toch niet echt gebruikt?
Of zou dit geen goede oplossing zijn?

1. controleerPositie (int positie) implementeer je best in de klasse Ganzenbord, daar je eigenlijk een 'vakje' controleert. Een vakje is nog altijd een onderdeel van Ganzenbord.

Probeer 'objectgeöriënteerd' te denken ;)

Het is niet de pion zelf die het vakje controleert, maar het ganzenbord. Snap je?

2. Als je, zoals je zegt, in i de positie van je Pion bijhoudt dan moet je i declareren in de Klasse Pion en niet in Ganzenbord. In Ganzenbord houdt je enkel een Array bij van het type Pion. Die Array heeft dus lengte 4.

Ook hier moet je even denken hoe dit werkt: pionnen zijn een onderdeel van een ganzenbord, dus inderdaad, je pionnen zijn dus velden van Ganzenbord (zij het hier in een Array vorm).

Pionnen zelf hebben ook eigenschappen: die steek je dus in Pion zelf. Dit is dus kleur en positie.

3. geef i een andere naam; bvb positie. Dit maakt het lezen heel wat gemakkelijker en je moet je niet constant afvragen wat het betekent. Ik dacht aanvankelijk dat het een dummy was daar je hem gebruikt om een lijst op te vullen.

4. QplQyer heeft gelijk, een Array van type int waarin de ide plaats de waarde i krijgt, is volkomen nutteloos. En inderdaad zit je met een null op de nulde plaats, dat is echt wel om fouten vragen :)

gamer1

Legacy Member
Dacht ook da da beter was in Ganzenbord, maar vermits ik da nie echt klaarkreeg heb ik t ma in Pion gedaan. Heb t vandaag moete uitlegge. De man zei ook da t properder was als ik controleerVakje in Ganzenbord had gezet, zeker als ik vakjes als de vergeetput(waar ge blijft zitte tot iemand er ook op komt). Had ook gevraagd hoe ik da dan had kunne doen. Kon da wel in woorde wa zegge, gelukkig moest ik t nie in code zette. Hij had wel alleen gekeke na de 1e 2 blade(class Pion en class Dobbelsteen), gelukkig nie na Ganzenbord vermits die op nix trok. Al bij al dus beter meegevalle als verwacht. Thx aan iedereen die geholpen heeft!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan