Difference between revisions of "AS 2019 DisplayNoOfMoves"
(Created page with "=Setup= You will need to declare 2 new integers at the start of the program, so find: <syntaxhighlight> class Program { const string Space = " "; c...") |
(No difference)
|
Revision as of 08:28, 1 April 2019
Setup
You will need to declare 2 new integers at the start of the program, so find:
class Program
{
const string Space = " ";
const string Unused = "XXXXX";
const int BoardSize = 8;
const int NumberOfPieces = 12;
const int MaxMoves = 50;
const int Row = 0;
const int Column = 1;
const int Dame = 2;
You can add:
int amoves = 0;
int bmoves = 0;
Where
Look in the Game method, you need to find the if statement below:
if (nextPlayer == "a")
{
ListPossibleMoves(board, A, nextPlayer, listOfMoves);
if (!ListEmpty(listOfMoves))
{
pieceIndex = SelectMove(listOfMoves);
MakeMove(board, A, B, listOfMoves, pieceIndex);
nextPlayer = SwapPlayer(nextPlayer);
}
else
{
gameEnd = true;
}
}
This controls player a's turn, it will display the list of possible moves and then check if moves are available. The best place to display the number of moves would be to put a message before it lists the possible moves. See the Console.WriteLine below, you will also need to increment amoves. This is straight after the line to make the actual move:
if (nextPlayer == "a")
{
Console.WriteLine("Player A as made " + amoves + " moves");
ListPossibleMoves(board, A, nextPlayer, listOfMoves);
if (!ListEmpty(listOfMoves))
{
pieceIndex = SelectMove(listOfMoves);
MakeMove(board, A, B, listOfMoves, pieceIndex);
amoves++;
nextPlayer = SwapPlayer(nextPlayer);
}
Now we need to repeat this for player a's turn:
else
{
Console.WriteLine("Player B as made " + bmoves + " moves");
ListPossibleMoves(board, B, nextPlayer, listOfMoves);
if (!ListEmpty(listOfMoves))
{
pieceIndex = SelectMove(listOfMoves);
MakeMove(board, B, A, listOfMoves, pieceIndex);
bmoves++;
nextPlayer = SwapPlayer(nextPlayer);
}