大家好,我是自学计算机vb的人,现在有个程序不会设计了,请大家帮帮忙吧,谢谢了!550882098是我的qq号!



一、设计题目:自动发牌
二、目的与要求
1.目的
培养学生综合利用VB语言进行程序设计,解决实际问题的能力。
2.基本要求

程序模拟扑克牌的洗牌、发牌过程。通过相应的命令按钮,在新弹出的窗口中显示每人手中持有的扑克牌。

3.创新要求

在基本要求达到后,进行创新设计,创新方向提示如下:

★对每人手中的牌按不同花色由大到小排序。

★把每人手中持有的扑克牌图片按扇形排列显示,图片之间相互遮挡,点击图片,置于顶层显示。

★其他你能够想到或者希望实现的功能

三、设计方法和基本原理

1. 问题描述

一副扑克有52张牌,打桥牌时应将牌分给四个人。请设计一个程序完成自动发牌的工作。要求:黑桃用S (Spaces)表示;红桃用H (Hearts)表示;方块用D (Diamonds)表示;梅花用C(Clubs)表示。按照打桥牌的规定,每人应当有13张牌。在人工发牌时,先进行“洗牌”,然后将洗好的牌按一定的顺序发给每一个人。为了便于计算机模拟,可将人工方式的发牌过程加以修改:先确定好发牌顺序:西、北、东、南;将52张牌按花色顺序编号:如黑桃用S1-S13表示;红桃用H1-H13表示;红桃用H1-H13表示;红桃用H1-H13表示;然后从52张牌中随机的为每个人抽牌。

2. 问题的解决方案

①设计程序界面。

主窗体如上图。点击发牌按钮后,再点击西、北、东、南按钮弹出新的一个窗口显示手中的13张牌。

②分析程序构成

在“发牌”按钮完成洗牌——产生一个随机序列,对随机序列排序,完成洗牌;发牌——把52数组元素的值(52张牌)分别赋值给代表西、北、东、南四方的数组。西、北、东、南按钮弹出新窗口,用Image控件数组显示13张扑克牌。13个Image控件数组元素上下叠放,鼠标点中的图片通过Zorder方法把图片提前显示。在每个新弹出窗口的Load事件里加载Image控件数组元素,在Activate事件里加载图片。

③编写代码

在标准模块里说明用户自定义类型:

Type Cards

Num As String * 3

Seq As Integer

End Type

Num存放扑克牌编码,如S13表示黑桃K,Seq存放本张牌在52张牌中的序号。对Seq赋值随机数,然后排序,模拟洗牌过程。

定义:

Public WPlayer(1 To 13) As String

Public EPlayer(1 To 13) As String

Public SPlayer(1 To 13) As String

Public NPlayer(1 To 13) As String

4个数组存放每人手里的13张牌。

把Card.Num赋值给WPlayer模拟发牌过程。

图片的加载代码:

.Picture = LoadPicture(App.Path & "\GIF\" & Trim(NPlayer(I + 1)) & ".GIF")

四、主要技术问题的描述

本题技术重点除了上述用户类型之外,还要用到多维数组排序以及Image控件数组动态加载图片、对象的叠放顺序等。

五、参考资料

★Visual Basic 程序设计教程 及 Visual Basic 实验教程

★VB6.0程序员指南

★VB6.0控件参考手册

★MSDN中文版,课程设计网站上提供的其它资料。

在本题设计素材中还提供了如下本题专用资料:

扑克图片
谢谢大家,我真的着急

第1个回答  2012-06-23
要自学!
相似回答