コード例 #1
0
ファイル: game.php プロジェクト: skiv71/connect4
function go($board, $colour, $cpu)
{
    $col = 0;
    showBoard($board);
    $cols = cols($board);
    if ($cpu == 0) {
        while (!in_array($col, $cols)) {
            $msg = 'player ' . $colour . ' - please choose a column (' . implode(',', $cols) . '): ';
            $col = readline($msg);
        }
    } else {
        sleep(0.5);
        print 'cpu thinking... ' . "\n";
        $col = $cols[array_rand($cols, 1)];
    }
    sleep(1);
    array_push($board[$col], $colour);
    if (check($board, $col)) {
        win($board, $colour);
        sleep(1);
        return 1;
    } else {
        return $board;
    }
}
コード例 #2
0
ファイル: flat.php プロジェクト: akilli/qnd
/**
 * Save entity
 *
 * @param array $item
 *
 * @return bool
 */
function flat_save(array &$item) : bool
{
    $attrs = $item['_entity']['attr'];
    $cols = cols($attrs, $item);
    $stmt = prep('UPDATE %s SET %s WHERE %s = :_id', $item['_entity']['tab'], implode(', ', array_column($cols, 'set')), $attrs['id']['col']);
    foreach ($cols as $uid => $col) {
        $stmt->bindValue($col['param'], $col['val'], $col['type']);
    }
    $stmt->bindValue(':_id', $item['_old']['id'], db_type($attrs['id'], $item['_old']['id']));
    $stmt->execute();
    return true;
}
コード例 #3
0
function validCols($board)
{
    $all_values = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    $cols = cols($board);
    foreach ($cols as $row) {
        sort($row);
        if ($row != $all_values) {
            return false;
        }
    }
    return true;
}
コード例 #4
0
 public function test_cols()
 {
     $this->assertEquals([[0, 4, 5, 6, 7, 8], [0, 3, 6, 9], [0, 8], [0, 1, 4, 8], [0, 1, 2, 6, 7, 8, 9], [0, 3, 5, 9], [0, 2], [0, 6, 7, 8], [0, 1, 3, 5, 6, 9]], cols([[5, 3, 0, 0, 7, 0, 0, 0, 0], [6, 0, 0, 1, 9, 5, 0, 0, 0], [0, 9, 8, 0, 0, 0, 0, 6, 0], [8, 0, 0, 0, 6, 0, 0, 0, 3], [4, 0, 0, 8, 0, 3, 0, 0, 1], [7, 0, 0, 0, 2, 0, 0, 0, 6], [0, 6, 0, 0, 0, 0, 2, 8, 0], [0, 0, 0, 4, 1, 9, 0, 0, 5], [0, 0, 0, 0, 8, 0, 0, 7, 9]]));
     $this->assertEquals([[1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9]], cols([[5, 3, 4, 6, 7, 8, 9, 1, 2], [6, 7, 2, 1, 9, 5, 3, 4, 8], [1, 9, 8, 3, 4, 2, 5, 6, 7], [8, 5, 9, 7, 6, 1, 4, 2, 3], [4, 2, 6, 8, 5, 3, 7, 9, 1], [7, 1, 3, 9, 2, 4, 8, 5, 6], [9, 6, 1, 5, 3, 7, 2, 8, 4], [2, 8, 7, 4, 1, 9, 6, 3, 5], [3, 4, 5, 2, 8, 6, 1, 7, 9]]));
 }