用VB做石头剪刀布游戏
picture4显示电脑出的图片,picture1、2、3分别为石头、剪刀、布,点击picture1、2、3任意一个,picture4随机显示电脑出的结果,决出游戏胜负代...
picture4显示电脑出的图片,picture1、2、3分别为石头、剪刀、布,点击picture1、2、3任意一个,picture4随机显示电脑出的结果,决出游戏胜负
代码+解释
只给代码不给分!
解释得好+20分! 展开
代码+解释
只给代码不给分!
解释得好+20分! 展开
5个回答
展开全部
这是一个很简单的游戏。大致流程如下:在点击下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
代码如下:
请在程序目录下放上三个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
展开全部
没有图 全用字代替吧!
很简单。 创键三个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
很简单。 创键三个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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我没用过VB,但是原理我清楚。个人建议可以编号,剪子=a,石头=b,布=c,然后你就可以设定规律。其他的定义就是了,因为有三种情况,可以直接用IF 语句去定义就是了,应该不是很难。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你们这线答案都缺少子程序 函数 属性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询