Unity3D开发-C#语言进阶篇(数据类型以及命名规则)

class Program
  {
      
          public enum HeroRace  //由于种族只有固定的几种,只允许玩家从种族这个枚举里去选取.
      {
          人族,
          兽族,
          不死族,
          暗夜精灵族

      }
      public enum Gener   //性别与种族同理
      {
          男,
          女
      }
      public static int heroLevel=100;
      public  string heroName="万";     //英雄名可以根据改名卡之类道具修改,可以定义为全局变量.
      static int heroExp=1001;  //英雄的经验值,静态全局变量
      static int heroHp = 100;
      static int heroMp = 100;
      public const int heroEquipmentCount = 6;   //英雄可以穿戴装备的数量,只能带6件装备不能改变!
      public const int heroFriendsCount =50;    //英雄最多的好友数为50个

      HeroRace race = HeroRace.人族;  //种族
      Gener gener = Gener.男;    //性别
      public static void LevelUp()
      {
          //升级
          //静态方法只能访问静态成员
          
          if (heroExp > 1000)
          {
                 heroLevel++;
                 heroHp += 100;
                 heroMp += 100;
                 
          }
          heroExp = 0;
      }
      public void Fight()
      {
          //局部变量,英雄战斗之前,将英雄的血量蓝量赋给两个局部变量
          //战斗时通过两个战斗的局部变量进行血量蓝量控制
          //战斗结束后不会对外部的heroHp造成影响!
          int fightHp = heroHp;
          int fightMp = heroMp;
      }
      public string HeroInfo()  //英雄信息显示
      {
          //局部变量存储当前的英雄信息
         string heroNameInfo = this.heroName;
         int heroHpInfo = heroHp;
         int heroMpInfo = heroMp;
         int heroLevelInfo = heroLevel;
         return "英雄名为:" + heroNameInfo + "\n英雄血量为:" + heroHpInfo + "\n英雄蓝量为:" + heroMpInfo + "\n英雄等级为:" + heroLevelInfo + "\n英雄的种族为:" + race + "\n英雄的性别为:"+gener;

     
      }

      //1,变量名只能有英文,数字,下划线组成;不能有其他字符号(美元符号);不能以数字开头;不能用关键字来命名;
      // 2,int整型定义变量,string字符串定义变量,double浮点型定义变量(每个正整数都理解为double浮点型);固定好的类型不能互换;var泛型定义变量(不建议使用); 
      //3,常量的声明关键字为:const;初始化一定要赋值;不能重新赋值;常量默认一定是静态的,不用再加修饰符static;前面加public属于公用的;
      // 4,变量之前没有修饰符,表示私有变量;加public属于公用的;类可以调用;
      //5,Pascal样式-名字中每个单词的第一个单词大写;如AverageSpeed;Camel样式-与Pascal样式基本相同,不同的是标识符的第一个单词小写,如averageSpeed.
      //6,局部变量只应用所在方法内或语句体内;
      //7,全局变量应用整个项目内;
      //8,点住关键字 按F12可追踪;
      //9,定义一个公用属性方法. public void Move(){}
      //10,调用方法; Hero MyPro = new Hero();重新new;MyPro.Move();
      //11,类调用;右键添加类;如:constClass.geziShu;


      //标识符:变量名,类名,方法名,常量名
      //标识符由字母数字下划线组成,不能数字开头,不能用关键字
      //类名方法名(属性?)首字母大写:AverageSpeed
      //变量名:averageSpeed
      //常量:关键字: const 特点:必须赋具体的值切不能更改
      //常量不能用变量赋值如:
      //{
      //int a = 10;
      //const int b = a;
      //}
      //如果 const int b = a; a是一个变量,不能再编译时就计算出结果,所以常量是不可以用变量来初始化的。
      //如果用变量赋值应用只读(readonly)字段
      //常量是静态的,不需要加static

      //static:
      //静态分配的,有两种情况:
      //1. 用在类里的属性、方法前面,这样的静态属性与方法不需要创建实例就能访问,
      //通过类名或对象名都能访问它,静态属性、方法只有“一份”:即如果一个类新建有N个
      //对象,这N 个对象只有同一个静态属性与方法;
      //2. 方法内部的静态变量:
      //方法内部的静态变量,执行完静态变量值不消失,再次执行此对象的方法时,值仍存在,
      //它不是在栈中分配的,是在静态区分析的, 这是与局部变量最大的区别;
 
  }

你可能感兴趣的:(Unity3D开发-C#语言进阶篇(数据类型以及命名规则))