通过两个方法,分别得到用户输入的人数和所有人的姓名,作为游戏程序的一个小功能。
- using System;
- namespace Player
- {
- internal class Program
- {
- private static void Main(string[] args)
- {
- int playerNum = PlayerNum(); //调用PlayerNum()方法获得用户输入的人数
- string[] name = PlayerName(playerNum); //调用PlayerName()方法得到每一个玩家的昵称
- Console.WriteLine("参加本游戏的人数为:{0}人", playerNum);
- for (int i = 0; i < name.Length; i++)
- {
- Console.WriteLine("第{0}位玩家昵称为 :{1}", i + 1, (name[i]));
- }
- Console.ReadKey();
- }
- /// <summary>
- /// 输入一个人数。
- /// 最小人数为1,playerMax控制最大人数。
- /// </summary>
- /// <returns>参加的人数</returns>
- private static int PlayerNum()
- {
- int playerNumber = 0;
- int playerMax = 4; //最大参加人数
- do
- {
- Console.WriteLine("请输入参加的人数(1—{0}人):", playerMax);
- try
- {
- //接收用户输入的人数
- playerNumber = Convert.ToInt32(Console.ReadLine());
- //判断人数是否小于1或者超过最大限制的人数
- if (playerNumber <= 0 || playerNumber > playerMax)
- {
- Console.WriteLine("必须输入一个1到{0}之间的整数!", playerMax);
- continue;
- }
- break;
- }
- catch
- {
- Console.WriteLine("请输入一个整数!");
- }
- } while (true);
- return playerNumber; //返回用户输入的人数
- }
- /// <summary>
- /// 让用户输入每一个玩家的姓名,并返回所有玩家的姓名。
- /// </summary>
- /// <param name="number">玩家的人数</param>
- /// <returns>所有玩家的昵称</returns>
- private static string[] PlayerName(int number)
- {
- //定义一个数组存放玩家姓名
- string[] name = new string[number];
- for (int i = 0; i < name.Length; i++)
- {
- Console.WriteLine("请输入第{0}位玩家的姓名:", i + 1);
- name[i] = Console.ReadLine();
- while (name[i] == "") //判断玩家姓名是否为空,为空则重新输入
- {
- Console.WriteLine("姓名不能为空,请重新输入第{0}位玩家姓名:", i + 1);
- name[i] = Console.ReadLine();
- }
- if (i > 0) //判断玩家人数,两位以上需要核对姓名是否相同
- {
- for (int j = 0; j < i; j++) //当前输入的玩家姓名与已经存在的所有玩家姓名进行对照,看是否相同
- {
- if (name[i] == name[j])
- {
- Console.WriteLine("该姓名与第{0}位玩家相同,请重新输入第{1}位玩家姓名:", j + 1, i + 1);
- name[i] = Console.ReadLine();
- }
- }
- }
- }
- return (string[])name; //返回玩家姓名
- }
- }
- }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。