monoscope Mesaj tarihi: Aralık 9, 2012 Paylaş Mesaj tarihi: Aralık 9, 2012 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ş Daha fazla paylaşım seçeneği…
reyou Mesaj tarihi: Aralık 9, 2012 Paylaş Mesaj tarihi: Aralık 9, 2012 bence random olarak 78 karti array e sirala daha sonra .pop() fonksyonu ile cagirmaya basla pop() fonksyonu zaten en tepedeki elemani alir ve array 1 kuculur dinamik olarak. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Kojiroh Mesaj tarihi: Aralık 9, 2012 Paylaş Mesaj tarihi: Aralık 9, 2012 Array'i önce bunla shuffle edip ek bi değişkene ata, sonra atıyorum getNextCard() deyince kopya array'in ilk elemanını pop'la. http://dzone.com/snippets/array-shuffle-javascript Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Aralık 9, 2012 Paylaş Mesaj tarihi: Aralık 9, 2012 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ş Daha fazla paylaşım seçeneği…
geezus Mesaj tarihi: Aralık 9, 2012 Paylaş Mesaj tarihi: Aralık 9, 2012 arr = [item1, item2, item3, item4] arr.sort(function(item) { return Math.floor(Math.random() * 10) % 3 - 1; }); // get arr.pop() Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar