嗨, 我正在使用Visual Studio Winforms,我正在嘗試構建井字棋。 我被卡在檢查球員贏的方法。 我試圖在激活時做到這一點。小例子:如何檢查玩家是否在井字棋遊戲中獲勝?
private void StartForm_Activated(object sender, EventArgs e)
{
if ((_pcb1.Image == imagecircle) && (_pcb2.Image == imagecircle) && (_pcb3.Image == imagecircle))
{
MessageBox.Show("You Win!");
}
if ((_pcb4.Image == imagecircle) && (_pcb5.Image == imagecircle) && (_pcb6.Image == imagecircle))
{
MessageBox.Show("You Win!");
}
if ((_pcb7.Image == imagecircle) && (_pcb8.Image == imagecircle) && (_pcb9.Image == imagecircle))
{
MessageBox.Show("You Win!");
}
}
(我知道,有更多的情況下取勝)。 它從來沒有進入方法,我試圖找到一種方法,總是在表單打開時激活。請幫助:)
你的方法在如此多的層面上是錯誤的!您需要保留一個表示電路板當前狀態的模型對象。無論何時將圖像放在電路板上,都要用相應的項目標記模型(十字形或圓形)。在模型類中創建一個方法來確定誰贏了(如果有的話)。在每次移動後調用此方法來決定下一步做什麼(顯示消息框或等待下一步移動)。 – dasblinkenlight
你不想鉤住'Activated'。取而代之的是,在玩家點擊時在同一個地方設置X或O來檢查勝利。 – wablab