私のC#ゲームTextQuestでは、戦闘システムが現在進行中であり、問題が発生しました。プレイヤーがミスした場合、モンスターもミスします(常に同時に)。使用されるコードは次のとおりです。
private void button1_Click(object sender, EventArgs e)
{
Monster_Class mc = new Monster_Class();
Account_Class ac = new Account_Class();
if (hitOrMiss())
{
int hit = -1;
hit = mc.hitAmount(ac.getAtk(Properties.Settings.Default.CurrentUser), mc.getDef(monster));
mhealth -= hit;
if (hit == -1)
{
setText("You missed.");
}
else
{
setText("You hit " + hit + ".");
}
monsterHit();
update();
}
else
{
setText("You missed.");
monsterHit();
}
}
private void monsterHit()
{
Monster_Class mc = new Monster_Class();
Account_Class ac = new Account_Class();
if (hitOrMiss())
{
int hit = -1;
hit = mc.hitAmount(mc.getAtk(monster), ac.getDef(Properties.Settings.Default.CurrentUser));
phealth -= hit;
if (hit == -1)
{
addText(monster + " missed.");
}
else
{
addText(monster + " hit " + hit + ".");
}
}
else
{
addText(monster + " missed.");
}
}
private bool hitOrMiss()
{
bool hit = true;
Random rand = new Random();
if (rand.Next(101) < 15)
{
hit = false;
}
return hit;
}
public int hitAmount(int Atk, int Def)
{
int hit = -1;
Random rand = new Random();
int deturm = rand.Next(6);
try
{
hit = ((Atk + deturm * 3) / Def + 1) / 2;
if (hit == 0)
{
hit = 1;
}
}
catch { }
return hit;
}
また、与えられたダメージの量についてより良いアイデアがあれば、私に知らせてください。数字と記号を一緒に投げただけなので