Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

jQuery collision kafasında birşeyler


monoscope

Öne çıkan mesajlar

http://i48.tinypic.com/bfi8aa.png

yapmak istediğim şey şu. yukarıda gördüğünüz büyük olan borderlı kareler her tıklamada dönme kabiliyetine sahipler. İçlerinde olan küçük kareler ise 2 parçalı bir yapbozun 1 parçası. Şimdi sistem bu büyük kareler döndükçe küçük karelerin diğer eşleriyle yan yana gelip gelmediğine bakacak. Yani 1A ve 1B, 2A ve 2B gibi. çok düşündüm ama bir türlü mantığa oturtamadım. fikir vermesi amacıyla yardımcı olursanız sevinirim
Link to comment
Sosyal ağlarda paylaş

Dönmeden kastın, 90 derecelik dönme di mi, kutular yer değiştiriyo yani. Mesela
4A 1A
3A 5A
saat yönünde döndü diyelim, aşağıdaki hali alıyo
3A 4A
5A 1A

Eğer öyleyse, hiç optimizasyon olmadan en basit yöntem şu, her dönüşte:
- Resimdeki görünüşü baz alarak tüm değerleri 4x4 boyutunda bi matrise at
- Matrisin her elemanı için for(i: satır, j: sütun)
+ (i,j) kutusunun rengini al
+ (i,j+1), (i+1,j+1) ve (i+1,j)'nin renklerine bak

Optimizasyonuna da bakalım, belki matematiksel bi formül falan çıkar

Edit: Her büyük kutuda unique renkler olduğunu farzedersek, sadece üstteki 2 kutu için çalıştırman yetiyo bu arada bunu.
Link to comment
Sosyal ağlarda paylaş

Sanırım söylemeyi unuttum renkler sadece temsiliydi, renklerin yerinde resimlerin parçaları olucak. Dediğin şekilde matrislere resimlerin parça idlerini vererek ve sağ sol üst alt şeklinde kontrol yaparsam olur gibi.

Çok mu basite indirgeyerek sordum acaba diye düşündüm 40x40 lık bir durum olucak. Gerçi aynı mantık orda da geçerli.

Biraz uğraşayım bakayım. Teşekkürler
Link to comment
Sosyal ağlarda paylaş

Yani aslında sorunun çözümü daha farklı bi yöntemde olabilir, anlık hesaplama yapmak yerine sabit değerlerden gidilebilir örneğin, eğer problem buna uygunsa.

Yoksa benim dediğim yöntem saat yönünde spiral bi hareketle içten dışarı giderek kontrol yapmak içindi aslında. Ama bu da çok ağır bi algoritma gerektiriyo, her tam spiralde "acaba bu seferki rotasyonumda hiç bu renkten bulabildim mi" gibi bi soru sorman gerekiyo ki ölme eşşeğim ölme.

Bence sen asıl yapmak istediğini söyle, ondan gidelim :P

Mesela eğer bu bi puzzle oyunuysa ve kutular sabitse (büyük kutuların içindeki küçük kutu sayısı falan), oyun başlarken oyun alanını olması gereken değerlerle ilklersin (bütün büyük kutular ilk durumda 0 defa dönmüştür), her döndürülen büyük kutuda kutunun dönme sayısını 1 artırırsın ve aynı anda tüm büyük kutuların döndürülme sayısı için MOD 4 == 0 mı diye bakarsın. Eğer hepsi bu şartı sağlıyosa olmuştur falan.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...