-
Fototrend

Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
emitter
#1156
üzenetére
Az aknaz lényegi része valahogy így kellene kinézzen:
for(i=0;i<max_aknak; ) //aknák véletlen elhelyezése
{
int dx, dy;
int cx, cy;
j=rand()%my; //az aknák koordinátája 0,my és 0,mx között lehet
k=rand()%mx;
if(mezo[j][k].akna==0) //ha az adott mezõn már van akna, nem rakunk oda
{
mezo[j][k].akna = 1;
i++;
for(dy = -1; dy <= 1; dy++)
{
cy = j + dy;
if (cy >= 0 && cy < my)
{
for(dx = -1; dx <= 1; dx++)
{
cx = k + dx;
if ((dy != 0 || dx != 0) &&
cx >= 0 && cx < mx)
{
mezo[cy][cx].szomsz++;
}
}
}
}
}
}
A feltárós résznél nem igazán értem, hogy akkor most miben mit számolsz, de úgy sejtem, hogy egy ilyen módosítással jó lehet:
if (mezo[x][y].mark == -1)
{
(*mezoszam)++;
} else {
mezo[x][y].mark = -1;
(*maradt)++;
}
És ez nem kell a hívás elõtt:mezo[j-1][i-1].reveal=1;
mezo[j-1][i-1].mark=-1;
mezoszam++;
A mezoszam felteszem a feltárt vagy megjelölt mezõket számolja. Vagyis az automatikus feltárásnál csak akkor kell növelni, ha nem megjelölt mezõt tárunk fel, hiszen az már egyszer meg lett számolva. Viszont ha már meg volt jelölve, akkor most töröljük a jelölést, hiszen tudjuk, hogy nincs ott akna. Emiatt azonban a maradt változót növelni kell. Amúgy ez a +1/-1 a mark esetén elég sok fejfájást okozott nekem. Mostmár nehogy átírd, de a többi helyen használt 0/1 jobb lett volna.
MOD: szöveg jó, kód rossz
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Mesterséges intelligencia topik
- Milyen házat vegyek?
- MasterDeeJay: Asus Q170M-C coffeetime mod!
- Spórolós topik
- WayteQ blog: Megérkezett az x995 androidos GPS
- Építő/felújító topik
- Milyen billentyűzetet vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Gitáros topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 Pro 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4365, 100% Akkumulátor
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
- Gamer PC-Számítógép! Csere-Beszámítás! I3 10100F / GTX 1660Ti / 16GB DDR4 / 512 Nvme SSD
- Gamer PC-Számítógép! Csere-Beszámítás! R5 8400F / RTX 5060 / 16GB DDR5 / 1TB Nvme SSD!
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest



