C#标签字符串转换为int转换错误

时间:2016-09-26 18:18:46

标签: c#

我正在用C#做一个非常小的RPG游戏来练习一些技巧(并且玩得开心!)。我已经与图像,按钮等相距甚远。 我的问题是,在尝试将我的标签字符串转换为整数以便与我的attackingPhase()方法进行比较时,我遇到了错误。

这是我的代码和错误的屏幕截图。

我相信我的代码是正确的,但我无法弄清楚为什么会抛出错误。

感谢您的帮助。

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 个答案:

答案 0 :(得分:4)

您需要转换标签的Text属性

Makefile