三、游戏设计
在了解了纸牌游戏的一些重要规则后,现在我们来探讨一些基本的编程技术。为了更好地了解纸牌游戏的开发规则,让我们先看看游戏画面上的不同分区,如图3所示。
注意:在图3中我们特意使用了开发本游戏中使用的一些数据结构名称。接下来,我们将给出解释。
为简化起见,我们只列出在我们的游戏中使用的最重要的数据结构,如下所示。
List Board;
List Deck;
List[] SuitStack ;
List[] RowStack;
List PlaceHolder;
在上面的代码中,变量CurrentCard用来保存当前扑克。当你单击屏幕上的任何扑克之一,该变量的值即刻决定下来。
第二个List
为了方便确定扑克的位置,我们还推出一个List
PlaceHolder = new List(13);
PlaceHolder.Add(new Rect(0 + PADDING, 0 + PADDING, WIDTH, HEIGHT1));//topleft
PlaceHolder.Add(new Rect(89 + PADDING, 0 + PADDING, 2 * WIDTH, HEIGHT1));//swap area
PlaceHolder.Add(new Rect(267 + PADDING, 0 + PADDING, WIDTH, HEIGHT1));//topright1
PlaceHolder.Add(new Rect(355 + PADDING, 0 + PADDING, WIDTH, HEIGHT1));//topright2
PlaceHolder.Add(new Rect(443 + PADDING, 0 + PADDING, WIDTH, HEIGHT1));//topright3
PlaceHolder.Add(new Rect(532 + PADDING, 0 + PADDING, WIDTH, HEIGHT1));//topright4
PlaceHolder.Add(new Rect(0 + PADDING, 114 + PADDING, WIDTH, HEIGHT2));//bottom1
PlaceHolder.Add(new Rect(89 + PADDING, 114 + PADDING, WIDTH, HEIGHT2));//bottom2
PlaceHolder.Add(new Rect(180 + PADDING, 114 + PADDING, WIDTH, HEIGHT2));//bottom3
PlaceHolder.Add(new Rect(267 + PADDING, 114 + PADDING, WIDTH, HEIGHT2));//bottom4
PlaceHolder.Add(new Rect(355 + PADDING, 114 + PADDING, WIDTH, HEIGHT2));//bottom5
PlaceHolder.Add(new Rect(443 + PADDING, 114 + PADDING, WIDTH, HEIGHT2));//bottom6
PlaceHolder.Add(new Rect(532 + PADDING, 114 + PADDING, WIDTH, HEIGHT2));//bottom7
}
从前面的图3中你也不难看到屏幕上共对应着13个扑克占位符。为此,我们定义了一个可以存储13个元素的List