Skip to content

Commit

Permalink
Add Judgment. #312 @1h
Browse files Browse the repository at this point in the history
  • Loading branch information
みぞ@CrazyBeatCoder committed Feb 5, 2018
1 parent 5fdb941 commit edc9d4f
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 4 deletions.
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -70,4 +70,6 @@ JSON パーサーライブラリ

「白黒はっきりつける程度の能力」がありますが、リバーシゲームに関する公式設定はありません。

※ゲームが引き分けになり「白黒はっきりつかない」場合がありますが、リバーシゲームの仕様です。

[![上海アリス幻樂団](image/banner.gif)](http://www16.big.or.jp/~zun/)
17 changes: 13 additions & 4 deletions src/main/java/com/mizo0203/shiki/domain/Translator.java
Expand Up @@ -86,7 +86,11 @@ private int parseY(String message) {
}

public String parseLineMessageText(ReversiModel reversiModel, Pieces pieces) {
StringBuilder messageText = new StringBuilder("\ABCDEFGH\n");
StringBuilder messageText = new StringBuilder();
int black = reversiModel.countPieces(Pieces.BLACK);
int white = reversiModel.countPieces(Pieces.WHITE);
messageText.append("黒X:").append(black).append(" 白O:").append(white).append("\n");
messageText.append("\ABCDEFGH\n");
for (int y = 1; y <= 8; y++) {
messageText.append(parseAAA(y));
for (int x = 1; x <= 8; x++) {
Expand All @@ -95,14 +99,19 @@ public String parseLineMessageText(ReversiModel reversiModel, Pieces pieces) {
messageText.append("\n");
}
if (pieces == null) {
messageText.append("終了\n");
messageText.append("ゲーム終了\n");
if (black != white) {
messageText.append("人生の勝利者:").append(black > white ? "黒X" : "白O");
} else {
messageText.append("引き分け");
}
} else {
switch (pieces) {
case BLACK:
messageText.append("黒Xの手番:\n");
messageText.append("黒Xの手番:");
break;
case WHITE:
messageText.append("白Oの手番:\n");
messageText.append("白Oの手番:");
break;
default:
// NOP
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/com/mizo0203/shiki/domain/model/ReversiModel.java
Expand Up @@ -108,4 +108,16 @@ public Pieces nextPieces(Pieces oneself) {
}
return null;
}

public int countPieces(Pieces pieces) {
int cnt = 0;
for (int y = 1; y <= 8; y++) {
for (int x = 1; x <= 8; x++) {
if (board[y][x] == pieces) {
cnt++;
}
}
}
return cnt;
}
}

0 comments on commit edc9d4f

Please sign in to comment.