联系客服:400-805-1963

[C#]通过方法获得游戏人数和玩家姓名
更新:HHH   时间:2023-1-7


 通过两个方法,分别得到用户输入的人数和所有人的姓名,作为游戏程序的一个小功能。

  1. using System; 
  2.  
  3. namespace Player 
  4. { 
  5.     internal class Program 
  6.     { 
  7.         private static void Main(string[] args) 
  8.         { 
  9.             int playerNum = PlayerNum();    //调用PlayerNum()方法获得用户输入的人数 
  10.  
  11.             string[] name = PlayerName(playerNum);  //调用PlayerName()方法得到每一个玩家的昵称 
  12.  
  13.             Console.WriteLine("参加本游戏的人数为:{0}人", playerNum); 
  14.  
  15.             for (int i = 0; i < name.Length; i++) 
  16.             { 
  17.                 Console.WriteLine("第{0}位玩家昵称为 :{1}", i + 1, (name[i])); 
  18.             } 
  19.  
  20.             Console.ReadKey(); 
  21.         } 
  22.  
  23.         /// <summary> 
  24.         /// 输入一个人数。 
  25.         /// 最小人数为1,playerMax控制最大人数。 
  26.         /// </summary> 
  27.         /// <returns>参加的人数</returns> 
  28.         private static int PlayerNum() 
  29.         { 
  30.             int playerNumber = 0; 
  31.             int playerMax = 4;  //最大参加人数 
  32.             do 
  33.             { 
  34.                 Console.WriteLine("请输入参加的人数(1—{0}人):", playerMax); 
  35.                 try 
  36.                 { 
  37.                     //接收用户输入的人数 
  38.                     playerNumber = Convert.ToInt32(Console.ReadLine()); 
  39.  
  40.                     //判断人数是否小于1或者超过最大限制的人数 
  41.                     if (playerNumber <= 0 || playerNumber > playerMax) 
  42.                     { 
  43.                         Console.WriteLine("必须输入一个1到{0}之间的整数!", playerMax); 
  44.                         continue; 
  45.                     } 
  46.                     break; 
  47.                 } 
  48.                 catch 
  49.                 { 
  50.                     Console.WriteLine("请输入一个整数!"); 
  51.                 } 
  52.             } while (true); 
  53.  
  54.             return playerNumber;    //返回用户输入的人数 
  55.         } 
  56.  
  57.         /// <summary> 
  58.         /// 让用户输入每一个玩家的姓名,并返回所有玩家的姓名。 
  59.         /// </summary> 
  60.         /// <param name="number">玩家的人数</param> 
  61.         /// <returns>所有玩家的昵称</returns> 
  62.         private static string[] PlayerName(int number) 
  63.         { 
  64.             //定义一个数组存放玩家姓名 
  65.             string[] name = new string[number]; 
  66.  
  67.             for (int i = 0; i < name.Length; i++) 
  68.             { 
  69.                 Console.WriteLine("请输入第{0}位玩家的姓名:", i + 1); 
  70.                 name[i] = Console.ReadLine(); 
  71.                 while (name[i] == "")   //判断玩家姓名是否为空,为空则重新输入 
  72.                 { 
  73.                     Console.WriteLine("姓名不能为空,请重新输入第{0}位玩家姓名:", i + 1); 
  74.                     name[i] = Console.ReadLine(); 
  75.                 } 
  76.                 if (i > 0)  //判断玩家人数,两位以上需要核对姓名是否相同 
  77.                 { 
  78.                     for (int j = 0; j < i; j++)     //当前输入的玩家姓名与已经存在的所有玩家姓名进行对照,看是否相同 
  79.                     { 
  80.                         if (name[i] == name[j]) 
  81.                         { 
  82.                             Console.WriteLine("该姓名与第{0}位玩家相同,请重新输入第{1}位玩家姓名:", j + 1, i + 1); 
  83.                             name[i] = Console.ReadLine(); 
  84.                         } 
  85.                     } 
  86.                 } 
  87.             } 
  88.             return (string[])name;      //返回玩家姓名 
  89.         } 
  90.     } 
  91. } 

 

返回编程语言教程...