전투 시뮬레이터 작업 중

This commit is contained in:
2018-08-24 03:46:21 +09:00
parent 6aa606f2fa
commit cb54e56417
3 changed files with 213 additions and 52 deletions
+181 -8
View File
@@ -52,12 +52,12 @@ $startYear = $gameStor->getValue('startyear');
<div class="col-sm-6">
<div class="btn-toolbar" role="toolbar">
<div class="btn-group mr-2" role="group">
<button type="button" class="btn btn-secondary">저장</button>
<button type="button" class="btn btn-secondary">불러오기</button>
<button type="button" class="btn btn-primary">저장</button>
<button type="button" class="btn btn-primary">불러오기</button>
</div>
<div class="btn-group mr-2" role="group">
<button type="button" class="btn btn-secondary">내보내기</button>
<button type="button" class="btn btn-secondary">가져오기</button>
<button type="button" class="btn btn-info">내보내기</button>
<button type="button" class="btn btn-info">가져오기</button>
</div>
</div>
</div>
@@ -66,7 +66,7 @@ $startYear = $gameStor->getValue('startyear');
</div>
<div class="row">
<div class="col-sm">
<div class="card">
<div class="card mb-2">
<div class="card-header">
출병국 설정
</div>
@@ -90,6 +90,16 @@ $startYear = $gameStor->getValue('startyear');
<?php endforeach; ?>
</select>
</div>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">국가 규모</span>
</div>
<select class="custom-select form_nation_level">
<?php foreach(getNationTypeList() as $typeID => [$name,$pros,$cons]): ?>
<option value="<?=$typeID?>"><?=$name?> (<?=$pros?>, <?=$cons?>)</option>
<?php endforeach; ?>
</select>
</div>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">도시 규모</span>
@@ -113,9 +123,134 @@ $startYear = $gameStor->getValue('startyear');
</div>
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header">
<div class="float-sm-left" style="line-height:25px;">출병자 설정</div>
<div class="float-sm-right btn-toolbar" role="toolbar">
<div class="btn-group btn-group-sm mr-2" role="group">
<button type="button" class="btn btn-primary">저장</button>
<button type="button" class="btn btn-primary">불러오기</button>
</div>
<div class="btn-group btn-group-sm" role="group">
<button type="button" class="btn btn-info">내보내기</button>
<button type="button" class="btn btn-info">가져오기</button>
</div>
</div>
</div>
<div class="card-body">
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">직위</span>
</div>
<select class="custom-select form_general_level">
<option value="12">군주</option>
<option value="11">참모</option>
<option value="10">무장 수뇌</option>
<option value="9">지장 수뇌</option>
<option value="4">태수</option>
<option value="3">군사</option>
<option value="2">시중</option>
<option value="1">일반</option>
</select>
</div>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">통솔</span>
</div>
<input type="number" class="form-control form_leadership" value="50" min="1" max="300" step="1">
<div class="input-group-prepend">
<span class="input-group-text">무력</span>
</div>
<input type="number" class="form-control form_power" value="50" min="1" max="300" step="1">
<div class="input-group-prepend">
<span class="input-group-text">지력</span>
</div>
<input type="number" class="form-control form_intel" value="50" min="1" max="300" step="1">
</div>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">명마</span>
</div>
<select class="custom-select form_general_horse">
<?php foreach(range(0, 26) as $horseID): ?>
<option value="<?=$horseID?>"><?=getHorseName($horseID)?></option>
<?php endforeach; ?>
</select>
<div class="input-group-prepend">
<span class="input-group-text">무기</span>
</div>
<select class="custom-select form_general_horse">
<?php foreach(range(0, 26) as $weapID): ?>
<option value="<?=$weapID?>"><?=getWeapName($weapID)?></option>
<?php endforeach; ?>
</select>
<div class="input-group-prepend">
<span class="input-group-text">서적</span>
</div>
<select class="custom-select form_general_book">
<?php foreach(range(0, 26) as $bookID): ?>
<option value="<?=$bookID?>"><?=getBookName($bookID)?></option>
<?php endforeach; ?>
</select>
</div>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">부상</span>
</div>
<input type="number" class="form-control form_leadership" value="50" min="1" max="300" step="1">
<div class="input-group-prepend">
<span class="input-group-text">군량</span>
</div>
<input type="number" class="form-control form_power" value="50" min="1" max="300" step="1">
<div class="input-group-prepend">
<span class="input-group-text">도구</span>
</div>
<input type="number" class="form-control form_intel" value="50" min="1" max="300" step="1">
</div>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">병종</span>
</div>
<input type="number" class="form-control form_crew" value="7000" min="100" step="100">
<div class="input-group-prepend">
<span class="input-group-text">병사</span>
</div>
<input type="number" class="form-control form_crew" value="7000" min="100" step="100">
<div class="input-group-prepend">
<span class="input-group-text">성격</span>
</div>
<select class="custom-select form_general_character">
<?php foreach(getCharacterList() as $characterID => [$name,$info]): ?>
<option value="<?=$characterID?>"><?=$name?></option>
<?php endforeach; ?>
</select>
</div>
<div class="input-group mb-1">
<div class="input-group-prepend">
<span class="input-group-text">훈련</span>
</div>
<input type="number" class="form-control form_crew" value="100" min="40" max="<?=GameConst::$maxTrainByWar?>" step="1">
<div class="input-group-prepend">
<span class="input-group-text">사기</span>
</div>
<input type="number" class="form-control form_crew" value="100" min="40" max="<?=GameConst::$maxAtmosByWar?>" step="1">
<div class="input-group-prepend">
<span class="input-group-text">전특</span>
</div>
<select class="custom-select form_general_special_war">
<?php foreach(SpecialityConst::WAR as $specialWarID => [$name,$buff,$cond]): ?>
<option value="<?=$specialWarID?>"><?=$name?></option>
<?php endforeach; ?>
</select>
</div>
레벨,보숙,궁숙,기숙,귀숙,차숙
</div>
</div>
</div><!-- <div class="col-sm"> -->
<div class="col-sm">
<div class="card">
<div class="card mb-2">
<div class="card-header">
수비국 설정
</div>
@@ -172,7 +307,45 @@ $startYear = $gameStor->getValue('startyear');
</div>
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header">
<div class="float-sm-left" style="line-height:25px;">수비자 설정</div>
<div class="float-sm-right btn-toolbar" role="toolbar">
<div class="btn-group btn-group-sm mr-2" role="group">
<button type="button" class="btn btn-primary">저장</button>
<button type="button" class="btn btn-primary">불러오기</button>
</div>
<div class="btn-group btn-group-sm mr-2" role="group">
<button type="button" class="btn btn-info">내보내기</button>
<button type="button" class="btn btn-info">가져오기</button>
</div>
<div class="btn-group btn-group-sm" role="group">
<button type="button" class="btn btn-warning">복제</button>
<button type="button" class="btn btn-danger">제거</button>
</div>
</div>
</div>
<div class="card-body">
</div>
</div>
<div class="card mb-2">
<div class="card-header">
<div class="float-sm-left" style="line-height:25px;">수비자 설정</div>
<div class="float-sm-right btn-toolbar" role="toolbar">
<div class="btn-group btn-group-sm mr-2" role="group">
<button type="button" class="btn btn-primary">불러오기</button>
</div>
<div class="btn-group btn-group-sm mr-2" role="group">
<button type="button" class="btn btn-info">가져오기</button>
</div>
<div class="btn-group btn-group-sm" role="group">
<button type="button" class="btn btn-success">추가</button>
</div>
</div>
</div>
</div>
</div><!-- <div class="col-sm"> -->
</div>
</div>
</body>
+27 -44
View File
@@ -18,22 +18,33 @@ function NationCharCall($call) {
return $invTable[$name]??0;
}
function getCharacterList(){
$infoText = [
10=>['은둔', '명성 -10%, 계급 -10%, 사기 -5, 훈련 -5, 단련 성공률 +10%'],
9=>['안전', '사기 -5, 징·모병 비용 -20%'],
8=>['유지', '훈련 -5, 징·모병 비용 -20%'],
7=>['재간', '명성 -10%, 징·모병 비용 -20%'],
6=>['출세', '명성 +10%, 징·모병 비용 +20%'],
5=>['할거', '명성 -10%, 훈련 +5'],
4=>['정복', '명성 -10%, 사기 +5'],
3=>['패권', '훈련 +5, 징·모병 비용 +20%'],
2=>['의협', '사기 +5, 징·모병 비용 +20%'],
1=>['대의', '명성 +10%, 훈련 -5'],
0=>['왕좌', '명성 +10%, 사기 -5'],
];
return $infoText;
}
function CharCall($call) {
switch($call) {
case '은둔': $type =10; break;
case '안전'; $type = 9; break;
case '유지'; $type = 8; break;
case '재간'; $type = 7; break;
case '출세'; $type = 6; break;
case '할거'; $type = 5; break;
case '정복'; $type = 4; break;
case '패권'; $type = 3; break;
case '의협'; $type = 2; break;
default:
case '대의'; $type = 1; break;
case '왕좌'; $type = 0; break;
static $invTable = [];
if(\key_exists($call, $invTable)){
return $invTable[$call];
}
return $type;
foreach(getCharacterList() as $id => [$name, $info]){
$invTable[$name] = $id;
}
return $invTable[$call];
}
function SpecCall($call) {
@@ -109,42 +120,14 @@ function getNationLevel($level) {
}
function getGenChar($type) {
switch($type) {
case 10: $call = '은둔'; break;
case 9: $call = '안전'; break;
case 8: $call = '유지'; break;
case 7: $call = '재간'; break;
case 6: $call = '출세'; break;
case 5: $call = '할거'; break;
case 4: $call = '정복'; break;
case 3: $call = '패권'; break;
case 2: $call = '의협'; break;
case 1: $call = '대의'; break;
case 0: $call = '왕좌'; break;
}
return $call;
return getCharacterList()[$type][0];
}
function getCharInfo(?int $type):?string {
if($type === null){
return null;
}
$infoText = [
10=>['은둔', '명성 -10%, 계급 -10%, 사기 -5, 훈련 -5, 단련 성공률 +10%'],
9=>['안전', '사기 -5, 징·모병 비용 -20%'],
8=>['유지', '훈련 -5, 징·모병 비용 -20%'],
7=>['재간', '명성 -10%, 징·모병 비용 -20%'],
6=>['출세', '명성 +10%, 징·모병 비용 +20%'],
5=>['할거', '명성 -10%, 훈련 +5'],
4=>['정복', '명성 -10%, 사기 +5'],
3=>['패권', '훈련 +5, 징·모병 비용 +20%'],
2=>['의협', '사기 +5, 징·모병 비용 +20%'],
1=>['대의', '명성 +10%, 훈련 -5'],
0=>['왕좌', '명성 +10%, 사기 -5'],
];
return $infoText[$type][1]??null;
return getCharacterList()[$type][1]??null;
}
function getGenSpecial($type) {
+5
View File
@@ -5,6 +5,11 @@ namespace sammo;
* 게임 룰에 해당하는 함수 모음
*/
function getNationLevelList():array{
$table = [
7 => ['황제', 8, ]
];
}
function getNationTypeList():array{
$table = [