Şimdi Ara

JavaScript Basit Zar Yapımı (Yardım)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
8
Cevap
0
Favori
737
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Amaç;
    Her butona basışta 2 tane rastgele sayı verip, aynı sayılar geldiğinde bildirim verip döngüyü durdurmak.

    *6 olarak tanıttım sayıyı ama 0-6 olarak görüyor, arada 0 sayısı da geliyor, onu nasıl engellerim.Okulda denediğimde her zar atmaya else bildirimini veriyordu ama şuan evden deniyorum hiç bir şey çıkmıyor.Yardımcı olur musunuz?

    <html><head> 
    <script type="text/javascript">

    function sayisal()
    {
    document.write.getElementById("sayi1").innerHTML=Math.round(Math.random()*6);
    document.write.getElementById("sayi1").innerHTML=Math.round(Math.random()*6);
    }
    if (sayi1==sayi2)
    {
    alert("çift");
    }
    else
    {
    alert("çift değil");
    }
    }
    </script>
    </head>
    <body>


    <input type="button" onclick="sayisal()" value="zar at" />
    <p id="sayi1"></p>
    <p id="sayi2"></p>
    </body></html>

    11. sınıf :(







  • Hiç bir işlem yapmamasının sebebi yanlış kod yazmış olman.
    JavaScriptte document.write.getElementById diye kod yok.
    Ayrıca sayisal fonkisyonunu oluşturduktan sonra rastgele rakam verip fonksiyonu bitirmişsin.
    Rastgele rakamları belirledikten sonra if zaten çalışmayacak, yani kontrol edemeyeceksin aynı olup olmadığını.

    Rastgele rakam üretmenin 0 vermesinin sebebi ise,

    Kullandığın,
    Math.random(), 0 ve 1 arasında ondalık sayılar verir, 0 verebilir ama 1 vermez. Yani, 0.471283843 gibi.

    Math.random() * sayi, 0 ve sayi arasında ondalık sayılar verir, 0 verebilir ama sayi değerini vermez. Yani, sayi 6'ya eşitse 4.471283843 gibi.

    Yuvarlama için ise Math.round yerine, Math.floor kullan,

    Sayımız 4.671283836 olsun.

    Math.round(4.671283836) yaptığımızda bize vereceği değer 5 olacak. Sayı 4.471283836 olsaydı vereceği değer 4 olacaktı.

    Math.floor(4.671283836) yaptığımızda bize vereceği değer 4 olacak. Sayı 4.471283836 bile olsa yine 4 olacak.
    Çünkü, Math.floor() gelen sayının başındaki tam sayı değerini verir.

    Bizim istediğimiz değerlerde 0-6 arasında olacak yani 0 dan 5.999999999'a kadar.
    Math.floor kullanarak elde edeceğimiz tam sayı değerleride 0,1,2,3,4,5 olacak.
    Bu değerleride 1 arttırarak 1,2,3,4,5,6 yani tam istediğimiz sonucu elde etmiş olucaz 0 gelme olasılığıda olmayacak.

    JavaScript olarak,
     
    Math.floor(Math.random() * 6) + 1;


    Ayrıca, rastgele sayı verme olayının çalıştığını varsayarsak rastgele oluşuturulan sayılar sayi1, sayi2 diye bir değişkene aktarılmadığından sürekli else sonucunu döndüreceği için "çift değil" mesajını verecek.

    Tamamen düzeltirsek şöyle birşey oluyo istediğin,
     
    <html>
    <head>
    <script type="text/javascript">
    function sayisal() {
    var sayi1 = Math.floor(Math.random() * 6) + 1;
    var sayi2 = Math.floor(Math.random() * 6) + 1;

    document.getElementById("sayi1").innerHTML=sayi1;
    document.getElementById("sayi2").innerHTML=sayi2;

    if (sayi1==sayi2) {
    alert("Sayılar eşit");
    } else {
    alert("Sayılar eşit değil");
    }
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="sayisal()" value="zar at" />
    <p id="sayi1"></p>
    <p id="sayi2"></p>
    </body>
    </html>




  • quote:

    Orijinalden alıntı: İrem-

    Hiç bir işlem yapmamasının sebebi yanlış kod yazmış olman.
    JavaScriptte document.write.getElementById diye kod yok.
    Ayrıca sayisal fonkisyonunu oluşturduktan sonra rastgele rakam verip fonksiyonu bitirmişsin.
    Rastgele rakamları belirledikten sonra if zaten çalışmayacak, yani kontrol edemeyeceksin aynı olup olmadığını.

    Rastgele rakam üretmenin 0 vermesinin sebebi ise,

    Kullandığın,
    Math.random(), 0 ve 1 arasında ondalık sayılar verir, 0 verebilir ama 1 vermez. Yani, 0.471283843 gibi.

    Math.random() * sayi, 0 ve sayi arasında ondalık sayılar verir, 0 verebilir ama sayi değerini vermez. Yani, sayi 6'ya eşitse 4.471283843 gibi.

    Yuvarlama için ise Math.round yerine, Math.floor kullan,

    Sayımız 4.671283836 olsun.

    Math.round(4.671283836) yaptığımızda bize vereceği değer 5 olacak. Sayı 4.471283836 olsaydı vereceği değer 4 olacaktı.

    Math.floor(4.671283836) yaptığımızda bize vereceği değer 4 olacak. Sayı 4.471283836 bile olsa yine 4 olacak.
    Çünkü, Math.floor() gelen sayının başındaki tam sayı değerini verir.

    Bizim istediğimiz değerlerde 0-6 arasında olacak yani 0 dan 5.999999999'a kadar.
    Math.floor kullanarak elde edeceğimiz tam sayı değerleride 0,1,2,3,4,5 olacak.
    Bu değerleride 1 arttırarak 1,2,3,4,5,6 yani tam istediğimiz sonucu elde etmiş olucaz 0 gelme olasılığıda olmayacak.

    JavaScript olarak,
     
    Math.floor(Math.random() * 6) + 1;


    Ayrıca, rastgele sayı verme olayının çalıştığını varsayarsak rastgele oluşuturulan sayılar sayi1, sayi2 diye bir değişkene aktarılmadığından sürekli else sonucunu döndüreceği için "çift değil" mesajını verecek.

    Tamamen düzeltirsek şöyle birşey oluyo istediğin,
     
    <html>
    <head>
    <script type="text/javascript">
    function sayisal() {
    var sayi1 = Math.floor(Math.random() * 6) + 1;
    var sayi2 = Math.floor(Math.random() * 6) + 1;

    document.getElementById("sayi1").innerHTML=sayi1;
    document.getElementById("sayi2").innerHTML=sayi2;

    if (sayi1==sayi2) {
    alert("Sayılar eşit");
    } else {
    alert("Sayılar eşit değil");
    }
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="sayisal()" value="zar at" />
    <p id="sayi1"></p>
    <p id="sayi2"></p>
    </body>
    </html>



    PC'de dreamweaver yok, aceleyle not defterine daldım o yüzden basit hatalar yapmışım "write."
    Fonksiyondan sonra rastgeleyi koyarak hata yapmayı yorumunu okuduktan sonra fark ettim, gerçekten manasız.
    Okulda hoca bir örnek yaptı, 2. örnek olarak bunu verdi başınada ödül koyunca heyecandan direk değiştirme falan derken, böyle çorba oldu biraz.

    Eline sağlık çok iyi oldu bu, sağ ol.


    Sınıf ortalamasına göre iyi olsam da genele bakarsak taban (tabanda fazla gelir de :) ) kademedeyim henüz.
    İleriyi de düşünürsek, web tasarım+android uygulamalar ıvır zıvır falan, hepsini c# destekliyor galiba kendimi geliştirmek istiyorum da hangi dilden başlayayım sence? Yani kolay olanı değilde, her alanı destekleyen, en çok işlevselliği ve geleceği olan bir şeye başlamak en iyisi olur.

    Ne önerirsin, hazır konuyu açmışken sorayım




  • quote:

    Orijinalden alıntı: N20

    quote:

    Orijinalden alıntı: İrem-

    Hiç bir işlem yapmamasının sebebi yanlış kod yazmış olman.
    JavaScriptte document.write.getElementById diye kod yok.
    Ayrıca sayisal fonkisyonunu oluşturduktan sonra rastgele rakam verip fonksiyonu bitirmişsin.
    Rastgele rakamları belirledikten sonra if zaten çalışmayacak, yani kontrol edemeyeceksin aynı olup olmadığını.

    Rastgele rakam üretmenin 0 vermesinin sebebi ise,

    Kullandığın,
    Math.random(), 0 ve 1 arasında ondalık sayılar verir, 0 verebilir ama 1 vermez. Yani, 0.471283843 gibi.

    Math.random() * sayi, 0 ve sayi arasında ondalık sayılar verir, 0 verebilir ama sayi değerini vermez. Yani, sayi 6'ya eşitse 4.471283843 gibi.

    Yuvarlama için ise Math.round yerine, Math.floor kullan,

    Sayımız 4.671283836 olsun.

    Math.round(4.671283836) yaptığımızda bize vereceği değer 5 olacak. Sayı 4.471283836 olsaydı vereceği değer 4 olacaktı.

    Math.floor(4.671283836) yaptığımızda bize vereceği değer 4 olacak. Sayı 4.471283836 bile olsa yine 4 olacak.
    Çünkü, Math.floor() gelen sayının başındaki tam sayı değerini verir.

    Bizim istediğimiz değerlerde 0-6 arasında olacak yani 0 dan 5.999999999'a kadar.
    Math.floor kullanarak elde edeceğimiz tam sayı değerleride 0,1,2,3,4,5 olacak.
    Bu değerleride 1 arttırarak 1,2,3,4,5,6 yani tam istediğimiz sonucu elde etmiş olucaz 0 gelme olasılığıda olmayacak.

    JavaScript olarak,
     
    Math.floor(Math.random() * 6) + 1;


    Ayrıca, rastgele sayı verme olayının çalıştığını varsayarsak rastgele oluşuturulan sayılar sayi1, sayi2 diye bir değişkene aktarılmadığından sürekli else sonucunu döndüreceği için "çift değil" mesajını verecek.

    Tamamen düzeltirsek şöyle birşey oluyo istediğin,
     
    <html>
    <head>
    <script type="text/javascript">
    function sayisal() {
    var sayi1 = Math.floor(Math.random() * 6) + 1;
    var sayi2 = Math.floor(Math.random() * 6) + 1;

    document.getElementById("sayi1").innerHTML=sayi1;
    document.getElementById("sayi2").innerHTML=sayi2;

    if (sayi1==sayi2) {
    alert("Sayılar eşit");
    } else {
    alert("Sayılar eşit değil");
    }
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="sayisal()" value="zar at" />
    <p id="sayi1"></p>
    <p id="sayi2"></p>
    </body>
    </html>



    PC'de dreamweaver yok, aceleyle not defterine daldım o yüzden basit hatalar yapmışım "write."
    Fonksiyondan sonra rastgeleyi koyarak hata yapmayı yorumunu okuduktan sonra fark ettim, gerçekten manasız.
    Okulda hoca bir örnek yaptı, 2. örnek olarak bunu verdi başınada ödül koyunca heyecandan direk değiştirme falan derken, böyle çorba oldu biraz.

    Eline sağlık çok iyi oldu bu, sağ ol.


    Sınıf ortalamasına göre iyi olsam da genele bakarsak taban (tabanda fazla gelir de :) ) kademedeyim henüz.
    İleriyi de düşünürsek, web tasarım+android uygulamalar ıvır zıvır falan, hepsini c# destekliyor galiba kendimi geliştirmek istiyorum da hangi dilden başlayayım sence? Yani kolay olanı değilde, her alanı destekleyen, en çok işlevselliği ve geleceği olan bir şeye başlamak en iyisi olur.

    Ne önerirsin, hazır konuyu açmışken sorayım

    Bence c# ogren. Muhendislik eğitimi alırsan eğer ilerde zaten zorunlu.




  • quote:

    Orijinalden alıntı: hgwxx/7

    quote:

    Orijinalden alıntı: N20

    quote:

    Orijinalden alıntı: İrem-

    Hiç bir işlem yapmamasının sebebi yanlış kod yazmış olman.
    JavaScriptte document.write.getElementById diye kod yok.
    Ayrıca sayisal fonkisyonunu oluşturduktan sonra rastgele rakam verip fonksiyonu bitirmişsin.
    Rastgele rakamları belirledikten sonra if zaten çalışmayacak, yani kontrol edemeyeceksin aynı olup olmadığını.

    Rastgele rakam üretmenin 0 vermesinin sebebi ise,

    Kullandığın,
    Math.random(), 0 ve 1 arasında ondalık sayılar verir, 0 verebilir ama 1 vermez. Yani, 0.471283843 gibi.

    Math.random() * sayi, 0 ve sayi arasında ondalık sayılar verir, 0 verebilir ama sayi değerini vermez. Yani, sayi 6'ya eşitse 4.471283843 gibi.

    Yuvarlama için ise Math.round yerine, Math.floor kullan,

    Sayımız 4.671283836 olsun.

    Math.round(4.671283836) yaptığımızda bize vereceği değer 5 olacak. Sayı 4.471283836 olsaydı vereceği değer 4 olacaktı.

    Math.floor(4.671283836) yaptığımızda bize vereceği değer 4 olacak. Sayı 4.471283836 bile olsa yine 4 olacak.
    Çünkü, Math.floor() gelen sayının başındaki tam sayı değerini verir.

    Bizim istediğimiz değerlerde 0-6 arasında olacak yani 0 dan 5.999999999'a kadar.
    Math.floor kullanarak elde edeceğimiz tam sayı değerleride 0,1,2,3,4,5 olacak.
    Bu değerleride 1 arttırarak 1,2,3,4,5,6 yani tam istediğimiz sonucu elde etmiş olucaz 0 gelme olasılığıda olmayacak.

    JavaScript olarak,
     
    Math.floor(Math.random() * 6) + 1;


    Ayrıca, rastgele sayı verme olayının çalıştığını varsayarsak rastgele oluşuturulan sayılar sayi1, sayi2 diye bir değişkene aktarılmadığından sürekli else sonucunu döndüreceği için "çift değil" mesajını verecek.

    Tamamen düzeltirsek şöyle birşey oluyo istediğin,
     
    <html>
    <head>
    <script type="text/javascript">
    function sayisal() {
    var sayi1 = Math.floor(Math.random() * 6) + 1;
    var sayi2 = Math.floor(Math.random() * 6) + 1;

    document.getElementById("sayi1").innerHTML=sayi1;
    document.getElementById("sayi2").innerHTML=sayi2;

    if (sayi1==sayi2) {
    alert("Sayılar eşit");
    } else {
    alert("Sayılar eşit değil");
    }
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="sayisal()" value="zar at" />
    <p id="sayi1"></p>
    <p id="sayi2"></p>
    </body>
    </html>



    PC'de dreamweaver yok, aceleyle not defterine daldım o yüzden basit hatalar yapmışım "write."
    Fonksiyondan sonra rastgeleyi koyarak hata yapmayı yorumunu okuduktan sonra fark ettim, gerçekten manasız.
    Okulda hoca bir örnek yaptı, 2. örnek olarak bunu verdi başınada ödül koyunca heyecandan direk değiştirme falan derken, böyle çorba oldu biraz.

    Eline sağlık çok iyi oldu bu, sağ ol.


    Sınıf ortalamasına göre iyi olsam da genele bakarsak taban (tabanda fazla gelir de :) ) kademedeyim henüz.
    İleriyi de düşünürsek, web tasarım+android uygulamalar ıvır zıvır falan, hepsini c# destekliyor galiba kendimi geliştirmek istiyorum da hangi dilden başlayayım sence? Yani kolay olanı değilde, her alanı destekleyen, en çok işlevselliği ve geleceği olan bir şeye başlamak en iyisi olur.

    Ne önerirsin, hazır konuyu açmışken sorayım

    Bence c# ogren. Muhendislik eğitimi alırsan eğer ilerde zaten zorunlu.

    Bizim hocada c# dedi, ufaktan başlayayım en iyisi
    Sağ ol hocam.




  • Web Tasarım olarak ASP'yi seçersen kullanabilirsin C#'ı, ama önermem.
    PHP kullanmak açık kaynak oluşundan dolayı daha iyi, sürekli geliştirilebilir bi dil.

    Android içinse Java ile mobil uygulamalar geliştirebilirsin.
    C# ile alakası sadece birbirine benzeyen diller.
  • quote:

    Orijinalden alıntı: İrem-

    Web Tasarım olarak ASP'yi seçersen kullanabilirsin C#'ı, ama önermem.
    PHP kullanmak açık kaynak oluşundan dolayı daha iyi, sürekli geliştirilebilir bi dil.

    Android içinse Java ile mobil uygulamalar geliştirebilirsin.
    C# ile alakası sadece birbirine benzeyen diller.


    Söyledikleriniz yalnıca web tasarımı için kullanışlıdır. Aksine C# mühendislikte çokça kullanılır. Matlab' ın temelidir. Kullandığımız windows bile c++ da yazılmıştır. TAbii kişinin kendi hedefleri neyse ona göre karar vermesi daha doğrudur.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: hgwxx/7

    quote:

    Orijinalden alıntı: İrem-

    Web Tasarım olarak ASP'yi seçersen kullanabilirsin C#'ı, ama önermem.
    PHP kullanmak açık kaynak oluşundan dolayı daha iyi, sürekli geliştirilebilir bi dil.

    Android içinse Java ile mobil uygulamalar geliştirebilirsin.
    C# ile alakası sadece birbirine benzeyen diller.


    Söyledikleriniz yalnıca web tasarımı için kullanışlıdır. Aksine C# mühendislikte çokça kullanılır. Matlab' ın temelidir. Kullandığımız windows bile c++ da yazılmıştır. TAbii kişinin kendi hedefleri neyse ona göre karar vermesi daha doğrudur.





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.