턴 갱신, 당기기, 밀기 코드 재 작성
This commit is contained in:
@@ -80,4 +80,7 @@ class GameConst
|
|||||||
public static $defaultMaxGenius = 5;
|
public static $defaultMaxGenius = 5;
|
||||||
/** @var int 초기 시작 년도. 실제 값은 시나리오에서 정해지므로 딱히 의미는 없음. */
|
/** @var int 초기 시작 년도. 실제 값은 시나리오에서 정해지므로 딱히 의미는 없음. */
|
||||||
public static $defaultStartYear = 180;
|
public static $defaultStartYear = 180;
|
||||||
|
|
||||||
|
/** @var int 최대 턴(현재는 DB상 24턴으로 고정) */
|
||||||
|
public static $maxTurn = 24;
|
||||||
}
|
}
|
||||||
|
|||||||
+32
-66
@@ -5,6 +5,12 @@ include "lib.php";
|
|||||||
include "func.php";
|
include "func.php";
|
||||||
//로그인 검사
|
//로그인 검사
|
||||||
|
|
||||||
|
$type = Util::getReq('type', 'int', 0);
|
||||||
|
$sel = Util::getReq('sel', 'int', 1);
|
||||||
|
|
||||||
|
if($sel <= 0 || $sel > 12){
|
||||||
|
$sel = 1;
|
||||||
|
}
|
||||||
|
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
@@ -14,87 +20,47 @@ $connect=$db->get();
|
|||||||
|
|
||||||
increaseRefresh("턴반복", 1);
|
increaseRefresh("턴반복", 1);
|
||||||
|
|
||||||
$query = "select conlimit from game limit 1";
|
$myActionCnt = $db->queryFirstField('SELECT con FROM general WHERE `owner`=%i', $userID);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$conLimit = $db->queryFirstField('SELECT conlimit FROM game LIMIT 1');
|
||||||
$admin = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$query = "select no,name,nation,con from general where owner='{$userID}'";
|
$con = checkLimit($myActionCnt, $conLimit);
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$me = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$con = checkLimit($me['con'], $admin['conlimit']);
|
|
||||||
if($con >= 2) {
|
if($con >= 2) {
|
||||||
//echo "<script>window.top.main.location.replace('index.php');</script>";
|
echo "<script>window.top.main.location.replace('index.php');</script>";
|
||||||
echo 'index.php';//TODO:debug all and replace
|
//echo 'index.php';//TODO:debug all and replace
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
switch($type) {
|
switch($type) {
|
||||||
case 0:
|
case 0://반복
|
||||||
/*
|
$valueMap = [];
|
||||||
for($i=0; $i < $sel; $i++) {
|
foreach(range($sel, GameConst::$maxTurn - 1) as $idx){
|
||||||
$k = $i + $sel;
|
$src = $idx % $sel;
|
||||||
$query = "update general set ";
|
$valueMap['turn'.$idx] = $db->sqleval('%b', 'turn'.$src);
|
||||||
while(1) {
|
|
||||||
$query .= "turn{$k}=turn{$i}";
|
|
||||||
$k += $sel;
|
|
||||||
if($k >= 24) break;
|
|
||||||
$query .= ",";
|
|
||||||
}
|
|
||||||
$query .= " where owner='{$userID}'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
}
|
}
|
||||||
*/
|
$db->update('general', $valueMap, 'owner=%i', $userID);
|
||||||
$query = "update general set ";
|
|
||||||
for($i=0; $i < $sel; $i++) {
|
|
||||||
$k = $i + $sel;
|
|
||||||
while(1) {
|
|
||||||
$query .= "turn{$k}=turn{$i}";
|
|
||||||
$k += $sel;
|
|
||||||
if($i < $sel-1 || $k < 24) { $query .= ","; }
|
|
||||||
if($k >= 24) break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$query .= " where owner='{$userID}'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
$i = 23 - $sel;
|
$valueMap = [];
|
||||||
$k = 23;
|
foreach(range(GameConst::$maxTurn -1, $sel, -1) as $idx){
|
||||||
$query = "update general set ";
|
$src = $idx - $sel;
|
||||||
while(1) {
|
$valueMap['turn'.$idx] = $db->sqleval('%b', 'turn'.$src);
|
||||||
$query .= "turn{$k}=turn{$i},";
|
|
||||||
$i--; $k--;
|
|
||||||
if($i < 0) break;
|
|
||||||
}
|
}
|
||||||
while(1) {
|
foreach(range($sel -1, 0, -1) as $idx){
|
||||||
$query .= "turn{$k}=0";
|
$valueMap['turn'.$idx] = EncodeCommand(0, 0, 0, 0);
|
||||||
$k--;
|
|
||||||
if($k < 0) break;
|
|
||||||
$query .= ",";
|
|
||||||
}
|
}
|
||||||
$query .= " where owner='{$userID}'";
|
$db->update('general', $valueMap, 'owner=%i', $userID);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$i = 0;
|
$valueMap = [];
|
||||||
$k = $sel;
|
foreach(range(0, GameConst::$maxTurn - $sel - 1) as $idx){
|
||||||
$query = "update general set ";
|
$src = $idx + $sel;
|
||||||
while(1) {
|
$valueMap['turn'.$idx] = $db->sqleval('%b', 'turn'.$src);
|
||||||
$query .= "turn{$i}=turn{$k},";
|
|
||||||
$i++; $k++;
|
|
||||||
if($k >= 24) break;
|
|
||||||
}
|
}
|
||||||
while(1) {
|
foreach(range(GameConst::$maxTurn - $sel, GameConst::$maxTurn - 1) as $idx){
|
||||||
$query .= "turn{$i}=0";
|
$valueMap['turn'.$idx] = EncodeCommand(0, 0, 0, 0);
|
||||||
$i++;
|
|
||||||
if($i >= 24) break;
|
|
||||||
$query .= ",";
|
|
||||||
}
|
}
|
||||||
$query .= " where owner='{$userID}'";
|
$db->update('general', $valueMap, 'owner=%i', $userID);
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
//echo "<script>location.replace('commandlist.php');</script>";
|
header('location:commandlist.php');
|
||||||
echo 'commandlist.php';//TODO:debug all and replace
|
|
||||||
|
|||||||
Reference in New Issue
Block a user