Jeg er ved at lave et minestrygerspil i java, og det basale fungerer egentlig fint nok. Jeg har dog brugt lang tid på en problemstilling som jeg ikke har fundet en fungerende løsning på endnu.
Hvis man klikker på et felt, som ikke har nogle miner omkring sig, så skal programmet automatisk "klikke" på resten af de tomme felter der grænser op til feltet man klikkede på, plus de omkringliggende "vægge".
Har i nogle idéer til hvordan jeg kan løse dette problem?
Tak
LIDT INFORMATION OM MIT PROGRAMS OPBYGNING: Hvert felt er en klasse (der nedarver JLabel), som finder antallet af omkringliggende miner når man klikker på det, hvorefter den skriver denne værdi på labelet.
I min klasse "mainFrame()" har jeg et to-dimensionelt array af felt-klasser. Derudover har jeg et to-dimensionelt heltalsarray, der indeholder 1 og 0'er afhængig af hvor bomberne er placeret.
Hver instans af felt-klassen oprettes med parametrene: x-position i arrayet, y-position i arrayet og det to-dimensionelle array der holder styr på bomberne. På den måde kan jeg i felt-klassen afgøre om feltet ligger ved siden af en bombe.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Som ksoren2 siger, så er det noget med nogle gentagelser - rettere sagt, en rekursiv metode. Noget i retning af:
Algo1(felt): - tjek alle omkring-liggende felter
- hvis der ikke findes nogen miner så: gør det pågældende felt "gråt" kald Algo1 på alle omkring-liggende miner
- ellers(hvis der findes miner omkring felter) så: //Whatever - do what you usually do :)
---------- Jeg ved ikke om det gav lidt mere opklaring, men det er i hvert fald princippet - du skal lave en metode som kaldet sig selv, altså et rekursivt kald.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.