php实现贪吃蛇小游戏

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

贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分。在诺基亚时代,风靡整个手机界,今天我们来看看另类的,如何使用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,贪吃蛇
0
投稿

猜你喜欢

  • Python爬虫之爬取淘女郎照片示例详解

    2021-01-16 12:50:48
  • python获取点击的坐标画图形的方法

    2023-04-23 09:59:28
  • Web2.0电子商务网站的交互设计

    2009-05-15 12:08:00
  • Python自动化测试Eclipse+Pydev 搭建开发环境

    2022-07-15 07:01:54
  • 7个perl数组高级操作技巧分享

    2022-08-09 10:38:19
  • Python中关于元组 集合 字符串 函数 异常处理的全面详解

    2021-04-14 12:07:37
  • 老生常谈Python进阶之装饰器

    2022-05-20 10:51:23
  • 将keras的h5模型转换为tensorflow的pb模型操作

    2021-06-05 15:14:06
  • Python初识逻辑与if语句及用法大全

    2023-11-21 16:17:24
  • PyQt5每天必学之日历控件QCalendarWidget

    2023-05-30 12:12:48
  • 深入浅析PHP的session反序列化漏洞问题

    2024-05-13 09:51:14
  • python高并发异步服务器核心库forkcore使用方法

    2021-12-04 18:38:24
  • Golang搭建开发环境的图文教程

    2024-04-26 17:28:51
  • 深度学习入门之Pytorch 数据增强的实现

    2021-04-05 22:26:07
  • Python Deque 模块使用详解

    2022-07-24 01:08:33
  • BootStrap modal实现拖拽功能

    2024-04-18 09:43:48
  • [CSS+JS]同一页面可以重复使用的选项卡

    2009-02-12 12:53:00
  • thinkphp利用模型通用数据编辑添加和删除的实例代码

    2024-05-03 15:13:14
  • Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    2023-03-13 09:20:52
  • 教你使用Psycopg2连接openGauss的方法

    2023-09-17 02:56:39
  • asp之家 网络编程 m.aspxhome.com