美文网首页
PHP实现简单的24点游戏

PHP实现简单的24点游戏

作者: 长安猎人 | 来源:发表于2018-10-23 21:44 被阅读0次

忽然想到做一个小应用,需要使用到24点判断,故而写一个简单版的。
代码粗糙,轻拍。

<?php
/**
 * 24点游戏
 * @author 长安猎人
 */

$arr = [10, 4, 5, 3];
$opArr = ["+", "-", "*", "/"];
$result = calculate($arr);
if($result == NULL) {
    echo "无法找到答案" . PHP_EOL;
} 
echo $result;

function calculate($arr) {
    global $opArr;
    if(count($arr) == 1) {
        $str = substr($arr[0], 1, -1);
        eval("\$num = " . $str . ";");
        if($num == 24) return $str;
        return;
    }
    list($prev, $next) = [$arr[0], $arr[1]];
    $combine = [];
    for($i = 0; $i < 4; $i++) {
        $combine[] = "($prev" . $opArr[$i] . "$next)";
    }
    $arrFree = array_slice($arr, 2);
    $newArr = [];
    $combineLen = count($combine);
    for($i = 0; $i < $combineLen; $i++) {
        $temp = $arrFree;
        array_unshift($temp, $combine[$i]); #插入剩余项的头部
        $newArr[] = $temp;
    } 
    $newLen = count($newArr);
    for ($i=0; $i < $newLen; $i++) { 
        $res = calculate($newArr[$i]);
        if(NULL != $res) return $res;
    }
}

相关文章

  • PHP实现简单的24点游戏

    忽然想到做一个小应用,需要使用到24点判断,故而写一个简单版的。代码粗糙,轻拍。

  • PHP实现vivo小游戏授权登录

    PHP实现vivo小游戏授权登录

  • 简单的rpc实现(php)

    RPC全称为Remote Procedure Call,翻译过来为"远程过程调用"。主要应用于不同的系统之间的远程...

  • php 实现简单的算法

    // echo intval('1a2b3c'); // die; // $a = 5; // $a = &$b;...

  • PHP实现简单RPC

    1.什么是rpc RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的...

  • 简单理解PHP生成器

    适用PHP版本 (PHP 5 >= 5.5.0, PHP 7) 生成器提供了一种更容易的方法来实现简单的对象迭代,...

  • smarty模板引擎

    一、模板引擎的工作原理 1、实现HTML代码和PHP代码简单分离,完全去除视图文件中的PHP标记 2、常用PHP模...

  • 关于PHP分词

    使用scws组件分词和phpanalysis分词类实现简单的php分词搜索 关键字:php 分词 搜索 什么是sc...

  • php扩展开发(一) 实现helloworld

    php扩展开发,从零开始 实现简单helloworld 利用PHP源码中的ext_skel生成扩展骨架,我们创建一...

  • 前端基础(问答18)

    keywords:php、http、动态网站的实现。 问答 简单描述下web 服务器、PHP、数据库、浏览器是如何...

网友评论

      本文标题:PHP实现简单的24点游戏

      本文链接:https://www.haomeiwen.com/subject/chdzzftx.html