修bug,允许重玩
This commit is contained in:
@@ -54,16 +54,13 @@ public:
|
||||
}
|
||||
|
||||
std::string show() {
|
||||
if (this->isWinStatus) {
|
||||
return "X";
|
||||
}
|
||||
if (this->color == BLACK) {
|
||||
if (this->isWinStatus) {
|
||||
return "X";
|
||||
}
|
||||
return "⬤";
|
||||
}
|
||||
else {
|
||||
if (this->isWinStatus) {
|
||||
return "X";
|
||||
}
|
||||
return "◯";
|
||||
}
|
||||
}
|
||||
@@ -181,7 +178,7 @@ public:
|
||||
}
|
||||
|
||||
if (connetCount >= 5) {
|
||||
for (; connetCount >= 0; connetCount--) {
|
||||
for (connetCount--; connetCount >= 0; connetCount--) {
|
||||
this->ChessPieces[possiblePieces[connetCount][0]]
|
||||
[possiblePieces[connetCount][1]]
|
||||
.setWin();
|
||||
@@ -221,7 +218,7 @@ public:
|
||||
}
|
||||
|
||||
if (connetCount >= 5) {
|
||||
for (; connetCount >= 0; connetCount--) {
|
||||
for (connetCount--; connetCount >= 0; connetCount--) {
|
||||
this->ChessPieces[possiblePieces[connetCount][0]]
|
||||
[possiblePieces[connetCount][1]]
|
||||
.setWin();
|
||||
@@ -267,7 +264,7 @@ public:
|
||||
}
|
||||
|
||||
if (connetCount >= 5) {
|
||||
for (; connetCount >= 0; connetCount--) {
|
||||
for (connetCount--; connetCount >= 0; connetCount--) {
|
||||
this->ChessPieces[possiblePieces[connetCount][0]]
|
||||
[possiblePieces[connetCount][1]]
|
||||
.setWin();
|
||||
@@ -313,7 +310,7 @@ public:
|
||||
}
|
||||
|
||||
if (connetCount >= 5) {
|
||||
for (; connetCount >= 0; connetCount--) {
|
||||
for (connetCount--; connetCount >= 0; connetCount--) {
|
||||
this->ChessPieces[possiblePieces[connetCount][0]]
|
||||
[possiblePieces[connetCount][1]]
|
||||
.setWin();
|
||||
@@ -369,7 +366,9 @@ public:
|
||||
return failed;
|
||||
}
|
||||
if (this->board->checkWinner(rowCount, columnCount, this->chessType)) {
|
||||
std::cout << this->playerName << " wins!" << std::endl;
|
||||
std::cout << "\n####################\n"
|
||||
<< this->playerName << " wins!" << std::endl
|
||||
<< "####################\n";
|
||||
return win;
|
||||
}
|
||||
if (this->board->isFull()) {
|
||||
@@ -411,7 +410,8 @@ int main() {
|
||||
std::cout << "Row No. ";
|
||||
std::cin >> row;
|
||||
fflush(stdin);
|
||||
while (!(('1' <= row && row <= '9') || ('A' <= row && row <= 'F') || ('a' <= row && row <= 'f'))) {
|
||||
while (!(('1' <= row && row <= '9') || ('A' <= row && row <= 'F') ||
|
||||
('a' <= row && row <= 'f'))) {
|
||||
std::cout << "Not a valid row number. Try again." << std::endl;
|
||||
std::cout << "Row No. ";
|
||||
std::cin >> row;
|
||||
@@ -421,7 +421,8 @@ int main() {
|
||||
std::cout << "Column No. ";
|
||||
std::cin >> column;
|
||||
fflush(stdin);
|
||||
while (!(('1' <= row && row <= '9') || ('A' <= row) && (row <= 'F') || ('a' <= row && row <= 'f'))) {
|
||||
while (!(('1' <= row && row <= '9') || ('A' <= row) && (row <= 'F') ||
|
||||
('a' <= row && row <= 'f'))) {
|
||||
std::cout << "Not a valid column number. Try again." << std::endl;
|
||||
std::cout << "Column No. ";
|
||||
std::cin >> column;
|
||||
@@ -438,7 +439,22 @@ int main() {
|
||||
}
|
||||
else {
|
||||
aBoard.show();
|
||||
break;
|
||||
char input;
|
||||
do {
|
||||
std::cout << "Reset for another round? (y/n) ";
|
||||
input = getchar();
|
||||
fflush(stdin);
|
||||
} while (input != 'y' && input != 'Y' && input != 'n' &&
|
||||
input != 'N');
|
||||
|
||||
if (input == 'y' || input == 'Y') {
|
||||
aBoard.reset();
|
||||
aBoard.show();
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (true);
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user