Archief - Hulp bij Java gevraagd

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.

reign

Legacy Member
Hallo,

Voor een opdracht van school moet ik een speler (H) door een map met obstakels laten navigeren naar de schat (!).
Zelf ben ik nog niet zo vaardig met Java dus ik moet veel zoeken en proberen.

De omranding van mijn map (Dat een String moet zijn) heb ik gevonden;
Code:
		String[] map = new String[7];
		map[0] = "";
		map[1] = "";
		map[2] = "";
		map[3] = "";
		map[4] = "";
		map[5] = "";
		map[6] = "";
		
		for (int i = 0; i < 20; i++) {
			map[0] += "#";
			map[6] += "#";
		}	
			for (int x = 1; x <6; x++){
				for (int y = 0; y <20 ; y++){
					if(y == 0 || y == 19){
						map[x] += "#";
					}
					else {
						map[x] += " ";
					
					}
				}
			}
		for (String n:map){
			System.out.println(n);
		}
	}
}

Nu moet ik de binnenkant echter vullen met 15 willekeurig geplaatste '#'. Dit krijg ik echter niet meteen klaargespeeld.
Ik zat in de denkpiste waar ik een randomX en randomY gebruik om randomY de arrayrijen af te laten gaan en randomX om de plaatsen binnen de rij te laten controleren.

Ik zie echter niet hoe ik dit kan realiseren. Kan iemand mij de goede weg ophelpen?
Alvast bedankt!

Tailball

Legacy Member
Denkpiste is goed!

Een andere opmerking: je maakt veel gebruik van "magic numbers".
Waarom een array met "7" instantiëren? Als je hiervan een variabele maakt, kan je die var ook verder in je code gebruiken (for x = 1; x < nieuwevariabele; x++) enz.
Maakt je code ook meteen een stuk leesbaarder en gemakkelijker te debuggen.
En je kan dan de initiële waardes van de array ook direct via een loopje op "" zetten.

reign

Legacy Member
Ik had 7 en 20 rechtstreeks genomen omdat de opdracht ook vermeldde dat het 7 rijen hoog en 20 tekens breed moest zijn. Heb daar eigenlijk niet bij nagedacht maar zeker een goede tip naar leesbaarheid toe! Bedankt!

Heb nog wat nagedacht hoe ik het kan opvullen met obstakels en denk dat dit te doen moet zijn met een stringbuilder. Moet alleen nog even uitzoeken hoe ik dit in orde krijg zonder hier ook leesbaarheid te verliezen.
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