Aşağıdaki kodla iki noktanın komşu nokta olma durumunu kontrol edebilirsin. Bu kontroller her ikili nokta için ayrı ayrı uygulanarak tüm noktaların komşuluğu kontrol edilmiş olunur.
if(Ax == Bx && Ay == By) {
printf("A ve B noktaları aynı\n");
}
else {
if(Ax == Bx || Ax == Bx-1 || Ax == Bx+1)
if(Ay == By || Ay == By-1 || Ay == By+1)
printf("A ve B komşu\n");
}
bu kod sadce sağ ve sol uyumunu yapıyor. Kodu yazabildim sonunda
İlerde belki birisi gelir konuyu okursa diye ürettiğim çözüm;
void komsuGuncelle(int e1, int e2, int e3){
//e1 ile e2
//e1 ile e3
//e2 ile e3 arasındaki komşuluğu kontrol etmek yeterli
if((e2 == e1-6 || e2 == e1-5 || e2 == e1 -4 || e2 == e1 -1 || e2 == e1 +1 || e2 == e1 +4 || e2 == e1+5 || e2 == e1+6) && (hastalar[1]== "1" || hastalar[2]=="1")){
//e1 ve e2 komşu
e1e2Komsu++;
}
if((e3 == e1-6 || e3 == e1-5 || e3 == e1 -4 || e3 == e1 -1 || e3 == e1 +1 || e3 == e1 +4 || e3 == e1+5 || e3 == e1+6) && (hastalar[1]== "1" || hastalar[3]=="1")){
//e1 ve e3 komşu
e1e3Komsu++;
}
if((e3 == e2-6 || e3 == e2-5 || e3 == e2 -4 || e3 == e2 -1 || e3 == e2 +1 || e3 == e2 +4 || e3 == e2+5 || e3 == e2+6) && (hastalar[2]== "1" || hastalar[3]=="1")){
//e2 ve e3 komşu
e2e3Komsu++;
}
}