• R/O
  • SSH
  • HTTPS

jinrousiki: コミット


コミットメタ情報

リビジョン2759 (tree)
日時2021-07-23 05:43:16
作者umethyl

ログメッセージ

JinrouStatistics::AggregateWinCamp()

変更サマリ

差分

--- trunk/dev/test/data/vote_debug.php (revision 2758)
+++ trunk/dev/test/data/vote_debug.php (revision 2759)
@@ -155,11 +155,11 @@
155155 }
156156
157157 TableHTML::OutputHeader('');
158- $camp_list = (new ReflectionClass('WinCamp'))->getConstants();
159158 $filter = $stack->Get('winner');
160159 Text::p($filter);
161- foreach ($camp_list as $camp) {
162- if ($filter->Exists($camp)) {
160+ $result = self::AggregateWinCamp($filter);
161+ foreach ($result as $camp => $count) {
162+ if ($count > 0) {
163163 TableHTML::OutputTh(RoleDataManager::GetName($camp));
164164 }
165165 }
@@ -166,9 +166,9 @@
166166 TableHTML::OutputTrFooter();
167167
168168 TableHTML::OutputTrHeader();
169- foreach ($camp_list as $camp) {
170- if ($filter->Exists($camp)) {
171- TableHTML::OutputTd($filter->$camp);
169+ foreach ($result as $camp => $count) {
170+ if ($count > 0) {
171+ TableHTML::OutputTd($count);
172172 }
173173 }
174174 TableHTML::OutputTrFooter();
@@ -176,6 +176,48 @@
176176 }
177177 }
178178
179+ //勝利陣営集計
180+ private static function AggregateWinCamp(Stack $stack) {
181+ $camp_list = [
182+ WinCamp::HUMAN,
183+ WinCamp::WOLF,
184+ WinCamp::FOX,
185+ WinCamp::LOVERS,
186+ WinCamp::QUIZ,
187+ WinCamp::VAMPIRE,
188+ WinCamp::DRAW,
189+ WinCamp::NONE
190+ ];
191+ $result = [];
192+ foreach ($camp_list as $camp) {
193+ switch ($camp) {
194+ case WinCamp::HUMAN:
195+ case WinCamp::WOLF:
196+ case WinCamp::LOVERS:
197+ case WinCamp::QUIZ:
198+ case WinCamp::VAMPIRE:
199+ $result[$camp] = $stack->$camp;
200+ break;
201+
202+ case WinCamp::FOX:
203+ $result[$camp] = $stack->{WinCamp::FOX_HUMAN};
204+ break;
205+
206+ case WinCamp::DRAW:
207+ $result[$camp] = $stack->$camp;
208+ $result[$camp] += $stack->{WinCamp::VANISH};
209+ $result[$camp] += $stack->{WinCamp::QUIZ_DEAD};
210+ break;
211+
212+ case WinCamp::NONE:
213+ $result[$camp] = $stack->$camp;
214+ break;
215+ }
216+ }
217+
218+ return $result;
219+ }
220+
179221 //カテゴリリスト取得
180222 private static function GetCategoryList() {
181223 return [
旧リポジトリブラウザで表示