İlk if() yılan ile yemek birbirine değip değmediğini kontrol ediyor. Değiyor ise yılanı uzatıp (?) yemeği tekrar canlandırıyor. (Yılanın değdiği yemeği siliyor)
İlk for() sanırım yılanın bedeni ile ilgili, fakat anlamadım.
İkinci if() anladığım kadarıyla yılan uzadığı zaman çalışıyor, yılanın bedenini X ve Y'ye göre düzenliyor. Yâni uzatıyor.
İlk if() yılan ile yemek birbirine değip değmediğini kontrol ediyor. Değiyor ise yılanı uzatıp (?) yemeği tekrar canlandırıyor. (Yılanın değdiği yemeği siliyor)
İlk for() sanırım yılanın bedeni ile ilgili, fakat anlamadım.
İkinci if() anladığım kadarıyla yılan uzadığı zaman çalışıyor, yılanın bedenini X ve Y'ye göre düzenliyor. Yâni uzatıyor.
Sanırsam Array ile alakalı. Array'daki bir şeyleri dolduruyor yahut Array'a bir şey ekliyor.
Ya da Array içindeki bir şeyi (yılanın bedeni oluyor bu) blok büyüklüğüne göre düzenliyor.
snakeBody 2 boyutlu bir array. Kodu yazan eleman yılanın koordinatlarını yani x ve y değerlerini array olarak tutmuş.
JavaScript:
const snakeBody = [
[1, 2],
[2, 2],
[1, 3]
]
Örneğin yukarıdaki snakeBody değişkeni 2 boyutlu bir array. snakeBody[0] değeri [1, 2] değerine karşılık gelir. Buda bir yılanın parçasıdır.
snakeBody[1][0] dersen 2 değerini elde edersin ki bu aslında yılanın 1. parçasının x koordinatıdır. Benzer şekilde; snakeBody[2][1] ile de 3 değerini elde edersin.
Temel düzey programlama bilgisi.
Ben olsam x ve y değerine sahip bir obje olarak tutmayı tercih ederdim.
snakeBody 2 boyutlu bir array. Kodu yazan eleman yılanın koordinatlarını yani x ve y değerlerini array olarak tutmuş.
JavaScript:
const snakeBody = [
[1, 2],
[2, 2],
[1, 3]
]
Örneğin yukarıdaki snakeBody değişkeni 2 boyutlu bir array. snakeBody[0] değeri [1, 2] değerine karşılık gelir. Buda bir yılanın parçasıdır.
snakeBody[1][0] dersen 2 değerini elde edersin ki bu aslında yılanın 1. parçasının x koordinatıdır. Benzer şekilde; snakeBody[2][1] ile de 3 değerini elde edersin.
Temel düzey programlama bilgisi.
Ben olsam x ve y değerine sahip bir obje olarak tutmayı tercih ederdim.
Hocam, neredeyse anladım gibi, fakat son olarak şu 2 şeyin çalışma mantığını da söyleyebilir misiniz?
JavaScript:
for(let i = snakeBody.length-1; i > 0; i--){
snakeBody[i] = snakeBody[i-1]
}
if(snakeBody.length){
snakeBody[0] = [snakeX, snakeY]
}
Benim anladığım altda olan if sanırım yılanın başının bi gerisinde olan kuyruğun başlangıcı, sonra yukarıda ki for'da da bu kuyruğa bir şey yapıyoruz, fakat tam olarak ne yaptığını çözemedim.
Hocam, neredeyse anladım gibi, fakat son olarak şu 2 şeyin çalışma mantığını da söyleyebilir misiniz?
JavaScript:
for(let i = snakeBody.length-1; i > 0; i--){
snakeBody[i] = snakeBody[i-1]
}
if(snakeBody.length){
snakeBody[0] = [snakeX, snakeY]
}
Benim anladığım altda olan if sanırım yılanın başının bi gerisinde olan kuyruğun başlangıcı, sonra yukarıda ki for'da da bu kuyruğa bir şey yapıyoruz, fakat tam olarak ne yaptığını çözemedim.
For loop da yılanın parçalarının koordinatları değiştiriyor. Şöyle düşün, 5. Parçanın yeni konumu aslında 4. Parçanın eski konumudur. Aynı şekilde 4. Parçada 3. Parçanın eski konumudur. Bu for loop da bunu sağlıyor.
Attaki if ile yılanın daha parçası, boyu diyeyim daha doğru olsun. Boyu daha yokken ilk koordinat noktasını belirliyor. Aslında o if yılanın başının ilk konumudur. Yılanın parçaları bir Array de tutuluyor, bu if ile şunu kontrol ediyor, Array boş ise ilk elemana sabit bir noktayı atıyor.