vba类与对象——石头剪刀布
大家好,今天要和大家来做一个小游戏的示例。
我们先来看一下运行效果
没错,今天我们要做一个猜拳小游戏。
那下去我们来看一下怎么来制作这个小游戏
01、创建窗体
参照下面的表格与图表,在窗体上添加对的控件,可以适当的调整一下
控件 | 控件名称 | 属性 |
标签 | 标题改成“你出:” | |
标签 | 标题改成“电脑出:” | |
标签 | lblUser | |
标签 | lblComputer | |
标签 | lblResult | 标题改成“结果” |
按钮 | btnST | 标题改成“石头” |
按钮 | btnJD | 标题改成“剪刀” |
按钮 | btnB | 标题改成“布” |
02、添加代码
这次我换个另类的方法,我们来写几个类,通过调用类来实现我们需要的功能。
第一个类,用户类,用于用户出拳
Option Compare Database
Option Explicit
Private strFistName As String
Public Property Get FistName() As String
FistName = strFistName
End Property
Public Function ShowFist(fist As String) As String
strFistName = fist
Select Case fist
Case "石头"
ShowFist = 1
Case "剪刀"
ShowFist = 2
Case "布"
ShowFist = 3
End Select
End Function
第二个类,电脑类,用于电脑出拳
Option Compare Database
Option Explicit
Private strFistName As String
Public Property Get FistName() As String
FistName = strFistName
End Property
Public Function ShowFist() As Integer
Dim r As Integer
Randomize
r = Int((3 * Rnd) + 1)
Select Case r
Case 1
strFistName = "石头"
Case 2
strFistName = "剪刀"
Case 3
strFistName = "布"
End Select
ShowFist = r
End Function
第三个类,裁判类,用于对出拳的结果进行判断
Option Compare Database
Option Explicit
Public Function IsUserWin(user As Integer, computer As Integer) As String
If user - computer = 0 Then
IsUserWin = "平局~~~"
ElseIf user - computer = -1 Or user - computer = 2 Then
IsUserWin = "你居然赢了…"
Else
IsUserWin = "你真菜,你输了!!!"
End If
End Function
窗体中的代码
Private Sub btnB_Click()
btn Me.btnB.Caption
End Sub
Private Sub btnJD_Click()
btn Me.btnJD.Caption
End Sub
Private Sub btnST_Click()
btn Me.btnST.Caption
End Sub
Private Function btn(strCaption As String)
Dim ul As New UserPlay
Dim userFist As Integer
Dim pc As New ComputerUser
Dim computerFist As Integer
userFist = ul.ShowFist(strCaption)
Me.lblUser.Caption = ul.FistName
computerFist = pc.ShowFist()
Me.lblComputer.Caption = pc.FistName
Dim cp As New CaiPan
Me.lblResult.Caption = cp.IsUserWin(userFist, computerFist)
End Function
Private Sub Form_Load()
Me.lblUser.Caption = ""
Me.lblComputer.Caption = ""
Me.lblResult.Caption = ""
End Sub
03、运行测试
最后一步就是来运行测试一下
知识点
这里主要的知识点是关于类操作,在面向对象的开发中,自定义类是很常规的操作,关于类的一些特点,像封装、继承、多态大家可以去了解一下,这里我们就不太深入的讲解了。
另外,大家可以关注我的B站,Access开发视频首发都在我的B站:易登Edon,UID10580232
从事access开发多年,喜欢access做一些小东西,分享一些小经验
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义