2016-09-26 44 views
0

我正在C#中製作一個非常小的RPG遊戲來練習一些技巧(並獲得樂趣!)。我已經非常熟悉圖像,按鈕等。 我的問題是,當我嘗試將我的標籤字符串轉換爲整數時將引發錯誤,並將其與我的attackingPhase()方法進行比較。C#標籤字符串到int轉換錯誤

這是我的代碼和錯誤的截圖。

我相信我的代碼是正確的,但我無法弄清楚爲什麼錯誤被拋出。

謝謝你的幫助。

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace RPG 
{ 
public partial class Form2 : Form 
{ 
    private Form1 mainForm = null; 

    public Form2(Form callingForm) 
    { 
     mainForm = callingForm as Form1; 
     InitializeComponent(); 

     pictureBox1.Image = mainForm.MyPictureBoxEnemy.Image; 
     pictureBox2.Image = mainForm.MyPictureBoxHero.Image; 
     lbl_Health_Value_Enemy.Text = "100"; 
     lbl_Health_Value_Hero.Text = "100"; 

    } 

    public void attackingPhase() 
    { 
     Random rnd = new Random(); 

     int enemy_damage = rnd.Next(1, 25); 
     int hero_damage = rnd.Next(2, 15); 

     var enemyHealth = Convert.ToInt32(lbl_Health_Value_Enemy); 
     var heroHealth = Convert.ToInt32(lbl_Health_Value_Hero); 

     if((enemyHealth & heroHealth) > 0) 
     { 
      enemyHealth = enemyHealth - enemy_damage; 
      heroHealth = heroHealth - hero_damage; 
     } else 
     { 
      MessageBox.Show("DEAD"); 
     } 

     lbl_Health_Value_Enemy.Text = enemyHealth.ToString(); 
     lbl_Health_Value_Hero.Text = heroHealth.ToString(); 
    } 

    private void btnAttack_Click(object sender, EventArgs e) 
    { 
     attackingPhase(); 
    } 
} 
} 

Error Message

+1

錯誤是告訴你到底出了什麼問題'lbl_Health_Value_Enemy'改爲'lbl_Health_Value_Enemy.Text' – MethodMan

+1

同意methodman,我也推薦使用Int32.TryParse(string,out yourint)來處理 – Danimal

+0

錯誤並不是說問題是w ith''.Text'我嘗試過去.toString,但是這個錯誤對我來說並不明顯。不知道爲什麼這會在求救時被低估。我問了一個有效的問題 – Ashton

回答

4

你需要一個標籤的Text屬性轉換,

var enemyHealth = Convert.ToInt32(lbl_Health_value_Enemy.Text); 
var heroHealth = Convert.ToInt32(lbl_Health_Value_Hero.Text); 
+0

GAH!當然!我用'.toString()'試過了,它也拋出了錯誤,但是當然它需要是.Text,因爲標籤。非常感謝你! :) – Ashton

+0

我會的!我因爲某種原因被低估了,但對我來說這是一個有效的問題,我提供了所有信息:/當這樣做的時限到期時,我將標記爲答案。謝謝! – Ashton

+0

@Ashton Upvoted它,可能是因爲你附加了屏幕截圖而不是代碼 – Sajeetharan