夜光带你走进C# 游戏开发等(五十七)擅长的领域

夜光序言:

 

每一次痛彻心扉的经历,都是一次新生,如蛇蜕皮一般,从头到脚地焕然一新。

 

 

 

 

 

 

 

 

 

正文:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Genius_Team_Bike
{
    class Bike   //我们写一个,夜光:自行车类
    {
        private int speed;
        private int angle;   //角度


        public void ShowInfo()
        {
            Console.SetCursorPosition(0, 0);
            Console.WriteLine("speed:{0,3},angle:{1,3}", speed, angle);
        }

        /// <summary>
        /// 加速
        /// </summary>
        /// <returns></returns>
        public void Acc()
        {
            speed++;
        }

        /// <summary>
        /// 刹车
        /// </summary>
        public void Break()
        {
            speed = speed - 10;
            if(speed < 0)
            {
                speed = 0;
            }
        }

        /// <summary>
        /// 顺时针方向是一个正方向,逆时针方向是一个负方向
        /// </summary>
        public void TurnLeft()
        {
            angle--;
        }

        public void TurnRight()
        {
            angle++;
        }

        public void stay()
        {
            if(speed > 0)
            {
                speed--;
            }
        }

    }


    class Program
    {
        static void Main(string[] args)
        {
            Bike b = new Bike();  //我们先new一个对象出来
            
            for(; ;)
            {
                if (Console.KeyAvailable)
                {
                    ConsoleKey key = Console.ReadKey(true).Key;
                    switch (key)
                    //switch case 其实和if 语句差不多,有点意思
                    {
                        case ConsoleKey.W: // if (key == ConsoleKey.W).......
                            b.Acc();
                            break;
                        case ConsoleKey.S:   // else if
                            b.Break();
                            break;
                        case ConsoleKey.A:// else if
                            b.TurnLeft();
                            break;
                        case ConsoleKey.D:// else if
                            b.TurnRight();
                            break;
                        default:// else 
                            b.stay();
                            break;
                    }             
                }
                b.ShowInfo();
            }         
        }
    }
}

构造器调用构造器

 

 

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class 显示器 //写在这个里面一般都是用public
    {
        public string 出厂编号;
        public bool 是否开启;  // true=开,false=关
        public int 尺寸;
        public int 颜色; //1表示白色,2表示黑色,3表示灰色
        public bool 是否有边框;  //true=有,false=无

        public void 开关()
        {
            if(是否开启 == false)
            {
                是否开启 = true;
                Console.WriteLine("显示器已经打开`");
            }
            else
            {
                是否开启 = false;
                Console.WriteLine("显示器已经关闭`");
            }
        }

        public void 显示信息()
        {
            Console.WriteLine("出厂编号" + 出厂编号);
            Console.WriteLine("尺寸" + 尺寸);
            Console.WriteLine("颜色" + 颜色);
            Console.WriteLine("是否有边框" + 是否有边框);
        }



    }



    class Date   //我们构造一个
    {
        private int year;
        private int month;

        private int day;

        /// <summary>
        /// 带参数的构造器
        /// </summary>
        /// <param name="_year"></param>
        /// <param name="_month"></param>
        /// <param name="_day"></param>
        public Date(int _year,int _month,int _day)
        {
            year = _year;
            month = _month;
            day = _day;
        }


        /// <summary>
        /// 不带参数的构造器,如果你创建了一个带参的,那么系统就不会自动帮你创建一个带参的,需要手写一个
        /// </summary>
        public Date()
        {

        }


        public void print()
        {
            Console.WriteLine("{0}/{1}/{2}", year, month, day);
        }



    }



    class Program   //写在这个里面一般都是用static
    {
        static void Main(string[] args)
        {
            //如果一个类没有构造器,那么C#会自动创造一个出来
            Date d = new Date(2020,1,1); //我们new一个date出来
            d.print();

            #region new显示器,调用
            /*            显示器 m;   //定义指向所创建的显示器的变量
                        m = new 显示器();  //夜光:保存在m里面,那么这个m就是我们创建出来的显示器

                        显示器 n = new 显示器(); //嗯唔
                        //创建出来一台显示器
                        m.出厂编号 = "LD11111111";
                        m.尺寸 = 21;
                        m.是否开启 = false;
                        m.是否有边框 = true;
                        m.颜色 = 2;
                        m.显示信息();
                        for(; ; )
                        {
                            Console.WriteLine("靓仔靓女~~按下回车键开关显示器");
                            Console.ReadLine();
                            m.开关();

                        }*/
            #endregion

            Console.ReadLine();
        }
    }
}

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class 显示器 //写在这个里面一般都是用public
    {
        public string 出厂编号;
        public bool 是否开启;  // true=开,false=关
        public int 尺寸;
        public int 颜色; //1表示白色,2表示黑色,3表示灰色
        public bool 是否有边框;  //true=有,false=无

        public void 开关()
        {
            if(是否开启 == false)
            {
                是否开启 = true;
                Console.WriteLine("显示器已经打开`");
            }
            else
            {
                是否开启 = false;
                Console.WriteLine("显示器已经关闭`");
            }
        }

        public void 显示信息()
        {
            Console.WriteLine("出厂编号" + 出厂编号);
            Console.WriteLine("尺寸" + 尺寸);
            Console.WriteLine("颜色" + 颜色);
            Console.WriteLine("是否有边框" + 是否有边框);
        }



    }



    class Date   //我们构造一个
    {
        private int year;
        private int month;

        private int day;

        /// <summary>
        /// 带参数的构造器
        /// </summary>
        /// <param name="_year"></param>
        /// <param name="_month"></param>
        /// <param name="_day"></param>
        public Date(int _year,int _month,int _day)
        {
            year = _year;
            month = _month;
            day = _day;
        }


        /// <summary>
        /// 不带参数的构造器,如果你创建了一个带参的,那么系统就不会自动帮你创建一个带参的,需要手写一个
        /// </summary>
        public Date()  //这个时间是很有意义的,涉及到一个时间戳
            :this(1970,1,1)
        {
           
        }


        public void print()
        {
            Console.WriteLine("{0}/{1}/{2}", year, month, day);
        }



    }



    class Program   //写在这个里面一般都是用static
    {
        static void Main(string[] args)
        {
            //如果一个类没有构造器,那么C#会自动创造一个出来
            Date d = new Date(2020,1,1); //我们new一个date出来
            d.print();
            Date d2 = new Date();
            d2.print();

            #region new显示器,调用
            /*            显示器 m;   //定义指向所创建的显示器的变量
                        m = new 显示器();  //夜光:保存在m里面,那么这个m就是我们创建出来的显示器

                        显示器 n = new 显示器(); //嗯唔
                        //创建出来一台显示器
                        m.出厂编号 = "LD11111111";
                        m.尺寸 = 21;
                        m.是否开启 = false;
                        m.是否有边框 = true;
                        m.颜色 = 2;
                        m.显示信息();
                        for(; ; )
                        {
                            Console.WriteLine("靓仔靓女~~按下回车键开关显示器");
                            Console.ReadLine();
                            m.开关();

                        }*/
            #endregion

            Console.ReadLine();
        }
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值