php教程

超轻量级php框架startmvc

php实现贪吃蛇小游戏

更新时间:2020-03-11 07:36:21 作者:startmvc
贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获

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

废话不多说,代码奉上:

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实现贪吃蛇 贪吃蛇 实现思路