我正在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();
}
}
}
錯誤是告訴你到底出了什麼問題'lbl_Health_Value_Enemy'改爲'lbl_Health_Value_Enemy.Text' – MethodMan
同意methodman,我也推薦使用Int32.TryParse(string,out yourint)來處理 – Danimal
錯誤並不是說問題是w ith''.Text'我嘗試過去.toString,但是這個錯誤對我來說並不明顯。不知道爲什麼這會在求救時被低估。我問了一個有效的問題 – Ashton