전투 시뮬레이터 구현 중
This commit is contained in:
@@ -6,3 +6,69 @@ include "func.php";
|
|||||||
|
|
||||||
$session = Session::requireLogin([])->setReadOnly();
|
$session = Session::requireLogin([])->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
|
$query = Util::getReq('query');
|
||||||
|
if($query === null){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'입력값이 없습니다.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = Json::decode($query);
|
||||||
|
if($query === null){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'올바르지 않은 JSON입니다.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$defaultCheck = [
|
||||||
|
'required'=>[
|
||||||
|
'attackerGeneral', 'attackerCity', 'attackerNation',
|
||||||
|
'defenderGenerals', 'defenderCity', 'defenderNation',
|
||||||
|
'year', 'month', 'repeatCnt'
|
||||||
|
],
|
||||||
|
'integer'=>[
|
||||||
|
'year','month','repeatCnt'
|
||||||
|
],
|
||||||
|
'array'=>['attackerGeneral', 'attackerCity', 'attackerNation', 'defenderGenerals', 'defenderCity', 'defenderNation'],
|
||||||
|
];
|
||||||
|
|
||||||
|
$v = new Validator($query);
|
||||||
|
$v->rules($defaultCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$year = $query['year'];
|
||||||
|
$month = $query['month'];
|
||||||
|
$repeatCnt = $query['repeatCnt'];
|
||||||
|
|
||||||
|
$attackerGeneral = $query['attackerGeneral'];
|
||||||
|
$attackerCity = $query['attackerCity'];
|
||||||
|
$attackerNation = $query['attackerNation'];
|
||||||
|
|
||||||
|
$generalCheck = [
|
||||||
|
'required'=>[
|
||||||
|
'no', 'name', 'nation', 'turntime', 'personal', 'special2', 'crew', 'crewtype', 'atmos', 'train',
|
||||||
|
'intel', 'intel2', 'book', 'power', 'power2', 'weap', 'injury', 'leader', 'leader2', 'horse', 'item',
|
||||||
|
'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
|
||||||
|
'warnum', 'killnum', 'deathnum', 'killcrew', 'deathcrew', 'recwar'
|
||||||
|
]
|
||||||
|
];
|
||||||
|
$v = new Validator($query['attackerGeneral']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Json::die([
|
||||||
|
'result'=>true,
|
||||||
|
'reason'=>'NYI'
|
||||||
|
]);
|
||||||
|
|||||||
@@ -486,6 +486,8 @@ jQuery(function($){
|
|||||||
var defenderCity = $.extend({}, defaultCity, allData.defenderCity);
|
var defenderCity = $.extend({}, defaultCity, allData.defenderCity);
|
||||||
defenderCity.nation = 2;
|
defenderCity.nation = 2;
|
||||||
defenderCity.city = 3;
|
defenderCity.city = 3;
|
||||||
|
defenderCity.wall2 = defenderCity.wall/5*6;
|
||||||
|
defenderCity.def2 = defenderCity.def/5*6;
|
||||||
|
|
||||||
var defenderGenerals = [];
|
var defenderGenerals = [];
|
||||||
$.each(allData.defenderGenerals, function(){
|
$.each(allData.defenderGenerals, function(){
|
||||||
@@ -517,7 +519,23 @@ jQuery(function($){
|
|||||||
|
|
||||||
var beginBattle = function(){
|
var beginBattle = function(){
|
||||||
var data = extendAllDataForDB(exportAllData());
|
var data = extendAllDataForDB(exportAllData());
|
||||||
console.log(data);
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
url:'j_simulate_battle.php',
|
||||||
|
dataType:'json',
|
||||||
|
data:{
|
||||||
|
query:JSON.stringify(data),
|
||||||
|
}
|
||||||
|
}).then(function(result){
|
||||||
|
console.log(result);
|
||||||
|
if(!result.result){
|
||||||
|
alert(result.reason);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}, function(result){
|
||||||
|
alert('전투 개시 실패!');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
initBasicEvent();
|
initBasicEvent();
|
||||||
|
|||||||
Reference in New Issue
Block a user