VB小程序

ccip1 2010-06-27 05:36:01
一,题目21点
二、目的与要求:
1.目的:
培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。
2.基本要求:
现有一副牌,两人进行21点游戏。要求每人发最多5张牌,然后将点数相加比较大小,大于10的算半点。如果都小于21点,则点数大的赢;如果一人超过了21点则另一个人赢;都超过21点都输;一方发完5张牌后<=21点而另一方<5张牌则第一方赢。详细要求如下:
 编写控制游戏的菜单;
 游戏开始输入玩家的姓名,通过标签显示在窗体上,同时发第一张牌;
 单击“发牌”按钮给相应的玩家发下一张牌,发够5张则不能再发;单击“不要了”不再发牌使两个按钮不可操作,并计算出最后的点数;
 每张牌最多时用四次;
 当两人都不再要牌时,根据上面的规则确定两玩家的输赢,显示最后结果;
 相同两个玩家一次游戏可以进行多局。
3.创新要求:
 设定一次游戏的局数,局数多的玩家赢得比赛;
 比赛结束显示比赛的详细情况;
 给每张牌分配一种花色;
 可以自己扩展;
三、设计方法和基本原理:
1.问题描述:
1) 一副牌有13种牌,记为1~13,每种牌共4种花色分别发给两人;
2) 单击“发牌”按钮发牌,将牌显示到窗体上,最多5张;
3) 两玩家都不要牌或发够5张后则显示点数并比较点数大小,规则已给出;
2.问题的解决方案:
根据问题描述,可以将问题解决分为步:
1) 定义一维数组n(13),分别赋值为1~13代表13种牌;给两人分牌所以定义二维数组card(2,5),第一列代表玩家,第2~5列分别表示两玩家的牌;定义一维数组num(13)表示每张牌使用的次数
2) 在窗体上利用label控件的caption属性,将牌显示出来,这里可以利用控件数组。
3) 需定义两个全局变量记录发牌的个数game1和game2,到5个后不能在发牌;同时计算出每个玩家的现有点数,同样需定义两个全局变量Add1和Add2;
4) 比较点数大小主要是比较Add1和Add2的大小,同时注意规则。
四、主要技术问题的描述:
此程序要解决的问题有以下几个:
1) 给数组card(2,5)赋值,通过循化程序,从数组n(13)中随机得到数值:
Do
Card(i, j) = n(Int(Rnd * 13 + 1))
Loop While Card(i, j) = 0
由于每张牌最多4张,因此利用num(13)分别记录n(13)中相应的书的个数,当到4次,则将n()中相应的位置清零。如card(I,j)得到值为1则:
num(1) = num(1) + 1
If num(1) = 4 Then n(1) = 0
2) 利用两个标签控件数组label1(index)和label2(index)显示牌。因此可以在设计状态下在窗体上添加两个控件数组。发牌时Label1(Game1).Caption = Card(1, Game1 + 1)同时计算点数
If Card(1, Game1 + 1) > 10 Then
Add1 = Add1 + 0.5
Else
Add1 = Add1 + Card(1, Game1 + 1)
End If
3) 设置菜单要输入玩家的姓名,同时要到程序中的变量进行初始化,这样才能连续进行;同时设置窗体上相应控件是否可见。

完整工程请发邮件至316550060@qq.com
写上您的名字,用于结贴。
...全文
367 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccip1 2010-06-29
  • 打赏
  • 举报
回复
自己弄了弄百分之80功能都实现了

虽然没人写,是谢谢大家


结贴了
大刘0417 2010-06-29
  • 打赏
  • 举报
回复
要求太复杂了
peakerhear 2010-06-29
  • 打赏
  • 举报
回复
有难度~~~~~~
hujiadang 2010-06-29
  • 打赏
  • 举报
回复
看似平常的东西,你一但想编个程序就比较烦了
zhsleep 2010-06-28
  • 打赏
  • 举报
回复
呵呵。。。。。。
jason成都 2010-06-28
  • 打赏
  • 举报
回复
当然可以在网上下载一个然后自己模仿
jason成都 2010-06-28
  • 打赏
  • 举报
回复
这个是一个游戏了。写完不算小哦。
sudan_727923 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 machong8183 的回复:]
这个要给RMB吧?
[/Quote]
要不然没人做吧!
水猿兵团五哥 2010-06-28
  • 打赏
  • 举报
回复
这个要给RMB吧?
yzw0356 2010-06-28
  • 打赏
  • 举报
回复
直接不懂什么意思
兔子-顾问 2010-06-27
  • 打赏
  • 举报
回复
ccip1 2010-06-27
  • 打赏
  • 举报
回复

界面
please_call_me_J 2010-06-27
  • 打赏
  • 举报
回复
等着很闲的前辈来写。。。。

楼主的要求太强势了。。。。。


16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧