Esempio n. 1
0
        static void Main(string[] args)
        {
            Player p1   = new Player("David", SpaceType.Player1, PlayerColor.Red);
            Player p2   = new Player("Paul", SpaceType.Player2, PlayerColor.Blue);
            Game   plop = new Game(p1, p2);


            Position pos1 = new Position();

            pos1.row = 3;
            pos1.col = 4;

            Position pos2 = new Position();

            pos2.row = 6;
            pos2.col = 4;

            plop.setPieceOnGrid(plop.player2Pieces[2], pos1);
            plop.setPieceOnGrid(plop.player1Pieces[0], pos2);

            plop.start();

            plop.initialGrid.displayGrid();


            for (int i = 1; i < 8; i++)
            {
                Position nextPos = new Position();
                nextPos.row = pos1.row + 1;
                nextPos.col = pos1.col;
                switch (plop.movePiece(pos1, nextPos))
                {
                case 1: Console.WriteLine("Piece MOVED !");
                    break;

                case 10: Console.WriteLine("WIN !!!");
                    break;

                case 20: Console.WriteLine("TIE !");
                    break;

                case 30: Console.WriteLine("LOST !!!");
                    break;

                case 50: Console.WriteLine("You found the flag !");
                    break;

                default: Console.WriteLine("Move not allowed !");
                    break;
                }
                pos1.row++;
                plop.initialGrid.displayGrid();
            }
            //Console.ReadLine();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Player p1 = new Player("David", SpaceType.Player1, PlayerColor.Red);
            Player p2 = new Player("Paul", SpaceType.Player2, PlayerColor.Blue);
            Game plop = new Game(p1,p2);

            Position pos1 = new Position();
            pos1.row = 3;
            pos1.col = 4;

            Position pos2 = new Position();
            pos2.row = 6;
            pos2.col = 4;

            plop.setPieceOnGrid(plop.player2Pieces[2], pos1);
            plop.setPieceOnGrid(plop.player1Pieces[0], pos2);

            plop.start();

            plop.initialGrid.displayGrid();

            for (int i = 1; i <8;i++ )
            {
                Position nextPos = new Position();
                nextPos.row = pos1.row+1;
                nextPos.col = pos1.col;
                switch (plop.movePiece(pos1, nextPos))
                {
                    case 1: Console.WriteLine("Piece MOVED !");
                        break;
                    case 10: Console.WriteLine("WIN !!!");
                        break;
                    case 20: Console.WriteLine("TIE !");
                        break;
                    case 30: Console.WriteLine("LOST !!!");
                        break;
                    case 50: Console.WriteLine("You found the flag !");
                        break;
                    default: Console.WriteLine("Move not allowed !");
                        break;
                }
                pos1.row++;
                plop.initialGrid.displayGrid();
            }
            Console.ReadLine();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            Player p1   = new Player("David", SpaceType.Player1, PlayerColor.Red);
            Player p2   = new Player("Paul", SpaceType.Player2, PlayerColor.Blue);
            Game   plop = new Game(p1, p2);

            Position pos1 = new Position();

            pos1.row = 0;
            pos1.col = 0;

            Position pos2 = new Position();

            pos2.row = 6;
            pos2.col = 4;

            //plop.setPieceOnGrid(plop.player2Pieces[0], pos1);
            //plop.setPieceOnGrid(plop.player1Pieces[0], pos2);
            //plop.initPlayerPieces(p1, p2);

            // set up a complete board
            //int numPieces = plop.player1Pieces.Count();

            //plop.setPieceOnGrid(plop.player2Pieces[3], pos1);
            int pieceIndex = 0;

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    Position posB = new Position(); // player 2
                    posB.row = j;
                    posB.col = i;
                    plop.setPieceOnGrid(plop.player2Pieces[pieceIndex], posB);
                    // Player 1
                    Position posA = new Position();
                    posA.row = 9 - j;
                    posA.col = 9 - i;
                    plop.setPieceOnGrid(plop.player1Pieces[pieceIndex], posA);
                    pieceIndex++; // go to next piece
                }
            }



            plop.start();
            //plop.initialGrid.displayGrid();

            // check the player's piece lists

            foreach (var p in plop.player1Pieces)
            {
                p.displayPiece();
            }
            Console.WriteLine("Player 2");
            foreach (var p in plop.player2Pieces)
            {
                p.displayPiece();
            }

            plop.initialGrid.displayGrid();
            /* Test the getMoves() function */
            Position flag2Pos = new Position();

            flag2Pos.col = 0;
            flag2Pos.row = 3;
            int             rc; // return code
            List <Position> flagMoves = plop.getMoves(flag2Pos, out rc);

            Console.WriteLine(rc);
            foreach (var p in flagMoves)
            {
                Console.WriteLine("row: {0}", p.row);
                Console.WriteLine("col: {0}", p.col);
                Console.WriteLine();
            }

            Position marsh2Pos = new Position();

            marsh2Pos.col = 1;
            marsh2Pos.row = 3;
            List <Position> marshMoves = plop.getMoves(marsh2Pos, out rc);

            Console.WriteLine("Marshall");
            Console.WriteLine(rc);
            foreach (var p in marshMoves)
            {
                Console.WriteLine("row: {0}", p.row);
                Console.WriteLine("col: {0}", p.col);
                Console.WriteLine();
            }
            //Console.Write(plop.initialGrid.mainGrid[0,6]._piece.displayPiece());

            /* Test a WIN */

            /*
             * int column = 0;
             * Position start1 = new Position();
             * start1.col = column;
             * start1.row = 6;
             * //Position next1 = new Position();
             * //next1.col = column;
             * //next1.row = start1
             * for (int i = 0; i < 3; i++) {
             *  // move player 1
             *  Position next = new Position();
             *  next.row = 5-i;
             *  next.col = column;
             *  switch (plop.movePiece(start1, next))
             *  {
             *      case 1: Console.WriteLine("Piece MOVED !");
             *          break;
             *      case 10: Console.WriteLine("WIN !!!");
             *          break;
             *      case 20: Console.WriteLine("TIE !");
             *          break;
             *      case 30: Console.WriteLine("LOST !!!");
             *          break;
             *      case 50: Console.WriteLine("You found the flag !");
             *          break;
             *      default: Console.WriteLine("Move not allowed !");
             *          break;
             *  }
             *  plop.initialGrid.displayGrid();
             *  start1.row = next.row; // update
             * }
             */

            // test movement

            /*
             * Position firstPos = new Position();
             * firstPos.row = 3;
             * firstPos.col = 1;
             * Position nextPos = new Position();
             * nextPos.row = 4;
             * nextPos.col = 1;
             * switch (plop.movePiece(firstPos, nextPos))
             *  {
             *      case 1: Console.WriteLine("Piece MOVED !");
             *          break;
             *      case 10: Console.WriteLine("WIN !!!");
             *          break;
             *      case 20: Console.WriteLine("TIE !");
             *          break;
             *      case 30: Console.WriteLine("LOST !!!");
             *          break;
             *      case 50: Console.WriteLine("You found the flag !");
             *          break;
             *      default: Console.WriteLine("Move not allowed !");
             *          break;
             *  }
             * plop.initialGrid.displayGrid();
             *
             * // another move
             * firstPos.row = nextPos.row;
             * firstPos.col = nextPos.col;
             * nextPos.row = 5;
             * switch (plop.movePiece(firstPos, nextPos))
             *  {
             *      case 1: Console.WriteLine("Piece MOVED !");
             *          break;
             *      case 10: Console.WriteLine("WIN !!!");
             *          break;
             *      case 20: Console.WriteLine("TIE !");
             *          break;
             *      case 30: Console.WriteLine("LOST !!!");
             *          break;
             *      case 50: Console.WriteLine("You found the flag !");
             *          break;
             *      default: Console.WriteLine("Move not allowed !");
             *          break;
             *  }
             * plop.initialGrid.displayGrid();
             *
             * for (int i = 1; i <8;i++ )
             * {
             *  Position nextPos = new Position();
             *  nextPos.row = pos1.row+1;
             *  nextPos.col = pos1.col;
             *  switch (plop.movePiece(pos1, nextPos))
             *  {
             *      case 1: Console.WriteLine("Piece MOVED !");
             *          break;
             *      case 10: Console.WriteLine("WIN !!!");
             *          break;
             *      case 20: Console.WriteLine("TIE !");
             *          break;
             *      case 30: Console.WriteLine("LOST !!!");
             *          break;
             *      case 50: Console.WriteLine("You found the flag !");
             *          break;
             *      default: Console.WriteLine("Move not allowed !");
             *          break;
             *  }
             *  pos1.row++;
             *  plop.initialGrid.displayGrid();
             * }
             */
            //Console.ReadLine();
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            setUpBoard();
            // start the game
            plop.start();
            plop.initialGrid.displayGrid();
            Console.WriteLine(distanceMetric(p2, p1));

            Position pos1 = new Position(3, 0);

            for (int i = 0; i < 3; i++)
            {
                Position nextPos = new Position();
                nextPos.row = pos1.row + 1;
                nextPos.col = pos1.col;
                switch (plop.movePiece(pos1, nextPos))
                {
                case 1:
                    Console.WriteLine("Piece MOVED !");
                    break;

                case 10:
                    Console.WriteLine("WIN !!!");
                    break;

                case 20:
                    Console.WriteLine("TIE !");
                    break;

                case 30:
                    Console.WriteLine("LOST !!!");
                    break;

                case 50:
                    Console.WriteLine("You found the flag !");
                    break;

                default:
                    Console.WriteLine("Move not allowed !");
                    break;
                }
                plop.initialGrid.displayGrid();
                pos1 = nextPos;
            }
            Console.WriteLine("EvalPlayer1: {0}", eval(p1, p2));
            Console.WriteLine("EvalPlayer2: {0}", eval(p2, p1));

            Console.WriteLine(plop.initialGrid.mainGrid[3, 0]._type);
            Console.WriteLine(plop.initialGrid.mainGrid[4, 0]._type);

            Console.WriteLine(distanceMetric(p2, p1));
            Console.WriteLine(averageDistance(p2, p1));
            Console.WriteLine("Player 1 lost:");
            foreach (var p in plop.player1Lost)
            {
                p.displayPiece();
            }
            Console.WriteLine("Player 2 lost:");
            foreach (var p in plop.player2Lost)
            {
                p.displayPiece();
            }

            //Console.ReadLine();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            Player p1   = new Player("P1", SpaceType.Player1, PlayerColor.Red);
            Player p2   = new Player("P2", SpaceType.Player2, PlayerColor.Blue);
            Game   plop = new Game(p1, p2);

            Position pos1 = new Position();

            pos1.row = 0;
            pos1.col = 0;

            Position pos2 = new Position();

            pos2.row = 6;
            pos2.col = 4;

            int pieceIndex = 0;

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    Position posB = new Position(); // player 2
                    posB.row = j;
                    posB.col = i;
                    plop.setPieceOnGrid(plop.player2Pieces[pieceIndex], posB);
                    // Player 1
                    Position posA = new Position();
                    posA.row = 9 - j;
                    posA.col = 9 - i;
                    plop.setPieceOnGrid(plop.player1Pieces[pieceIndex], posA);
                    pieceIndex++; // go to next piece
                }
            }



            plop.start(); // start the game

            // check the player's piece lists
            foreach (var p in plop.player1Pieces)
            {
                p.displayPiece();
            }
            Console.WriteLine("Player 2");
            foreach (var p in plop.player2Pieces)
            {
                p.displayPiece();
            }


            // display the initial grid
            plop.initialGrid.displayGrid();


            // Test random movement
            int      rc;                        // return code, needed for getMoves()
            Random   rnd      = new Random();   // random number generator
            int      numMoves = 5;              // how many moves do you want to test???
            Position pos      = new Position(); // initial position

            // this position will be where player 2s leftmost miner is, next to their flag
            // note that all movement is based on position, whatever piece is at that position will be moved.
            pos.row = 3;
            pos.col = 1;
            Position nextPos = new Position();
            int      moveIndex; // this helps choose a random move from the list of possible moves at a given state

            for (int i = 0; i < numMoves; i++)
            {
                List <Position> moves = plop.getMoves(pos, out rc);
                Console.WriteLine("Possible moves at {0}", i);
                foreach (var p in moves)
                {
                    Console.WriteLine("row: {0}", p.row);
                    Console.WriteLine("col: {0}", p.col);
                    Console.WriteLine();
                }
                moveIndex = rnd.Next(moves.Count);          // random number no bigger than size of list
                Position next = nextPos = moves[moveIndex]; // update position
                // movePiece() moves whatever piece is at pos to next.
                // it returns a numeric code that represents what happened at the move.
                switch (plop.movePiece(pos, next))
                {
                case 1: Console.WriteLine("Piece MOVED !");
                    break;

                case 10: Console.WriteLine("WIN !!!");
                    break;

                case 20: Console.WriteLine("TIE !");
                    break;

                case 30: Console.WriteLine("LOST !!!");
                    break;

                case 50: Console.WriteLine("You found the flag !");
                    break;

                default: Console.WriteLine("Move not allowed !");
                    break;
                }
                plop.initialGrid.displayGrid(); // show the grid
                pos = next;                     // update the piece's current position
            }
        }