根据起点填充矩形但必须在一行中

时间:2013-02-20 12:49:24

标签: c# drawing rectangles

我知道有人可以帮助我。

我正忙着开发一个选择单词游戏,但我不知道如何突出显示所选字母。

我正在创建一个块网格。

然后,当用户单击并将鼠标从块移动到另一个时,我使用Rect来检查它们是否相交,我将该块标记为已选中但是当选择块编号3时我需要忽略块编号2当选择块编号4时,应该发生同样的事情。因此,该模式是:不应选择1,3,5,7个数字2,4,6。

enter image description here

亲切的问候,

约翰

1 个答案:

答案 0 :(得分:0)

我认为它是一个标准的猜词游戏,其中单词字母总是落在45度角的站立线,睡眠线或线上的方框中。在这种情况下,您只需要一个用户输入的开始框和结束框,您可以通过添加+1来选择/标记开始框中的所有框,直到您到达最后一个框。

假设用户盯着startBox(rowStart,colStart)直到lastBox(rowLast,colLast) 所以你需要做的就是

rowPos = startBox.rowStart;
colPos = startBox.colStart;

do{
  mark startBox(rowPos, colPos)
  rowPos++;
  colPos++;
} while(rowPos<=rowLast && colPos<=colLast)

注意:您必须评估startBox和lastBox以确定用户是在右下角,左下角,右上角还是左上角,并相应地向行和/或列添加/减去1。