私は以下を持っています、そしてそれは動作します:
私のプレーヤークラス:
public Player(string Str, string SP)
{
Strength = Str;
StatPoints = SP;
}
public string StatPoints
{
get;
set;
}
public string Strength
{
get;
set;
}
私のフォーム1には、テキストボックスとボタンがあります。ボタンは、SP テキストボックスに 0 より大きい値がある限り、テキストボックスの値を 1 ずつ増やします。問題は、文字列を int に変換する必要があるため、2 つの値を管理するために 6 つの変数を宣言していることです。テキスト ボックスを本質的に int のものに置き換える方法はありますか? これまでの私のキャラクターシートコードは次のとおりです。
private void AddButton_Click(object sender, EventArgs e)
{
Player PCStats = new Player(StrBox.Text, SPBox.Text);
int IntPCSP = Convert.ToInt16(PCStats.StatPoints);
int IntPCStr = Convert.ToInt16(PCStats.Strength);
if (IntPCSP >= 1 && IntPCStr <= 7)
{
IntPCStr++;
IntPCSP--;
PCStats.Strength = IntPCStr.ToString();
PCStats.StatPoints = IntPCSP.ToString();
StrBox.Text = PCStats.Strength;
SPBox.Text = PCStats.StatPoints;
}
else
{
MessageBox.Show("Earn more experience!");
}
/*
MessageBox.Show("PCStats.StatPoints equals" + PCStats.StatPoints);
MessageBox.Show("PCStats,Strength equals" + PCStats.Strength);
MessageBox.Show("IntPCSP Equals" + IntPCSP.ToString());
MessageBox.Show("IntPCStr Equals" + IntPCStr.ToString());
*/
}
または、私が完全に見落としていたこれを行うためのさらに簡単な方法があります。多くの試行錯誤の末、ようやくこのビットが機能するようになったことに非常に興奮しましたが、やり直すことはできます。ただし、テキストボックスを置き換えるだけなので、変数をあちこちに変換することはありません。