Bir çoğumuzun bildiği bir oyundur. Ellerimizi kağıt, makas, taş şekline sokarak bir birimize karşı üstünlük sağlamaya çalışırız. Oyunu kaybeden oyunun başındaki belirlenen cezayı çekmek zorunda kalır.
Şimdi oyunun kuralı biraz açıklayalım.
Kağıt Taşa karşı üstündür.
Taş Makas karşı üstündür.
Makasta taşa karşı üstündür.
Şimdi bu derecelendirmeden yola çıkarak javascript aşağıdaki kağıt, makas, taş oyununu hazırladım. Kodları inceleyebilirsiniz.
Oyunun çalışmasını biraz açıklayayım. Kağıt, makas, taş resimlerinden birine tıkladığında; aynı zamanda bilgisayar da bir seçim yapar. Yapılan seçim yukarıdaki şartlara göre değerlendirilir. Sonuç olarak kazanan belirlenmiş olunur. Tekrar resimlere tıklandığında oyun yeniden başlamış olur.
Not: Aşağıda paylaşılan resimleri de uygulama klasörüne eklemeniz gerekmektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
<!doctype html> <html> <head> <title>KAĞIT, TAŞ, MAKAS OYUNU</title> <meta charset="utf-8"> <style> body{ background: #e74c3c; } #liste img{ padding:5px; border:1px #232333 solid; } #sonuc{ float:left; width: 260px; height: 260px; font-size:2em; padding:20px; background: #f1c40f; } #pc-sonuc{ float:left; } </style> </head> <body> <div id="liste"> <img src="kagit.png" id="kagit" width="300" height="300" data-id="0"> <img src="makas.png" id="makas" width="300" height="300" data-id="1"> <img src="tas.png" id="tas" width="300" height="300" data-id="2"> </div> <div id="pc-sonuc"> <img src="" id="pc-secim" width="300" height="300" alt="pc seçimi"> </div> <div id="sonuc"> </div> <script> var liste=["kagit.png","makas.png","tas.png"]; var kagit=document.getElementById("kagit"); var makas=document.getElementById("makas"); var tas=document.getElementById("tas"); var pcSecim=document.getElementById("pc-secim"); var sonucYazdir=document.getElementById("sonuc"); kagit.onclick=secimYap; makas.onclick=secimYap; tas.onclick=secimYap; function secimYap(){ var pc= RasgeleKagit(); /*dizi sıralamasını kullanmak daha mantıklıydı fakat yukarıdaki resimlerin sıralamsı değişince hata verecektir.*/ /*bu karşılaştırmada da rsimlerin isimlerine dikkat etmek gerekiyor.*/ var secim= this.dataset.id; if(pc==0 && secim==0) { sonuc="ikinizde aynı seçimi yaptınız"; } else if(pc==0 && secim==1) { sonuc="Kazandın, makas kağıdı keser"; } else if(pc==0 && secim==2) { sonuc="Kaybettin, kağıt taşı sarar"; } else if(pc==1 && secim==0) { sonuc="Kaybettin, makas kağıdı keser"; } else if(pc==1 && secim==1) { sonuc="ikinizde aynı seçimi yaptınız"; } else if(pc==1 && secim==2) { sonuc="Kazandın, Taş makası kırar"; } else if(pc==2 && secim==0) { sonuc="Kazandın, kağıt taşı sarar"; } else if(pc==2 && secim==1) { sonuc="Kaybettin, Taş makası kırar"; } else if(pc==2 && secim==2) { sonuc="ikinizde aynı seçimi yaptınız"; } sonucYazdir.innerHTML=sonuc; } function RasgeleKagit(){ var sayi= Math.round(Math.random()*2); pcSecim.src=liste[sayi]; return sayi; } </script> </body> </html> |
İkinci Not: HTML img etiketini kullanmayı bilmeyenler boşuna kodları kopyalamasın, zaten uygulamayı çalıştırmayı başaramayacaktır.
Uygulamada kullanılan resimler
hafif de olsa üstüne ekledim.
buyrun =
KAĞIT, TAŞ, MAKAS
body{
text-align: center;
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
#liste img{
padding:5px;
border:1px #232333 solid;
width: 50px;
height:50px;
margin-left: 10px;
}
#liste img:hover{
padding:5px;
border:1px #232333 solid;
width: 50px;
height:50px;
margin-left: 10px;
background-color: lightgray;
}
#sonuc{
text-align: center;
width: 150px;
height: 150px;
font-size:2em;
padding:20px;
border:1px #232333 solid;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
#pc-sonuc{
font-size: 50px;
text-align: center;
}
VS
var liste=[“https://cdn.glitch.com/84a48414-c146-4849-8541-bded6e94ec87%2F9e0df0fe-f98a-4548-8522-c96fbf16d094.image.png?v=1622219915333″,”https://cdn.glitch.com/84a48414-c146-4849-8541-bded6e94ec87%2F111-1114370_rock-paper-scissors-rock-paper-scissors-clipart.png?v=1622219825533″,”https://cdn.glitch.com/84a48414-c146-4849-8541-bded6e94ec87%2F5ef32e76-014a-4ddf-802d-f9b106f3d6aa_cc1936c0-fd31-4813-ad94-7f3bb3469683.image.png?v=1622219811442”];
var kagit=document.getElementById(“kagit”);
var makas=document.getElementById(“makas”);
var tas=document.getElementById(“tas”);
var pcSecim=document.getElementById(“pc-secim”);
var oSecim=document.getElementById(“o-secim”);
var sonucYazdir=document.getElementById(“sonuc”);
var tur=0;
var pc=0;
var oyuncu=0;
kagit.onclick=secimYap;
makas.onclick=secimYap;
tas.onclick=secimYap;
function secimYap(){
var pc= RasgeleKagit();
var secim= this.dataset.id;
if(pc==0 && secim==0)
{sonuc=”Sonuç : Berabere”;
oSecim.src=liste[0];
setTimeout(function(){
console.log(‘▀▀▀▀【S̳̿͟͞o̳̿͟͞n̳̿͟͞u̳̿͟͞ç̳̳̿̿͟͟͞͞l̳̿͟͞a̳̿͟͞r̳̿͟͞】▀▀▀▀’);
console.log(‘Berabere sonuçlandı’);
console.warn(‘Oyuncu : Kağıt’);
console.warn(‘Bilgisayar : Kağıt’);
console.error(‘Site veriyi kaydedemedi!’);}, 4000);
}
else if(pc==0 && secim==1)
{
sonuc=”Sonuç : Kazandın”;
oSecim.src=liste[1];
setTimeout(function(){
console.log(‘▀▀▀▀【S̳̿͟͞o̳̿͟͞n̳̿͟͞u̳̿͟͞ç̳̳̿̿͟͟͞͞l̳̿͟͞a̳̿͟͞r̳̿͟͞】▀▀▀▀’);
console.log(‘Galibiyetle sonuçlandı’);
console.warn(‘Oyuncu : Makas’);
console.warn(‘Bilgisayar : Kağıt’);
console.error(‘Site veriyi kaydedemedi!’);}, 4000);
}
else if(pc==0 && secim==2)
{
oSecim.src=liste[2];
sonuc=”Kaybettin, kağıt taşı sarar”;
}
else if(pc==1 && secim==0)
{
sonuc=”Kaybettin, makas kağıdı keser”;
oSecim.src=liste[0];
}
else if(pc==1 && secim==1)
{
oSecim.src=liste[1];
sonuc=”Sonuç : Berabere”;
setTimeout(function(){
console.log(‘▀▀▀▀【S̳̿͟͞o̳̿͟͞n̳̿͟͞u̳̿͟͞ç̳̳̿̿͟͟͞͞l̳̿͟͞a̳̿͟͞r̳̿͟͞】▀▀▀▀’);
console.log(‘Beraberlikle sonuçlandı’);
console.warn(‘Oyuncu : Makas’);
console.warn(‘Bilgisayar : Makas’);
console.error(‘Site veriyi kaydedemedi!’);}, 4000);
}
else if(pc==1 && secim==2)
{
oSecim.src=liste[2];
sonuc=”Kazandın, Taş makası kırar”;
}
else if(pc==2 && secim==0)
{
oSecim.src=liste[0];
sonuc=”Kazandın, kağıt taşı sarar”;
}
else if(pc==2 && secim==1)
{
sonuc=”Kaybettin, Taş makası kırar”;
}
else if(pc==2 && secim==2)
{
oSecim.src=liste[2];
sonuc=”Sonuç : Berabere”;
setTimeout(function(){
console.log(‘▀▀▀▀【S̳̿͟͞o̳̿͟͞n̳̿͟͞u̳̿͟͞ç̳̳̿̿͟͟͞͞l̳̿͟͞a̳̿͟͞r̳̿͟͞】▀▀▀▀’);
console.log(‘Beraberlikle sonuçlandı’);
console.warn(‘Oyuncu : Taş’);
console.warn(‘Bilgisayar : Taş’);
console.error(‘Site veriyi kaydedemedi!’);}, 4000);
}
sonucYazdir.innerHTML=sonuc;
}
function RasgeleKagit(){
var sayi= Math.round(Math.random()*2);
pcSecim.src=liste[sayi];
return sayi;
}
Ben Bunu Bir Siteye Aktardım ve Arkaplan Değiştirme Komutu Ekledim
taskagitmakas.pianodostu.repl.co
Güzel olmuş eline sağlık. İlgili arkadaşlar bu sayfayı da inceleyebilirler. http://www.cihanyamaneren.com/makale/oyun-yapimi
[…] 4-) Kağıt Makas Taş Oyunu Yapımı […]
[…] Kağıt, Makas, Taş Oyunu […]