Zundokiyoshiwith PHP

9175 단어 PHP동목청지

하나하나

<?php
$z = 'ズン';
$d = 'ドコ';
$zd = [$z, $d];
while (true) {
    $zundoko = array_map(function() use ($zd) {
        return $zd[array_rand($zd)];
    }, range(0, 4));

    if ([$z, $z, $z, $z, $d] === $zundoko) {
        break;
    }
}
echo 'キ・ヨ・シ!';

하나하나

<?php
list($z, $d) = $zd = ['ズン', 'ドコ'];
$zundoko = range(0, 4);
start:
    array_shift($zundoko);
    $zundoko[] = $zd[array_rand($zd)];

    if ([$z, $z, $z, $z, $d] === $zundoko) {
        echo 'キ・ヨ・シ!';
        exit(0);
    }
goto start;

그룹 및 arayfill 같은 거 썼어요.

<?php
list($z, $d) = $zd = ['ズン', 'ドコ'];
$f = function() use ($zd) {
    return $zd[array_rand($zd)];
};
$zundoko = array_map($f, range(0, 4));
while (true) {
    if (array_fill(0, 4, $z) + [4 => $d] === $zundoko) {
        break;
    }
    $zundoko[] = $f();
    array_shift($zundoko);
}
echo 'キ・ヨ・シ!';

재기 + 벽장 즉시 호출 (벽장 즉시 호출하고 싶지만 즉시 호출 내에서는 재기 불가)


  • 참조http://qiita.com/tadsan/items/6b8cc35ff9ccb3c27678 수정
  • <?php
    $zd = ['ズン', 'ドコ'];
    $expire = array_map(function($i) use ($zd) {
        return $i !== 4 ? $zd[0] : $zd[1];
    }, range(0, 4));
    ($f = function ($zundoko = array()) use ($expire, $zd, &$f) {
        if ($expire === $zundoko) {
            return;
        }
        $zundoko[] = $zd[array_rand($zd)];
        $f(array_slice($zundoko, -5, 5));
    })();
    echo 'キ・ヨ・シ!';
    

    좋은 웹페이지 즐겨찾기