注册 登录
编程论坛 C# 论坛

求助各位高手,今晚10点要交

dr3364895 发布于 2013-10-15 15:37, 591 次点击
外国老师没教我们C#让我们自学写程序。。。题目是翻译过来的,可能有点不通顺,凑活看看吧。
在平面坐标上直线运动的点以速度1.0、移动方向 30°、执行Method Move 、显示10.0 秒后的坐标,用C#,利用以下提示写程序。
Property: 现在的坐标 double x, y;
Field: 速度 double velocity;
方向(radian) double direction;
Method: 现在的坐标经过时间 t 之后的新坐标 void Move(double t);
Constructer: 坐标的初始值 用 double x, double y 当做参数。
4 回复
#2
shangsharon2013-10-15 17:21
程序代码:
class Program
    {
        static void Main(string[] args)
        {
            Point p = new Point(0.0, 0.0)
            {
                //弧度和角度转换
                Radian = Math.PI / 180 * 30.0,
                Speed = 1.0
            };

            Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y);

            p.Move(10.0);

            Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y);

            p.Move(10);

            Console.WriteLine("P当前坐标,X:{0},Y:{1}", p.X, p.Y);
        }
    }

    class Point
    {
        double x = 0.0;

        double y = 0.0;

        double speed = 0.0;

        double radian = 0.0;

        public Point(double x = 0.0, double y = 0.0)
        {
            this.x = x;
            this.y = y;
        }

        public double X
        {
            get { return Math.Round(x, 2); }
            set { x = value; }
        }

        public double Y
        {
            get { return Math.Round(y, 2); }
            set { y = value; }
        }

        public double Speed
        {
            get { return speed; }
            set { speed = value; }
        }

        /// <summary>
        /// 弧度,非角度
        /// </summary>
        public double Radian
        {
            get { return radian; }
            set { radian = value; }
        }

        /// <summary>
        /// 移动
        /// </summary>
        /// <param name="time">移动时间</param>
        public void Move(double time)
        {
            double s = speed * time;

            x += s * Math.Sin(radian);

            y += s * Math.Cos(radian);
        }
    }
#3
尾巴0072013-10-15 22:02
回复 2楼 shangsharon
好人呀!
#4
wp2319572013-10-17 08:59
好人
#5
hzm7162013-10-18 15:24
好手啊,不是看得很明白,不过,辛苦了!!
1