C# Aknakerő
Sziasztok:)
Hát nem tudtam hova írni ezt vagy egyáltalán valaki foglalkozik c# al.
Egy próbát megér.
Consoloba csináltam az aknakeresőt.
Elsőként csinálok pl egy 30x30 tömböt az lesz a pálya.
Aztán csinálok a bombáknak is egy tömböt pl 5x5 (x,y). Ez tárolja a bombák pozicióját.
Aztán egy beágyazott forral meg csinálom a pályát úgy hogy ha x,y egyezik bomba[x,y] akkor oda rakok egy "9" ami a bomba helyét jelzi és így tovább.Ha nincs bomba akkor "0". Azt második for pedig pontonként kiszámolja ott hány bomba van szépen sorba.
Nagyából így néz ki a programom.
A problémám és sokat gondolkodtam de nem tudok rájönni hogy ha üres területre nyomok(space) akkor az összes üreset mezőt eltávolítsa addig amíg számot nem talál pl 1 vagy 2 ..8.
Erre milyen ciklust lehet írni??
Segítségeteket Előre köszönöm.
Ha program kód kell akkor jelezzétek.
Nem tudom hogy ebben az esetbe szükséges e.
■ Hát nem tudtam hova írni ezt vagy egyáltalán valaki foglalkozik c# al.
Egy próbát megér.
Consoloba csináltam az aknakeresőt.
Elsőként csinálok pl egy 30x30 tömböt az lesz a pálya.
Aztán csinálok a bombáknak is egy tömböt pl 5x5 (x,y). Ez tárolja a bombák pozicióját.
Aztán egy beágyazott forral meg csinálom a pályát úgy hogy ha x,y egyezik bomba[x,y] akkor oda rakok egy "9" ami a bomba helyét jelzi és így tovább.Ha nincs bomba akkor "0". Azt második for pedig pontonként kiszámolja ott hány bomba van szépen sorba.
Nagyából így néz ki a programom.
A problémám és sokat gondolkodtam de nem tudok rájönni hogy ha üres területre nyomok(space) akkor az összes üreset mezőt eltávolítsa addig amíg számot nem talál pl 1 vagy 2 ..8.
Erre milyen ciklust lehet írni??
Segítségeteket Előre köszönöm.
Ha program kód kell akkor jelezzétek.
Nem tudom hogy ebben az esetbe szükséges e.
Ha jól értem a gondod, akkor
Sajnos még nem használtam
Hozzá böffenteni se tudok ugy hogy picit tudnál segíteni a mükődéséről.
thx
Mivel C#-ul nem feltétlenül
Szerintem ess neki, és ha elakadsz, akkor a kóddal együtt tedd fel kérdésed; biztos van itt olyan, aki jobban ért a C#-hoz.
De a lényeg nagyjából annyi, hogy a kezdeti helyről indulva végigjárod a szomszédos mezőkön keresztül a tömbödet addig, amíg már csak "nem üres" mező szomszédokba ütközöl. Persze figyelve arra, hogy tényleg bejárj minden csatlakozó mezőt, illetve hogy ne menj bele nem üres mezőkbe. De mindez ott van a wikin pontosan megfogalmazva :)
"De a lényeg nagyjából annyi,
Igen ezt szeretném elérni de akkor próbálkozom addig ha valaki tud segíteni még az írjon:) thx
Algoritmus
Poetro Még analizálom az
Még analizálom az algoritmust:))
Sajnos nem jutok semmire
Egy pl részt tudtok neked írni??:((
Próbáltál esetleg rákeresni
Egyébként hol akadsz el, mit nem értesz a pszeudokóddal kapcsolatban? Ha meg tudsz fogalmazni egy konkrét kérdést azon túl, hogy mutassatok kódot (amit egyébként kaptál), akkor könnyebb segíteni.
Egyszerűen nem értem az
Inentől buktam a dolgot .
Csak annyit írjatok le hogy hogy is mükődik:)
Egyszerűen nem tudok rájönni..
thx
talán úgy kéne hogy egy
De azt nem tudnám megírni hogy egy Fordított "U" alakot megcsináljak vele .
Nos, aknakeresőben szerintem
1. If target-color is equal to replacement-color, return.
2. If the color of node is not equal to target-color, return.
3. Set the color of node to replacement-color.
4. Perform Flood-fill (one step to the west of node, target-color, replacement-color).
Perform Flood-fill (one step to the east of node, target-color, replacement-color).
Perform Flood-fill (one step to the north of node, target-color, replacement-color).
Perform Flood-fill (one step to the south of node, target-color, replacement-color).
5. Return.
(Mellesleg a nyolcirányos ugyanígy működik, csak a sarkokba is át kell lépni, tehát van plusz négy rekurzív függvényhívásod.)
Emögött nincs semmiféle elmélet, amit érteni kéne (illetve ez maga az elmélet, ennél egyértelműbben nem nagyon lehet leírni). Szóról szóra le van írva, hogy hogyan működik; felesleges tovább ragozni. Csak át kell fogalmazni ezeket a lépéseket a célnyelvre és kész.
Szóval mi a pontos kérdésed, mit nem értesz ebből? Ha magad sem tudod, akkor hogy várod el, hogy mi tudjuk? Ha továbbra is annyi a kérdésed, hogy az egészet nem érted, akkor javaslom, hogy kezdd el a programozás tanulását a legelejéről, mert akkor alapvető hiányosságaid vannak.
itt a kép amit készítettem
Itt el kell indulnom balra azt jobbra azt lefele is kétszer abból a pontból.
Azt megint bal megint jobb...
0 kat elszeretném tüntetni. De a jobb alsókat nem szeretném x jelöli.
Amit mutattál az erre képes??
Ez most komoly? Ha
Eddig nagyon szépen
Ez hogyan lenne célszerű?
Nagy vonalakban azt mondanám,
Ohhh Amikor írtad már előtte
így néz ki a kód:
tessék ez után hogyan tovább??
While os dolognak kéne szerintem...
Most már csak annyikéne ogy végig mennyen a poziciókon azt hogy lehetne??
Utólag vettem észre, hogy
Ehhez már csak az aknák számolását kell hozzácsapni.
(Lövésem sincs C#-hez, úgyhogy a fenti valószínűleg tartalmaz pár szintaktikai hibát.)
Eddig meg vagyok de azért
Csak továbbit nem tudom sajnos:(((
hogy tudom whilel az üres mezötől végig páztázni azokat a részeket ahol üres és addig amíg már nincs üres mező??
Bocs, de most indokolt volna
Lépjünk egy lépést vissza az alapokhoz: rekurziót ismered?
vagy is önmagát kéne
Az ures fügvénynek.
Pontosan. Úgy ahogy a 21.
"Kell bele egy kis jelölés –
A 21. hozzászólásbeli kód 09.
Hát köszönöm sikerült:)
C16
A képed alapján fiatalabbnak
kutya
Igen.
Igazad van