From eab8b1ede5b65a0ce756ec824d2b0984b69ff1d8 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 26 Aug 2018 20:29:42 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=84=ED=88=AC=20=EC=8B=9C=EB=AE=AC?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=ED=84=B0=20=EA=B5=AC=ED=98=84=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/j_simulate_battle.php | 66 ++++++++++++++++++++++++++++++++++++++ hwe/js/battle_simulator.js | 20 +++++++++++- 2 files changed, 85 insertions(+), 1 deletion(-) diff --git a/hwe/j_simulate_battle.php b/hwe/j_simulate_battle.php index ceac3b1f..eb25b5b5 100644 --- a/hwe/j_simulate_battle.php +++ b/hwe/j_simulate_battle.php @@ -6,3 +6,69 @@ include "func.php"; $session = Session::requireLogin([])->setReadOnly(); $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' +]); diff --git a/hwe/js/battle_simulator.js b/hwe/js/battle_simulator.js index cabe299e..bbe15a62 100644 --- a/hwe/js/battle_simulator.js +++ b/hwe/js/battle_simulator.js @@ -486,6 +486,8 @@ jQuery(function($){ var defenderCity = $.extend({}, defaultCity, allData.defenderCity); defenderCity.nation = 2; defenderCity.city = 3; + defenderCity.wall2 = defenderCity.wall/5*6; + defenderCity.def2 = defenderCity.def/5*6; var defenderGenerals = []; $.each(allData.defenderGenerals, function(){ @@ -517,7 +519,23 @@ jQuery(function($){ var beginBattle = function(){ 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();