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

Javascript Arrayden Random Eleman Almak ve Silmek


monoscope

Öne çıkan mesajlar

Kısaca yapmak istediğim şey 78 tane kartı tek tek çağırıldıkça return etmek ama hiçbir zaman return edilen eleman aynı olmıycak yani kısaca 78 dive 78 tane kartı atayacağım random olarak. Kod çok acemice olabilir bu şekilde yapmaya çalıştığımda kod çalışıyor fakat aynı elemanlar farklı divlere atanıyor.

card_array ve card_array_copy 78 lik arrayler olarak varsayalım


function giveRandom(last) {

if(last == 1) {

random_card = 0;

}else{

random_card = $.randomBetween(0,last);

}

card_name = card_array[random_card];
card_number = jQuery.inArray(card_name,card_array_copy);

if(card_number == -1) {

alert(card_name);
}


card_array.splice(random_card,1);
return card_number + 1;

}
Link to comment
Sosyal ağlarda paylaş

Yazilanlardan farkli bir sey demeyecegim ben de. Ama yazilanlari anlamak icin oturup dusundum resmen... Boyle mi anlatilir hocam bu?

Bir deck yaratman lazim, array olur illaki. 78 tane kart var icinde. Bunlari yaratacaksin array'de ilk olarak. Zaten standart.

Shuffle fonksiyonun var, desteyi random bir yerden ikiye bolup, random olarak a'dan ya da b'den alip son desteye koyacaksin. Eger birisindeki kartlar biterse, digerindeki kartlarin hepsini hedef desteye ekleyeceksin. Karistirmis oluyorsun. Bunu her oyundan once 3 5 defa yapiyorsun zaten.
Alternatif olarak 78'e kadar random iki sayi bulup (kart index'leri) bu iki index'teki kartlarin yerlerini degistirebilirsin. Bu durumda 100 defa falan yapinca guzel karismis olur.

pop fonksiyonun var. Karsimis destenin en ustundeki karti veriyor. Shuffle'dan sonra en ustteki kart random gelmis oluyor haliyle.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...