0

我正在尝试使用一种简单的方法将 X 和 O 打印到下面的网格中,而无需使用多个 If-Else 语句。我正在为应用程序使用 575x620 的屏幕尺寸。

Rectangle(hdc, 5, 570, 550, 5);

Rectangle(hdc, 50, 50, 200, 200);
Rectangle(hdc, 200, 50, 350, 200);
Rectangle(hdc, 350, 50, 500, 200);

Rectangle(hdc, 50, 200, 200, 350);
Rectangle(hdc, 200, 200, 350, 350);
Rectangle(hdc, 350, 200, 500, 350);

Rectangle(hdc, 50, 350, 200, 500);
Rectangle(hdc, 200, 350, 350, 500);
Rectangle(hdc, 350, 350, 500, 500);


if( ttt.board[ 0 ][ 0 ] == 1 )
{
    MoveToEx(hdc, 50, 50, NULL);
    LineTo(hdc, 200, 200);
    MoveToEx(hdc, 200, 50, NULL);
    LineTo(hdc, 50, 200);
}
else
{
    Ellipse(hdc, 50, 50, 200, 200);
}

上面的代码将第一个 X 和 O 打印到第一个块,我想对剩余的块做同样的事情,而不需要大量的 If-Else 语句。有人对我如何实现这个有想法或建议吗?数据成员是否正在检查是否我单击了该框。

4

1 回答 1

0

我会写一个draw_cross函数,你将它应该绘制的正方形的一个角(或中心,如果你愿意的话)传递给它。同样,一个draw_circle. 然后穿过板子,并用它们在每个方格中画出适当的一个。

于 2012-09-24T19:56:05.097 回答