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. 方法內部的靜態變量:
      //方法內部的靜態變量,執行完靜態變量值不消失,再次執行此對象的方法時,值仍存在,
      //它不是在棧中分配的,是在靜態區分析的, 這是與局部變量最大的區別;
 
  }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容