php實(shí)現(xiàn)貪吃蛇小游戲
貪吃蛇游戲是經(jīng)典手機(jī)游戲,既簡(jiǎn)單又耐玩。通過(guò)控制蛇頭方向吃蛋,使得蛇變長(zhǎng),從而獲得積分。在諾基亞時(shí)代,風(fēng)靡整個(gè)手機(jī)界,今天我們來(lái)看看另類(lèi)的,如何使用php來(lái)實(shí)現(xiàn)貪吃蛇小游戲
廢話不多說(shuō),代碼奉上:
control.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<a href="control.php?a=up">上<a/> <?session_start(); echo $_SESSION['count'];?>分<br/>
<a href="control.php?a=left">左<a/> <a href="control.php?a=right">右<a/><br/>
<a href="control.php?a=down">下<a/>
<?
switch($_GET['a']){
case "up";
$_SESSION['con']="up";
break;
case "down":
$_SESSION['con']="down";
break;
case "left":
$_SESSION['con']="left";
break;
case "right":
$_SESSION['con']="right";
break;
}
?>
</body>
</html>
main.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-9"/>
<meta http-equiv="refresh" content="0.5"/>
</head>
<frameset rows="95,*" border="1" noresize >
<frame src="control.php" name="top"/>
<frame src="./tcs.php" name="menu"/>
</frameset>
</html>
tcs.php
<?php
session_start();
$_SESSION['ud'];
$_SESSION['lr'];
$im = imagecreatetruecolor(300,300);
$blue = imagecolorallocate($im,0,0,255);
$red = imagecolorallocate($im,255,0,0);
$c1 = imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$c1);
if(!isset($_SESSION['a'])&&!isset($_SESSION['b'])){
$_SESSION['a'] =rand(0,290);
$_SESSION['b'] =rand(0,290);
}
if(isset($_SESSION['a'])&&isset($_SESSION['b'])){
imagerectangle($im,$_SESSION['a'],$_SESSION['b'],$_SESSION['a']+10,$_SESSION['b']+10,$red);
}
if(abs(($_SESSION['lr']-$_SESSION['a']))<=5&&abs($_SESSION['ud']-$_SESSION['b'])<=5){
unset($_SESSION['a']);
unset($_SESSION['b']);
$_SESSION['count']++;
}
switch($_SESSION['con']){
case "up";
if($_SESSION['ud']>10)
$_SESSION['ud']-=10;
else
$_SESSION['ud']=0;
break;
case "down":
if($_SESSION['ud']<=280)
$_SESSION['ud']+=10;
else
$_SESSION['ud']=290;
break;
case "left":
if($_SESSION['lr']>10)
$_SESSION['lr']-=10;
else
$_SESSION['lr']=0;
break;
case "right":
if($_SESSION['lr']<=280)
$_SESSION['lr']+=10;
else
$_SESSION['lr']=290;
break;
}
for($i=0;$i<=$_SESSION['count'];$i++){
switch($_SESSION['con']){
case "up":
$_SESSION['udnext'] = $_SESSION['ud']+10*$i;
imagerectangle($im,$_SESSION['lr'],$_SESSION['udnext'],$_SESSION['lr']+10,$_SESSION['udnext']+10,$blue);
// imagerectangle($im,$_SESSION['lr'],$_SESSION['udtime'][time()-$i],$_SESSION['lr']+10,$_SESSION['udtime'][time()-$i]+10,$blue);
break;
case "down":
$_SESSION['udnext'] = $_SESSION['ud']-10*$i;
imagerectangle($im,$_SESSION['lr'],$_SESSION['udnext'],$_SESSION['lr']+10,$_SESSION['udnext']+10,$blue);
// imagerectangle($im,$_SESSION['lr'],$_SESSION['udtime'][time()+$i],$_SESSION['lr']+10,$_SESSION['udtime'][time()+$i]+10,$blue);
break;
case "left":
$_SESSION['lrnext'] = $_SESSION['lr']+10*$i;
imagerectangle($im,$_SESSION['lrnext'],$_SESSION['ud'],$_SESSION['lrnext']+10,$_SESSION['ud']+10,$blue);
// imagerectangle($im,$_SESSION['lrtime'][time()-$i],$_SESSION['ud'],$_SESSION['lrtime'][time()-$i]+10,$_SESSION['ud']+10,$blue);
break;
case "right":
$_SESSION['lrnext'] = $_SESSION['lr']-10*$i;
imagerectangle($im,$_SESSION['lrnext'],$_SESSION['ud'],$_SESSION['lrnext']+10,$_SESSION['ud']+10,$blue);
// imagerectangle($im,$_SESSION['lrtime'][time()+$i],$_SESSION['ud'],$_SESSION['lrtime'][time()+$i]+10,$_SESSION['ud']+10,$blue);
break;
}
//imagerectangle($im,$_SESSION['lr'],$_SESSION['ud'],$_SESSION['lr']+10,$_SESSION['ud']+10,$blue);
}
header("Content-Type: image/jpeg");
imagejpeg($im);
imagedestroy($im);
?>
- php實(shí)現(xiàn)的中秋博餅游戲之繪制骰子圖案功能示例
- php實(shí)現(xiàn)的網(wǎng)頁(yè)版剪刀石頭布游戲示例
- php猜單詞游戲
- php實(shí)現(xiàn)的簡(jiǎn)易掃雷游戲?qū)嵗?/a>
- PHP實(shí)現(xiàn)扎金花游戲之大小比賽的方法
- jQuery+PHP實(shí)現(xiàn)的擲色子抽獎(jiǎng)游戲?qū)嵗?/a>
- PHP使用header()輸出圖片緩存實(shí)例
- php將圖片文件轉(zhuǎn)換成二進(jìn)制輸出的方法
- php讀取圖片內(nèi)容并輸出到瀏覽器的實(shí)現(xiàn)代碼
- PHP提取數(shù)據(jù)庫(kù)內(nèi)容中的圖片地址并循環(huán)輸出
- php實(shí)現(xiàn)的中秋博餅游戲之?dāng)S骰子并輸出結(jié)果功能詳解
相關(guān)文章
php兩個(gè)多維數(shù)組組合遍歷的實(shí)例
下面小編就為大家?guī)?lái)一篇php兩個(gè)多維數(shù)組組合遍歷的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
thinkphp3.2中Lite文件替換框架入口文件或應(yīng)用入口文件的方法
這篇文章主要介紹了thinkphp3.2中Lite文件替換框架入口文件或應(yīng)用入口文件的方法,涉及ThinkPHP相關(guān)配置技巧,需要的朋友可以參考下2015-05-05
PHP下的浮點(diǎn)運(yùn)算不準(zhǔn)的解決方法
下面小編就為大家?guī)?lái)一篇PHP下的浮點(diǎn)運(yùn)算不準(zhǔn)的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
php中session_id()函數(shù)詳細(xì)介紹,會(huì)話id生成過(guò)程及session id長(zhǎng)度
這篇文章主要介紹了php中session_id()函數(shù)詳細(xì)介紹,會(huì)話id生成過(guò)程及session id長(zhǎng)度的相關(guān)資料,需要的朋友可以參考下2015-09-09
去掉destoon資訊內(nèi)容頁(yè)keywords關(guān)鍵字自帶的文章標(biāo)題的方法
這篇文章主要介紹了去掉destoon資訊內(nèi)容頁(yè)keywords關(guān)鍵字自帶的文章標(biāo)題的方法,有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08
ThinkPHP使用Smarty第三方插件方法小結(jié)
這篇文章主要介紹了ThinkPHP使用Smarty第三方插件方法,結(jié)合實(shí)例形式總結(jié)分析了ThinkPHP使用Smarty模板的具體步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03
解決laravel id非自增 模型取回為0 的問(wèn)題
今天小編就為大家分享一篇解決laravel id非自增 模型取回為0 的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10

