我已經在C#中完成了一個月的壟斷遊戲,並且我完成了所有的任務,從頭開始我只有一個問題。有兩種形式。首先,您可以選擇有多少玩家正在玩並輸入他們的名字。其次是遊戲,我已經測試過,它將玩家名稱從form1傳遞給form2,但是當我使用類Player的構造函數時,它似乎不適用它。 它看起來像這樣 表2:字符串在使用構造函數時不會出現在類中
public static string PlayerName1;
public static string PlayerName2;
public static string PlayerName3;
public static string PlayerName4;
public static Player Player1 = new Player(0, PlayerName1, 1, 10000);
public static Player Player2 = new Player(1, PlayerName2, 1, 10000);
public static Player Player3 = new Player(2, PlayerName3, 1, 10000);
public static Player Player4 = new Player(3, PlayerName4, 1, 10000);
正如我所說的,PlayerName(全部)完全在窗口2我測試了它的標籤,它顯示了它的權利,所以它不是問題,把它傳到form1的
現在Player類代碼:
public int ID;
public string Name;
public int Field;
public int Money;
public Player(int id, string name, int field, int money)
{
ID = id;
Name = name;
Field = field;
Money = money;
}
所以現在這是我在窗口2使用這些值:
private void update()
{
switch (turn)
{
case 0: PlayerName.Text = Player1.Name;
Money.Text = Convert.ToString(Player1.Money) + "$";
break;
case 1: PlayerName.Text = Player2.Name;
Money.Text = Convert.ToString(Player1.Money) + "$";
break;
case 2: PlayerName.Text = Player3.Name;
Money.Text = Convert.ToString(Player1.Money) + "$";
break;
case 3: PlayerName.Text = Player4.Name;
Money.Text = Convert.ToString(Player1.Money) + "$";
break;
}
}
PlayerName和Form2中的Money是標籤,Money標籤與每個「更新」完美匹配,但PlayerName標籤始終爲空。它是可見的,它有文本「名稱」,當我打開Form2,但第一次「更新」後,它是空的,並保持這種狀態,直到我重新啓動程序。我也在消息框中使用Player.PlayerName當從一個玩家支付租金到另一個時,它也不能在那裏工作...希望有人可以幫助我,我必須明天完成這個,它不是像我會得到更少等級爲這個,但我想一切都完美地:)
從上面顯示的內容看來,您只是傳遞空字符串。嘗試填寫名稱,然後初始化播放器對象。 –