PHP Dersleri 27: PHP ile SOS Oyunu Yapımı
01.12.2012-18:32 Tarihinde Eklendi.
www.seyfettinkahveci.com
Oy Sayısı: 16006026Toplam Puan: 66760 / Yorum Sayısı: 412006026 adet.
Merhaba arkadaşlar sizlere bu yazımda SOS oyunu bir benzeri(satırda veya sutünda aynı değerden olması durumda kazanılan) oyun yapımını anlatacağım. Bu oyunda yaptığımız önceki işlemleri hafızada tutmak için session kullandım siz isterseniz cookie v.b. kullanabilirsiniz. Şimdi aşağıdaki kodları ve açıklamalarını dikkatli bir şekilde inceleyelim.
<?php
session_start();//sessionlar açılıyor
$Veriler=array("S","E");//veriler adında bir dizi tanımlayıp 0. elemanı s 1. elemanı e olması sağlanıyor
if(isset($_GET['temizle'])){//temizle verisi geldi ise
session_unset();//sessionu temizle
}//temizle versi gelmedi ise
if(isset($_GET['sat']) and isset($_GET['sat'])){//sat ve sut geldi ise
$Deger=$Veriler[rand(0,(count($Veriler)-1))];//randomize olarak veriler dizisindeki elemanlarını değer degişkenine koy
$_SESSION['tablo'][$_GET['sat']][$_GET['sut']]=$Deger;//belirtilen değerlere deger değişkenindeki veri aktarılıyor
$SutDeger=0;//sutdeger e ilk degeri veriliyor
$SatDeger=0;//satdeger e ilk degeri veriliyor
for($sat=0;$sat<=10;$sat++){//satır kontrolu yapılacak aynı sutunda ve sutnda 3den fazla olunca oyun bitecek
if($_SESSION['tablo'][$sat][$_GET['sut']]==$Deger){//aynı sutunda veri varsa
$SutDeger++;//sutun değer 1 arttırılıyor
}
if($_SESSION['tablo'][$_GET['sat']][$sat]==$Deger){//aynı satırda veri varsa
$SatDeger++;//satır değer 1 arttırılıyor
}
}//satır kontrolu sonu
if($SatDeger>=3 or $SutDeger>=3){//eğer aynı satırdave sutunda 3den fazla aynı değer varsa
session_unset();//sessionları temizle
header("location:index.php");//sayfayı index.phpye yönlendir
}//3den fazla değer varsa sonu
}
if(!isset($_GET['sat'])){//gelen veri yoksa
for( $k=0;$k<=10;$k++){//dizinin ilk boyutu için döngü açtık
for( $l=0;$l<=10;$l++){//dizinin ikinci boyutu için döngü açtık
$tablo[$k][$l]=1;//ikiboyutlu dizinin içine 1 atanıyor
} //dizinin ikinci boyutu için döngü açtık
} //dizinin ilk boyutu için döngü açtık
$_SESSION['tablo']=$tablo;//sessiona verileri unutmaması için tablo dizisi atanıyor
}//gelen veri yoksa sonu
$tablo=$_SESSION['tablo'];//sessiondaki bilşgi tabloya aktarılıyor tablonun özelliği dizi oluyor
echo "<table border='2'>";
for($sat=0;$sat<=10;$sat++){//tabloyu ekrana yazdırmak için dizinin ilk boyutunu belirleyecek döngü açılıyor
echo "<tr>";//satır açılıyor
for($sut=0;$sut<=10;$sut++){//tabloyu ekrana yazdırmak için dizinin ikinci boyutunu belirleyecek döngü açılıyor
if($tablo[$sat][$sut]==1){//tablodaki satır ve sutundaki veriler 1 ise aşağıdakileri yap
echo "<td><a href='?sat=$sat&sut=$sut'>Tıkla</a></td>";//link koyuluyor
}//tablodaki veriler 1 ise sonu
else{//tablodaki satır ve sutundaki veriler 2 ise aşağıdakileri yap
echo "<td>".$tablo[$sat][$sut]."</td>";//tablodaki veriyi koy
}//tablodaki veriler 2 ise sonu
}//tabloyu ekrana yazdırmak için dizinin ikinci boyutunu belirleyecek döngü kapatılıyor
echo "</tr>";//satır kapatılıyor
}//tabloyu ekrana yazdırmak için dizinin ilk boyutunu belirleyecek döngü kapatılıyor
echo "</table>";
echo "<a href='?temizle=1'>temizle</a>";//ekrana temizle butonu koy
?>
Kodların açıklamalarında her bir kodun ne işe yaradığını anlattım fakat anlamadığınız bir yer veya karşılaştığınız problem varsa yorum ekle bölümünden yazın en kısa sürede cevaplamaya çalışırım.İyi çalışmalar.
Seyfettin KAHVECİ
Balıkesir Üniversitesi
NEF-BOTE
| Uzun süredir yorumlara cevap veremediğim için sistem yeni yorumlara kapatılmıştır. Anlayışınız için teşekkürler. |
| ||||||||

