php实现贪吃蛇小游戏
作者:hebedich 时间:2024-05-02 17:16:36
贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分。在诺基亚时代,风靡整个手机界,今天我们来看看另类的,如何使用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,贪吃蛇
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