没有合适的资源?快使用搜索试试~ 我知道了~
开心消消乐应该对大家来说都不陌生吧,下面这篇文章主要给大家介绍了关于如何利用PHP实现开心消消乐算法的相关资料,文中将需求和示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
资源推荐
资源详情
资源评论





















利用利用PHP实现开心消消乐的算法示例实现开心消消乐的算法示例
开心消消乐应该对大家来说都不陌生吧,下面这篇文章主要给大家介绍了关于如何利用PHP实现开心消消乐算
法的相关资料,文中将需求和示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
要的朋友们下面随着小编来一起学习学习吧。
前言前言
本文主要介绍了关于PHP如何实现我们大家都知道的开心消消乐的算法,分享出来供大家参考学习,下面话不多说了,来一
起看看详细的介绍吧。
一、需求描述:一、需求描述:
1、在一个8*8的矩阵方格中随机出现5种颜色的色块。
2、当有三个或以上色块在横向或纵向上相连,则消除这些色块。
3、色块消除后,上方色块往下平移,并掉下颜色随机的色块填充矩阵空缺。
4、重复2、3步骤。
5、消除3个相同色块加10分,4个加15分,5个加20分,6个加30分,7个加40分,8个加70分,9个加100分,10个加150
分,再往后每增加一个就比上一个多加50分。
二、上代码二、上代码
<?php
//所有图形初始化数据,key代表位置,value代表颜色
$xxl = array(
array('', '', '', '', '', '', '', ''),
array('', '', '', '', '', '', '', ''),
array('', '', '', '', '', '', '', ''),
array('', '', '', '', '', '', '', ''),
array('', '', '', '', '', '', '', ''),
array('', '', '', '', '', '', '', ''),
array('', '', '', '', '', '', '', ''),
array('', '', '', '', '', '', '', ''),
);
$point = play($xxl, $point);//开始游戏
echo "共获得积分数量:{$point}";
/*开始消除
*$xxl array 所有图形集合
*$point int 获得积分数量
*/
$bu = 0;
function play($xxl, $point){
global $bu;
$bu ++;
echo '=================================开始第'.$bu.'步==================================';
$color = array(1 => 'red',2 => 'green',3 => 'yellow',4 => 'blue',5 => 'black');//代表5种颜色
$samCol = array();//列上相连色块集合
$nowCol = array();//列上相连色块指针
$samArr = array();//相连色块总集合
$group = 1;//组指针
//随机填充颜色,并获得行上相连色块start
foreach($xxl as $k1 => $v1){
$sam = array();//行上相连色块集合
$now = 1;//行上相连色块指针
foreach($v1 as $k2 => $v2){
if(empty($v2) || $v2 == ' '){
$v2 = $xxl[$k1][$k2] = array_rand($color);//随机填充颜色
}
if(!isset($nowCol[$k2])){
$nowCol[$k2] = 1;
}
if($k1 === 0){
$samCol[$k2][$nowCol[$k2]][$k1 .'-'. $k2] = array($k1, $k2, $v2, $k1 .'-'. $k2 .'-'. $v2);
}else{
if($v2 != $xxl[$k1-1][$k2]){//同一列上和前一个颜色不一样
$nowCol[$k2] ++;
}
$samCol[$k2][$nowCol[$k2]][$k1 .'-'. $k2] = array($k1, $k2, $v2, $k1 .'-'. $k2 .'-'. $v2);
}
资源评论


weixin_38698927
- 粉丝: 7
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【光伏发电领域】项目介绍 MATLAB实现基于随机森林(RF)进行多变量单步光伏功率预测的详细项目实例(含模型描述及部分示例代码)
- 【新能源预测】项目介绍 MATLAB实现基于长短期记忆网络(LSTM)进行多变量单步光伏功率预测的详细项目实例(含模型描述及部分示例代码)
- 基于TransUnet的医学图像分割系统,包含数据加载、模型训练、评估和预测功能
- 机器图像算法领域中的云类识别方向
- 【电子设计竞赛】2025电子设计大赛J题超声信标定位系统:从解析到代码实现及优化策略
- 完整的医学图像分割系统,包含训练、评估和可视化功能,核心基于改进的TransUnet架构【改进:TransUNet+SA+特征金字塔注意力模块和TransUNet】
- 彩色计时器Qt/C++
- Rodrigues 公式:旋转矩阵的数学表达
- 【电子设计竞赛】2025电赛I题全解析:从音频信号分析到正弦信号失真度测量的系统设计与实现
- 解决windows0x000007报错问题
- 基于TransUnet架构的交互式医学图像分割系统,结合了提示框引导(类似SAM)的训练和推理机制改进篇
- 【编程与创作】程序员高效工具全解析:从设计到开发再到创作的全流程利器推荐
- 基于改进UNet架构的医学图像分割系统,结合了SE注意力机制和Inception模块,提供完整的训练、评估和可视化功能
- Tello 无人机的视觉图像回传与姿势识别功能
- 表白弹窗趣味互动程序 Qt/C++
- 适用于 Mac M1 芯片的 Ubuntu 系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
