php实现贪吃蛇小游戏

贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分。在诺基亚时代,风靡整个手机界,今天我们来看看另类的,如何使用php来实现贪吃蛇小游戏

废话不多说,代码奉上:

control.php

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8"/>

</head>

<body>

&nbsp;<a href="control.php?a=up">上<a/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?session_start(); echo $_SESSION['count'];?>分<br/>

<a href="control.php?a=left">左<a/>&nbsp;<a href="control.php?a=right">右<a/><br/>

&nbsp;<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实现贪吃蛇小游戏 的全部内容, 来源链接: utcz.com/z/349947.html

回到顶部