Esempio n. 1
0
    /*
     * Precondition: None
     * Postcondition: keeps moving robot up
     */

    public virtual void Move()
    {
        while (upSensor.isValid(rCoord, cCoord, grid))
        {
            nAct.MoveForward(ref rCoord, ref cCoord);
        }
    }
Esempio n. 2
0
    /*
     * Precondition:int from 0 to 4
     * Postcondition: moves the robot in direction depending on dir until a wall is in front
     */
    public void Move(int Dir)
    {
        int sensed;

        switch (Dir)
        {
        case 0:
            sensed = grid[rCoord - 1, cCoord];
            while (sObj.isValid(sensed))
            {
                nAct.MoveForward(ref rCoord, ref cCoord);
                sensed = grid[rCoord - 1, cCoord];
            }
            break;

        case 1:
            sensed = grid[rCoord + 1, cCoord];
            while (sObj.isValid(sensed))
            {
                sAct.MoveForward(ref rCoord, ref cCoord);
                sensed = grid[rCoord + 1, cCoord];
            }
            break;

        case 2:
            sensed = grid[rCoord, cCoord + 1];
            while (sObj.isValid(sensed))
            {
                eAct.MoveForward(ref rCoord, ref cCoord);
                sensed = grid[rCoord, cCoord + 1];
            }
            break;

        case 3:
            sensed = grid[rCoord, cCoord - 1];
            while (sObj.isValid(sensed))
            {
                wAct.MoveForward(ref rCoord, ref cCoord);
                sensed = grid[rCoord, cCoord - 1];
            }
            break;

        default:
            return;
        }
    }