vb.net实现游戏:统计牌张并设计方块类

需积分: 12 2 下载量 65 浏览量 更新于2024-08-17 收藏 2.53MB PPT 举报
在VB.NET开发的游戏"对对碰"中,第6章至第10章主要关注实现游戏中获取每种类型牌的张数功能。这一部分的核心是通过遍历PictureBox类型的卡片数组(cards),利用每个卡片的Tag信息中的前两位数字来统计不同类型的牌的数量。具体步骤如下: 1. 定义一个名为`getCardsNumber`的私有函数,它接受一个IList(Of PictureBox)类型的参数`cards`,用于存储游戏中的卡片对象。 2. 在函数内部,首先创建一个Hashtable对象`hash`,作为存储牌类型及其数量的数据结构。哈希表在这里扮演了键值对的角色,其中键是牌的类型代码(由Tag的前两位数字组成),值是对应类型的牌数量。 3. 使用`For Each`循环遍历cards数组,通过卡片的Tag属性提取出前两位数字,例如"03"代表黑桃4。然后检查`hash`中是否已有这个键(即已知牌类型),如果有,将对应的value(数量)加1;如果没有,添加新的键值对,value设为1。 4. 遍历结束后,`hash`中的键值对反映了每种牌的准确数量。通过比较`hash`中某个键对应的value值,比如"03"的value为3,即可得知有3张黑桃4。 5. 游戏的基本规则包括:交换相邻的图像,消去成链的相同图像,以及根据连锁的次数计分。为了实现这些规则,游戏设计中涉及了Block类和GameField类的创建。Block类负责表示游戏中的每个方块,包含坐标、图案和图案种类代号等属性,提供了读写属性的方法以便于操作。GameField类则是整个游戏场景的管理器,它使用Block类的二维数组来存储并更新游戏状态,同时管理用户得分和游戏结束条件。 6. 游戏设计的要点还包括如何初始化游戏素材,如图案方块的数组设置,以及定时器的使用,用于动态更新屏幕和处理游戏逻辑。在这个过程中,通过统计用户得分和监控生命进度条来控制游戏流程,当生命进度条为0时,游戏结束并显示结局画面。 总结起来,这部分内容着重介绍了如何通过哈希表技术在VB.NET开发的对对碰游戏中实现统计牌的种类和数量,以及游戏逻辑的核心组件设计,如Block类和GameField类的功能和交互。通过这些核心功能,游戏能够提供丰富的互动体验,鼓励玩家通过策略和技巧来消除连续的图像,从而获得更高的分数。