用VB做石头剪刀布游戏

picture4显示电脑出的图片,picture1、2、3分别为石头、剪刀、布,点击picture1、2、3任意一个,picture4随机显示电脑出的结果,决出游戏胜负代... picture4显示电脑出的图片,picture1、2、3分别为石头、剪刀、布,点击picture1、2、3任意一个,picture4随机显示电脑出的结果,决出游戏胜负

代码+解释

只给代码不给分!
解释得好+20分!
展开
 我来答
hxy060799
2011-07-17 · TA获得超过257个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:316万
展开全部
这是一个很简单的游戏。大致流程如下:在点击下picture的时候,生成一个1-3随机数(也就是电脑出的),可以把石头、剪刀、布分别看作0、1、2然后用if来进行判断,最后记下胜负。
代码如下:
请在程序目录下放上三个jpg图片名为“剪刀”、“石头”、“布”picture123的图片请自己在属性列表中设置,pictue4 有电脑加载
Option Explicit'全局变量声明
Dim YouChoose'记录你的选择
Dim ComputerChoose'记录电脑选择

'0 石头 1剪刀 2布
Private Sub Picture1_Click()'选了石头
YouChoose = 0'记录下石头
Randomize'随机数生成函数
ComputerChoose = Int(Rnd() * 3)'电脑选择,并记录下载
display'显示电脑的选择(这是个用户函数)
ToGo'判断胜负(这是个用户函数)
End Sub

Private Sub Picture2_Click()'基本同上,选择剪刀
Randomize
YouChoose = 1
ComputerChoose = Int(Rnd() * 3)
display
ToGo
End Sub

Private Sub Picture3_Click()'基本同上,选择石头
Randomize
YouChoose = 2
ComputerChoose = Int(Rnd() * 3)
display
ToGo
End Sub

Sub ToGo()'判断胜负函数
If YouChoose = ComputerChoose Then'一样就平
MsgBox "平"
ElseIf (YouChoose = 0 And ComputerChoose = 1) Or (YouChoose = 1 And ComputerChoose = 2) Or (YouChoose = 2 And ComputerChoose = 0) Then'出现三种获胜可能之一就判定获胜
MsgBox "你赢"
Else'其他则输
MsgBox "电脑赢"
End If
End Sub
Sub display()'显示电脑的选择
On Error Resume Next'碰到错误则继续
If ComputerChoose = 0 Then'如果电脑选石头
Picture4.Picture = LoadPicture(App.Path + "石头.jpg")'加载石头图片
MsgBox "石头"'对话框弹出石头
ElseIf ComputerChoose = 1 Then'同上
Picture4.Picture = LoadPicture(App.Path + "剪刀.jpg")
MsgBox "剪刀"
ElseIf ComputerChoose = 2 Then
Picture4.Picture = LoadPicture(App.Path + "布.jpg")
MsgBox "布"
End If
End Sub
aa4681464
推荐于2017-10-09 · TA获得超过1138个赞
知道小有建树答主
回答量:922
采纳率:0%
帮助的人:828万
展开全部
  没有图 全用字代替吧!
  很简单。 创键三个command按钮就行了

  复制代码

  '1石头
  '2剪刀
  '3布
  Private Sub Form_Load()
  Command1.Caption = "石头"'改各个按钮的名字
  Command2.Caption = "剪刀"
  Command3.Caption = "布"
  End Sub

  Private Sub Command1_Click() '石头
  Dim CPU As Integer
  Dim a As String
  CPU = Int(Rnd * 3) + 1 'Rnd生成 大于0 小于1 之间的随机数 ,这里是生成1-3的随机数

  If CPU = 1 Then a = "石头,平局"
  If CPU = 2 Then a = "剪刀,玩家赢"
  If CPU = 3 Then a = "布,电脑赢"
  MsgBox "玩家出石头,电脑出" & a
  End Sub

  Private Sub Command2_Click() '剪刀
  Dim CPU As Integer
  Dim a As String
  CPU = Int(Rnd * 3) + 1

  If CPU = 1 Then a = "石头,电脑赢"
  If CPU = 2 Then a = "剪刀,平局"
  If CPU = 3 Then a = "布,玩家赢"
  MsgBox "玩家出剪刀,电脑出" & a
  End Sub

  Private Sub Command3_Click() '布
  Dim CPU As Integer
  Dim a As String
  CPU = Int(Rnd * 3) + 1

  If CPU = 1 Then a = "石头,玩家赢"
  If CPU = 2 Then a = "剪刀,电脑赢"
  If CPU = 3 Then a = "布,平局"
  MsgBox "玩家出布,电脑出" & a
  End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
missingseasons
2011-07-11 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:336
采纳率:0%
帮助的人:135万
展开全部
我没用过VB,但是原理我清楚。个人建议可以编号,剪子=a,石头=b,布=c,然后你就可以设定规律。其他的定义就是了,因为有三种情况,可以直接用IF 语句去定义就是了,应该不是很难。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咖啡xo
2011-07-12
知道答主
回答量:7
采纳率:0%
帮助的人:9.4万
展开全部
剪子是a 石头是b 布是c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
送果
2019-12-13
知道答主
回答量:1
采纳率:0%
帮助的人:667
展开全部
你们这线答案都缺少子程序 函数 属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式