2016-02-15 65 views
0

我通過在Windows窗體中一個非常簡單的遊戲開發我接近零C#編程。在我最新的表格中,我使用其他表單傳遞的變量聲明瞭新的變量。但是,我無法從其他方法訪問變量。傳遞變量到按鈕單擊事件

public Form3(int str, int dex, int vit, int arc, int hp, int mp, int sp, string name, string charClass) 
    { 
     InitializeComponent(); 
     int point = 0; 
     int level = 1; 
     int exp = 0; 
     int hpPotions = 1; 
     int gold = 20; 
     int travelDistance = 1; 
     nameBox.Text = name; 
     maxhpBox.Text = hp.ToString(); 
     curhpBox.Text = hp.ToString(); 
     maxmpBox.Text = mp.ToString(); 
     curmpBox.Text = mp.ToString(); 
     maxspBox.Text = sp.ToString(); 
     curspBox.Text = sp.ToString(); 
     strBox.Text = str.ToString(); 
     dexBox.Text = dex.ToString(); 
     vitBox.Text = vit.ToString(); 
     arcBox.Text = arc.ToString(); 
     pointsBox.Text = point.ToString(); 
     levelBox.Text = level.ToString(); 
     expBox.Text = exp.ToString(); 
     classBox.Text = charClass; 
    } 

    public int TravelDecider() 
    { 
     Random travelInt = new Random(); 
     int travelValue = travelInt.Next(1, 10); 
     return travelValue; 
    } 
    private void Form3_Load(object sender, EventArgs e) 
    { 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 

    } 

    private void rightBtn_Click(object sender, EventArgs e) 
    { 
     int travelValue = TravelDecider(); 

     if (travelValue == 1) 
     { 
      locdescBox.Text = "During your travels, you encounter nothing of interest along the way. There is the occasional merchant or villager along the road, all seemingly bent on getting to their destination in good time."; 
      travelDistance++; 
     } 
    } 

帶有travelDistance ++的最後一段代碼是我的問題,因爲它在當前上下文中不存在。

其他一些解決方案,我在其他網站上發現使用涉足;組; (我不太熟悉)和其他替代方法,超出了我的視野。

對不起,因爲我確信這是一個真正的初學者錯誤,而且我真的不確定Overflow是否歡迎處於這樣低水平的人,所以很抱歉如果是這樣的話。如果還有其他地方,我應該開始發展與此相關的技能,我很樂意提供建議。我很感激幫助。

回答

2

可以通過聲明它的方法之外作出travelDistance有較高的範圍。從而使該類的所有方法都可以訪問它。

private int travelDistance = 1; 

public Form3(int str, int dex, int vit, int arc, int hp, int mp, int sp, string name, string charClass) 
{ 
    ... 
} 
+0

哇,這是一個非常簡單的解決方案。我很感激你回答的時間。 – Arcaster