[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.     } 

 

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