PHP Dersleri 27: PHP ile SOS Oyunu Yapımı
01.12.2012-18:32 Tarihinde Eklendi.
www.seyfettinkahveci.com
Oy Sayısı: 16005743Toplam Puan: 63930 / Yorum Sayısı: 412005743 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. |
|