UJN_C++_1545 [C++ objects and classes] Robot class

//
#include<bits/stdc++.h>
using namespace std;

class robot
{
    private:
        double x,y;
        bool judge( const double& a,const double& b )
        {
            return ( ( a>=0 && a<=(double)100 ) && ( b>=0 && b<=(double)100 ) );
        }
    public:
        robot( double a=0,double b=0 ):x(a),y(b) {}
        
        void init() { x=0; y=0; }
        bool left( double dis )
        {
            if( judge( x-dis,y ) ) { x-=dis;    return true; }
            else                                return false;
        }
        bool right( double dis )
        {
            if( judge( x+dis,y ) ) { x+=dis;    return true; }
            else                                return false;
        }
        bool forward( double dis )
        {
            if( judge( x,y+dis ) ) { y+=dis;    return true; }
            else                                return false;
        }
        bool back( double dis )
        {
            if( judge( x,y-dis ) ) { y-=dis;    return true; }
            else                                return false;
        }
        bool goto_pos( double a,double b )
        {
            if( judge( a,b ) ) { x=a; y=b;  return true; }
            else                            return false;
        }
        void out() { cout<<"("<<x<<","<<y<<")"<<endl; }
};

int main()
{
    double xpos,ypos;
    robot xy( 59.6,28.1 );

    if( xy.left( 1.3 ) )    xy.out();
    else                    cout<<"position error!"<<endl;
    if( xy.back( 12.0 ) )   xy.out();
    else                    cout<<"position error!"<<endl;
    if( xy.right( 60.0 ) )  xy.out();
    else                    cout<<"position error!"<<endl;
    
    xy.init();              xy.out();
    if( xy.forward( 3.5 ) ) xy.out();
    else                    cout<<"position error!"<<endl;
    
    cin>>xpos>>ypos;
    if( xy.goto_pos( xpos,ypos ) )  xy.out();
    else                            cout<<"position error!"<<endl;

    return 0;
}

Guess you like

Origin blog.csdn.net/qq_63173957/article/details/123883754