بازی چکرز با php
سلام من برای پروژه درس یادگیری ماشین این کد را نوشتم
من اینجا با تعریف
$db خانه موجود در سطر بعد ستون بعد
$dg خانه موجود در سطر قبل ستون قبل
$dbg خانه موجود در سطر بعد ستون قبل
$dgb خانه موجود در سطر قبل ستون بعد
$d2b خانه موجود در دو سطر بعد دو ستون بعد
$d2bg خانه موجود در دو سطر بعد دو ستون قبل
را پیدا کردم
یعنی تو هرخانه که باشم میدونم اون خونه بعد و قبلش چه خبره چه مقداری دارد
اما الان با کدی که نوشتم خط 190 تا 199 نگاه کنید باعث میشه
اونایی که مقدار 2 دارن و سطر بعد و ستون بعدشون 0 هست میشه 0
و اونی که مقدارش 0 و مقدار سطر قبل و ستون قبلش 2 هست میشه 2
یه جورایی 2 را میاریم تو سطر بعد و ستون بعد قرار می دهیم
اماااااا
الان سه تا 2 این حالت را دارن
من میخوام فقط یکیش جابه جا بشه؟؟؟؟؟؟
<?php
require "fun.php";
?>
<?php
$x1=0;
$x2=0;
$x3=0;
$x4=0;
$x5=0;
$x6=0;
?>
<table cellpadding="0" cellspacing="0" class="nth_table" cellpadding="10">
<?php
for($j=1;$j<9;$j++)
{
?>
<tr>
<?php
for($i=1;$i<9;$i++)
{
?>
<td>
<?php
$data=$a['sotoon'.$i]["kh".$j];
//echo $data;
$k=1;
while($k>0)
{
$k--;
if(($i+1)>=9)
{
$db=6;
continue;
}
elseif(($j+1)>=9)
{
$db=6;
continue;
}
$db=$a['sotoon'.($i+1)]["kh".($j+1)];
//echo $db;
}
$kk=1;
while($kk>0)
{
$kk--;
if(($i-1)<=0)
{
$dg=6;
continue;
}
elseif(($j-1)<=0)
{
$dg=6;
continue;
}
$dg=$a['sotoon'.($i-1)]["kh".($j-1)];
//echo $dg;
}
$kkk=1;
while($kkk>0)
{
$kkk--;
if(($i-1)<=0)
{
$dg=6;
continue;
}
elseif(($j+1)>=9)
{
$dg=6;
continue;
}
//satr bad sotoon ghabl for red
$dbg=$a['sotoon'.($i-1)]["kh".($j+1)];
//echo $dbg;
}
$kkkk=1;
while($kkkk>0)
{
$kkkk--;
if(($i+1)>=9)
{
$dg=6;
continue;
}
elseif(($j-1)<=0)
{
$dg=6;
continue;
}
//satr ghab sotoon bad for blue
$dgb=$a['sotoon'.($i+1)]["kh".($j-1)];
//echo $dgb;
}
$z=1;
while($z>0)
{
$z--;
if(($i+2)>=9)
{
$d2b=6;
continue;
}
elseif(($j+2)>=9)
{
$d2b=6;
continue;
}
//2ta satr bad va 2ta sotoon bad
$d2b=$a['sotoon'.($i+2)]["kh".($j+2)];
//echo $d2b;
}
$zz=1;
while($zz>0)
{
$zz--;
if(($i-2)<=0)
{
$d2bg=6;
continue;
}
elseif(($j+2)>=9)
{
$d2bg=6;
continue;
}
//2ta satr bad 2ta sotoon ghabl
$d2bg=$a['sotoon'.($i-2)]["kh".($j+2)];
//echo $d2bg;
}
if($data===2)
{
$x1++;
}
elseif($data===1)
{
$x2++;
}
elseif($data===3)
{
$x3++;
}
elseif($data===4)
{
$x4++;
}
elseif($data===2 && $db===1 ||$data===2 && $dbg===1)
{
$x5++;
}
elseif($data===1 && $dgb===2 ||$data===1 && $dg===2)
{
$x6++;
}
//for red
if($data===2 && $db===0)
{
$data=0;
}
elseif($data===0 && $dg===2)
{
$data=2;
}
echo $data;
switch($data)
{
case 0:
echo '<span class="khali"></span>';
break;
case 1:
echo '<span class="fi icon-circle m_blue"></span>';
break;
case 2:
echo '<span class="fi icon-circle m_red"></span>';
break;
case 3:
echo '<span class="fi icon-circle m_ki_blue"></span>';
break;
case 4:
echo '<span class="fi icon-circle m_ki_red"></span>';
break;
case 5:
echo '<span class="por"></span>';
break;
default:
echo "";
}
//var_dump($a);
?>
</td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
<?php
echo "x1:".$x1.'</br>';
echo "x2:".$x2.'</br>';
echo "x3:".$x3.'</br>';
echo "x4:".$x4.'</br>';
echo "x5:".$x5.'</br>';
echo "x6:".$x6.'</br>';
?>
zadanred
if($data===2 && $db===1 && $d2b===0)
{
$a['sotoon'.$i]["kh".$j]=0;
$a['sotoon'.($i+1)]["kh".($j+1)]=0;
$a['sotoon'.($i+2)]["kh".($j+2)]=2;
}
سلام دوست عزیز ،
من هم مثل شما ، گاهی اوقات بازی تحت وب میسازم . در مرحله اول پیشنهاد میکنم اصلاً سعی نکنید بازی را با php بنویسید . و به جاش باید از javascript استفاده کنید چرا که بازی باید سمت client باشد و سمت سرور بازی ای که طرفدار زیاد داشته باشد (اگر بازی بزرگ باشد) برای سرور اجرا کردن فایل های php (طی call های پشت سر هم) دچار باگ میشود و همچنین سنگین . پس باید با javascript سعی کنید بازی را بنویسید.
در مرحله دوم اگر javascript را خوب بلد باشید و HTML5 و css را بخوبی تمرین کرده باشید متوانید بازی های تحت وب جذابی را بسازید. و با php میتوانید امتیاز ها را در دیتابیس ذخیره کنید یا اطلاعاتی که برای بازی نیاز هست را از دیتابیس استخراج کنید (با Ajax) و در بازی استفاده کنید.
من یک نمونه نوشتم اسم بازی Hangman هست و تنها چیزی که با php سرو کار دارد یک ajax هست که به فایل php متصل شده و کلمات را از دیتابیس اسخراج می کند. و دیتابیس بسیار کوچکی برای آن طراحی کردم که فقط یک فیلد به نام word در جدول خود دارد. این بازی میتوانست بزرگتر هم باشد (مثل اینکه کاربران داخل آن ثبت نام را انجام دهند و امتیاز آنها در دیتابیس ذخیره شده و رتبه آنها توسط php محاسبه و نتیجه از طریق json نمایش داده شود)
ولی چون فقط خواستم یک تمرین نسبتاً جذاب را بنویسم خیلی روش کار نکردم چون نخواستم آنرا به بازی ای تحت وب تبدیل کنم.
روش های متعددی برای ساخت بازی تحت وب وجو دارد از جمله (برای ساخت بازی های بزرگ و آنلاین) میتوانید از موتور های بازی سازی مثل unity و unreal engine و ... که اگر بازی بزرگ دارید که جذاب است با موتور بازی سازی بنویسید . ولی اگر نمی خواهید به این سمت بروید . همین که در حد تمرین برای خودتان مینویسید کافی است .
و در آخر هم اینکه بازی ای مثل بازی شما نیاز به فکر کردن بسیار زیاد و نوشتن الگوریتم دارد. برای جا به جایی یک ستون باید ستون قبلی را پاک کنید تا عملیات مانند انتقال به نظر برسد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .