网络编程
位置:首页>> 网络编程>> php编程>> php实现贪吃蛇小游戏

php实现贪吃蛇小游戏

作者:hebedich  发布时间:2024-05-02 17:16:36 

标签: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);  
?>
0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com