本文整理汇总了PHP中game::assign_grid方法的典型用法代码示例。如果您正苦于以下问题:PHP game::assign_grid方法的具体用法?PHP game::assign_grid怎么用?PHP game::assign_grid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类game
的用法示例。
在下文中一共展示了game::assign_grid方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: process
public function process()
{
$user = user::getInstance();
$db = db::getInstance();
include './models/game.class.php';
include './models/grid.class.php';
// récupérer le gameid
$this->gameid = isset($_REQUEST['gameid']) ? intval($_REQUEST['gameid']) : false;
if ($this->gameid === false) {
trigger_error('Game not found', E_USER_ERROR);
}
// lecture de l'objet game
$game = new game();
$game->read($this->gameid);
// création d'une nouvelle grille
$gridtype = GRIDTYPE_ALLWORDS;
$grid = new grid();
$gridid = $grid->create($gridtype);
// ajout de la grille au game
$game->assign_grid($gridid);
$game->start_grid($gridid);
// enrichissement du retour json
$res = $grid->get();
$res->gameid = $this->gameid;
$res->gametype = GAMETYPE_PRACTICE_ALLWORDS;
header('Content-Type: application/json');
echo json_encode($res);
die;
}
示例2: process
public function process()
{
$db = db::getInstance();
$user = user::getInstance();
include './models/game.class.php';
include './models/grid.class.php';
// récupérer le gameid
$this->gameid = isset($_REQUEST['gameid']) ? intval($_REQUEST['gameid']) : false;
if ($this->gameid === false) {
trigger_error('Game not found', E_USER_ERROR);
}
// lecture de l'objet game
$game = new game();
$game->read($this->gameid);
// lire les grilles terminées pour trouver le prochain type de grille
$sql = 'SELECT COUNT(gridid) AS count_gridid
FROM gamesstatus
WHERE gameid = ' . intval($this->gameid) . '
AND userid = ' . intval($user->id) . '
AND gridstatus = ' . intval(GRIDSTATUS_FINISHED);
$result = $db->query($sql);
$grid_count = ($row = $result->fetch_assoc()) ? intval($row['count_gridid']) : 0;
// déterminer le prochain type de grille
switch ($grid_count) {
case 0:
$gridtype = GRIDTYPE_ALLWORDS;
break;
case 1:
$gridtype = GRIDTYPE_LONGEST;
break;
case 2:
$gridtype = GRIDTYPE_CONSTRAINTS;
break;
}
// création d'une nouvelle grille
$grid = new grid();
$gridid = $grid->create($gridtype);
// ajout de la grille au game
$game->assign_grid($gridid);
$game->start_grid($gridid);
$res = $grid->get();
$res->gameid = $this->gameid;
$res->gametype = GAMETYPE_PRACTICE_FULL;
header('Content-Type: application/json');
echo json_encode($res);
die;
}
示例3: process
//.........这里部分代码省略.........
while ($row = $result->fetch_assoc()) {
$grid_counts[intval($row['userid'])] = intval($row['count_gridid']);
if (intval($row['count_gridid']) > $last_grid && intval($row['userid']) != $user->id) {
$last_grid = intval($row['count_gridid']);
}
}
if (isset($grid_counts[$user->id])) {
if ($grid_counts && $last_grid < intval($grid_counts[$user->id])) {
trigger_error('Wait for the other!', E_USER_ERROR);
}
$grid_count = $grid_counts ? intval($grid_counts[$user->id]) : 0;
} else {
$grid_count = 0;
}
// déterminer le prochain type de grille
$gridtype = false;
switch ($grid_count) {
case 0:
$gridtype = GRIDTYPE_ALLWORDS;
break;
case 1:
$gridtype = GRIDTYPE_LONGEST;
break;
case 2:
$gridtype = GRIDTYPE_CONSTRAINTS;
break;
default:
trigger_error('Game over!', E_USER_ERROR);
break;
}
// vérifier si l'autre adversaire est en train de créer une grille
$sql = ' SELECT *
FROM gamesusers
WHERE gameid = ' . intval($this->gameid);
$result = $db->query($sql);
$row = $result->fetch_assoc();
$request = $row['request'];
// lire les grilles existantes pour ce type de grille
$sql = 'SELECT *
FROM gamesstatus gs, grids g
WHERE gs.gameid = ' . intval($this->gameid) . '
AND gs.userid = ' . intval($user->id) . '
AND gs.gridstatus = ' . intval(GRIDSTATUS_ASSIGNED) . '
AND g.gridid = gs.gridid
AND g.gridtype = ' . intval($gridtype);
$result = $db->query($sql);
$gridid = ($row = $result->fetch_assoc()) ? intval($row['gridid']) : false;
if ($request == 1) {
// lire les grilles existantes pour ce type de grille
$sql = 'SELECT *
FROM gamesstatus gs, grids g
WHERE gs.gameid = ' . intval($this->gameid) . '
AND gs.userid = ' . intval($user->id) . '
AND gs.gridstatus = ' . intval(GRIDSTATUS_ASSIGNED) . '
AND g.gridid = gs.gridid
AND g.gridtype = ' . intval($gridtype);
$result = $db->query($sql);
$gridid = ($row = $result->fetch_assoc()) ? intval($row['gridid']) : false;
while ($gridid === false) {
// lire les grilles existantes pour ce type de grille
$sql = 'SELECT *
FROM gamesstatus gs, grids g
WHERE gs.gameid = ' . intval($this->gameid) . '
AND gs.userid = ' . intval($user->id) . '
AND gs.gridstatus = ' . intval(GRIDSTATUS_ASSIGNED) . '
AND g.gridid = gs.gridid
AND g.gridtype = ' . intval($gridtype);
$result = $db->query($sql);
$gridid = ($row = $result->fetch_assoc()) ? intval($row['gridid']) : false;
}
}
if ($gridid === false) {
if ($request == 0) {
$sql = 'UPDATE gamesusers
SET request = 1
WHERE gameid = ' . intval($this->gameid);
$db->query($sql);
// création d'une nouvelle grille
$grid = new grid();
$gridid = $grid->create($gridtype);
// ajout de la grille au game
$game->assign_grid($gridid);
$game->start_grid($gridid);
}
} else {
$grid = new grid();
$grid->read($gridid, $game->gamelang, $gridtype);
$game->start_grid($gridid);
$sql = 'UPDATE gamesusers
SET request = 0
WHERE gameid = ' . intval($this->gameid);
$db->query($sql);
}
$res = $grid->get();
$res->gameid = $this->gameid;
$res->gametype = GAMETYPE_BATTLE;
header('Content-Type: application/json');
echo json_encode($res);
die;
}