我有我的C#保齡球遊戲的問題,我會appericate一些幫助,我會嘗試解釋代碼以及我可以。我一直試圖解決這個問題很長一段時間,但沒有成功。C#保齡球遊戲計算問題
計算工作正常,但唯一的問題是我的罷工,罷工應該計算10 +接下來的2次即將投擲。
那麼我的程序做:
如果你得到一個罷工的第一個值將被設置爲10,然後我進入另一個罷工和值設置爲21,但應該是20.第二個框,然後應該有30.
的值所以首先我有3個數組來容納所有的文本框
summa = new TextBox[] { textBox14, textBox15, textBox16, textBox17, textBox18, textBox19 };
slag1 = new TextBox[] { textBox1, textBox3, textBox5, textBox7, textBox9, textBox11 };
slag2 = new TextBox[] { textBox2, textBox4, textBox6, textBox8, textBox10, textBox12 };
所以我有2種方法,Slag1()
和Slag2()
撞擊運行在Slag1()
方法。
這是我使用罷工
if (strike == true)
{
GotStrike[omgang] = true;
}
//strike = false;
//Kollar ifall textbox är lika med 10
if (slag1[omgang].Text == "10")
{
//Om text box är lika med 10 ändra värdet till X
//Lägg till 10 poäng på total
//Skriv ut värdet på summa (textbox)
Arbetar = true;
slag1[omgang].Text = "X";
total += 9;
summa[omgang].Text = total.ToString();
omgang++;
if (omgang == 6)
{
omgang--;
}
strike = true;
}
else if (slag1[omgang].Text == "X")
{
return;
}
else
{
checkSlag1 = Convert.ToInt32(slag1[omgang].Text);
total += checkSlag1;
summa[omgang].Text = total.ToString();
if (strike == true)
{
if (omgang != 0)
{
total += 10;
slag1[omgang - 1].Text = total.ToString();
if (omgang != 1)
{
slag1[omgang - 2].Text = total.ToString();
}
else
{
}
}
else
{
}
}
}
}
這有點難以解釋,但我希望你明白的計算部分,請告訴我,如果你不明白,所以我會寫一個更好的說明。
我希望你知道一個保齡球遊戲是如何工作的,一擊=第一擊,並在未來2個即將來襲的價值。所以,如果我打一擊,我得到的值10,罷工2值的10和10。3罷工值這是總指數爲0
如果你不明白這部分代碼您可以自由在這裏檢查源代碼:HTTP:// pastebin.com/p6cttLX3 – BunnYboii
您已混合UI和邏輯([的SoC(http://en.wikipedia.org/wiki/Separation_of_concerns))。如果將它們分開,編寫測試以查明事情出錯的地方會更容易。 [保齡球](http://www.objectmentor.com/resources/articles/xpepisode.htm)也用於(我認爲)Kent Beck的書「測試驅動開發」。 – Laoujin
你能舉一個我應該如何構建我的代碼的例子嗎?因爲我沒有你想要告訴我的東西。 – BunnYboii