- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen notebookot vegyek?
- Apple asztali gépek
- Vezetékes FEJhallgatók
- 5.1, 7.1 és gamer fejhallgatók
- CPU léghűtés kibeszélő
- Karnyújtásnyira került a százmilliomodik PlayStation 5 leszállítása
- Milyen egeret válasszak?
- Milyen asztali médialejátszót?
- Hobby elektronika
Új hozzászólás Aktív témák
-
andriscs
aktív tag
Hi!
Kicsit átírtam a kódot, hogy világosabb legyen, tettem bele megjegyzéseket. Természtesen értem, ogy mit csinála kód, a látszólagos kuszasága ellenére eléggé szimpla kód, csak sokat ismétlődik, apróbb változásokkal. Szóval a koncepció az, hogy minden kattintás után a függvény végigfut a tömbelemeken, ls megvizsgálja, hogy van-e valamelyik irányban 4 egyforma jel. A lényeg (tehát a keresés) mindenhol ugyanaz, csak az irány változik, szóval lényegében 8x fut le ugyanaz a kód, nagyon minimális eltéréssel. Ami a for ciklusok feltételeit illeti, az azért annyira bonyolult, mert ugye nem léphetek túl a tömb határain, tehát pl. az 1,1 elemtől nem tudok 4-et balra menni, mert az már kilépne a tömbből. Tehát biztonsági intézkedések miatt van a hosszfigyelés. Ha még valami nem tiszta, akkor magyarázok, de itt az új kód (ez már csak max. 4 egyforma elemet talál):
public boolean searchEngine() //need to check
{
for(col=0;col<size;col++) //oszlopokon lépked
{
for(row=0;row<size;row++) //sorokon lépked
{
for(int count=1;row+count<game.length && count<4;count++) //soron jobbra
{ //ameddig nem éri
if (game[row+count][col]==(game[row][col])) //el a tömb szélét v. 4 jelet
{
clone1++; //ha van egyforma, növeli
if (clone1==3) return true; //min. 3 kell, hogy összesen 4 legyen
}
else clone1=0; //ha nincs egyforma, nullázza a számlálót
}
for(int count=1;row-count>-1 && count<4;count++){ //elemtől balra megy
if (game[row-count][col]==(game[row][col])) //stb...
{
clone2++;
if (clone2==3) return true;
}
else clone2=0;
}
for(int count=1;col+count<game.length && count<4;count++)
{
if (game[row][col+count]==(game[row][col]))
{
clone3++;
if (clone3==3) return true;
}
else clone3=0;
}
for(int count=1;col-count>-1 && count<4;count++)
{
if (game[row][col-count]==(game[row][col])) {
clone4++;
if (clone4==3) return true;}
else clone4=0;
}
for(int count=1;(row+count<game.length) && (col+count<game.length) && count<4;count++)
{
if (game[row+count][col+count]==(game[row][col]))
{
clone5++;
if (clone5==3) return true;}
else clone5=0;
}
for(int count=1;(row-count>-1) && (col-count>-1) && count<4;count++)
{
if (game[row-count][col-count]==(game[row][col])) {
clone6++;
if (clone6==3) return true;}
else clone6=0;
}
for(int count=1;(row+count<game.length)&& (col-count>-1) && count<4;count++)
{
if (game[row+count][col-count]==(game[row][col]))
{
clone7++;
if (clone7==3) return true;}
else clone7=0;
}
for(int count=1;(row-count>-1) && (col+count<game.length) && count<4;count++)
{
if (game[row-count][col+count]==(game[row][col]))
{
clone8++;
if (clone8==3) return true;}
else clone8=0;
}
}
}
return false;
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Proxmox VE
- A Huawei február 26-án globálisan is bemutatja a Mate 80 Prót
- Okos Otthon / Smart Home
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Belmont ostora újra csattan: bemutatkozott a legújabb Castlevania
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen notebookot vegyek?
- Az Apple állítólag tovább halasztja a Gemini segítette Siri bevezetését
- Építő/felújító topik
- Autós topik látogatók beszélgetős, offolós topikja
- További aktív témák...
- X1 Carbon 10th 14" FHD+ IPS i7-1265U 16GB 256GB NVMe magyar vbill ujjolv IR kam gar
- Dobozos, függetelen Redmi note 13 pro 5G telefon kifpgástalan állapotban!
- Workstation 4K ERŐMŰ Lenovo P1 Gen3 ( I7 10850H 32Gb 1 Tb) Tervező/vágó/gamer - Nvidia 4Gb!
- PRÉMIUM RGB GAMER PC Ryzen 5 3600XT + AORUS RX 6750 XT 12GB + Seasonic Gold
- Meta Quest 2 128GB Full Extra csomag (Elite Strap akkuval és tok, Kiwi grip, Fit Pack)
- Lenovo ThinkPad X1 Yoga G6 (6th Gen) - i7-1185G7, 32GB, 1TB SSD, 4K multitouch + TOLL (ELKELT)
- Logitech G635 fejhallgató / 12 hó működési garancia
- Sandisk Portable SSD 2TB!
- Apple iPhone 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- Beszámítás! Lenovo Legion 5 15ACG6 165Hz Gamer notebook -R7 5800H 32GB DDR4 1TB SSD RTX 3070 8GB W11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


