[C#]通過方法獲得遊戲人數和玩家姓名

 通過兩個方法,分別得到用戶輸入的人數和所有人的姓名,作爲遊戲程序的一個小功能。

  1. using System; 
  2.  
  3. namespace Player 
  4.     internal class Program 
  5.     { 
  6.         private static void Main(string[] args) 
  7.         { 
  8.             int playerNum = PlayerNum();    //調用PlayerNum()方法獲得用戶輸入的人數 
  9.  
  10.             string[] name = PlayerName(playerNum);  //調用PlayerName()方法得到每一個玩家的暱稱 
  11.  
  12.             Console.WriteLine("參加本遊戲的人數爲:{0}人", playerNum); 
  13.  
  14.             for (int i = 0; i < name.Length; i++) 
  15.             { 
  16.                 Console.WriteLine("第{0}位玩家暱稱爲 :{1}", i + 1, (name[i])); 
  17.             } 
  18.  
  19.             Console.ReadKey(); 
  20.         } 
  21.  
  22.         /// <summary> 
  23.         /// 輸入一個人數。 
  24.         /// 最小人數爲1,playerMax控制最大人數。 
  25.         /// </summary> 
  26.         /// <returns>參加的人數</returns> 
  27.         private static int PlayerNum() 
  28.         { 
  29.             int playerNumber = 0; 
  30.             int playerMax = 4;  //最大參加人數 
  31.             do 
  32.             { 
  33.                 Console.WriteLine("請輸入參加的人數(1—{0}人):", playerMax); 
  34.                 try 
  35.                 { 
  36.                     //接收用戶輸入的人數 
  37.                     playerNumber = Convert.ToInt32(Console.ReadLine()); 
  38.  
  39.                     //判斷人數是否小於1或者超過最大限制的人數 
  40.                     if (playerNumber <= 0 || playerNumber > playerMax) 
  41.                     { 
  42.                         Console.WriteLine("必須輸入一個1到{0}之間的整數!", playerMax); 
  43.                         continue
  44.                     } 
  45.                     break
  46.                 } 
  47.                 catch 
  48.                 { 
  49.                     Console.WriteLine("請輸入一個整數!"); 
  50.                 } 
  51.             } while (true); 
  52.  
  53.             return playerNumber;    //返回用戶輸入的人數 
  54.         } 
  55.  
  56.         /// <summary> 
  57.         /// 讓用戶輸入每一個玩家的姓名,並返回所有玩家的姓名。 
  58.         /// </summary> 
  59.         /// <param name="number">玩家的人數</param> 
  60.         /// <returns>所有玩家的暱稱</returns> 
  61.         private static string[] PlayerName(int number) 
  62.         { 
  63.             //定義一個數組存放玩家姓名 
  64.             string[] name = new string[number]; 
  65.  
  66.             for (int i = 0; i < name.Length; i++) 
  67.             { 
  68.                 Console.WriteLine("請輸入第{0}位玩家的姓名:", i + 1); 
  69.                 name[i] = Console.ReadLine(); 
  70.                 while (name[i] == "")   //判斷玩家姓名是否爲空,爲空則重新輸入 
  71.                 { 
  72.                     Console.WriteLine("姓名不能爲空,請重新輸入第{0}位玩家姓名:", i + 1); 
  73.                     name[i] = Console.ReadLine(); 
  74.                 } 
  75.                 if (i > 0)  //判斷玩家人數,兩位以上需要覈對姓名是否相同 
  76.                 { 
  77.                     for (int j = 0; j < i; j++)     //當前輸入的玩家姓名與已經存在的所有玩家姓名進行對照,看是否相同 
  78.                     { 
  79.                         if (name[i] == name[j]) 
  80.                         { 
  81.                             Console.WriteLine("該姓名與第{0}位玩家相同,請重新輸入第{1}位玩家姓名:", j + 1, i + 1); 
  82.                             name[i] = Console.ReadLine(); 
  83.                         } 
  84.                     } 
  85.                 } 
  86.             } 
  87.             return (string[])name;      //返回玩家姓名 
  88.         } 
  89.     } 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章