經過兩個方法,分別獲得用戶輸入的人數和全部人的姓名,做爲遊戲程序的一個小功能。數組
- 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; //返回玩家姓名
- }
- }
- }