【VB编写各种趣味小程序附代码】Visual Basic(简称 VB)作为一款经典的编程语言,虽然在现代开发中逐渐被其他语言所取代,但它在教学和趣味性程序开发中依然有着不可替代的作用。对于初学者来说,VB 是一个很好的入门工具,因为它语法简单、界面友好,能够快速实现图形化操作。本文将介绍几款用 VB 编写的趣味小程序,并附上完整代码,帮助大家更好地理解 VB 的应用。
一、猜数字游戏
这是一个经典的控制台小游戏,用户需要根据提示猜出系统随机生成的数字。程序会根据用户的输入给出“太大”或“太小”的提示,直到猜中为止。
```vb
Dim number As Integer
Dim guess As Integer
Dim attempts As Integer
Private Sub Form_Load()
Randomize
number = Int(100 Rnd) + 1
attempts = 0
End Sub
Private Sub cmdGuess_Click()
guess = Val(txtGuess.Text)
attempts = attempts + 1
If guess < number Then
MsgBox "太小了!"
ElseIf guess > number Then
MsgBox "太大了!"
Else
MsgBox "恭喜你,猜对了!用了 " & attempts & " 次机会。"
txtGuess.Text = ""
End If
End Sub
```
说明:
- `Randomize` 用于初始化随机数生成器。
- `Rnd` 返回 0 到 1 之间的随机数,乘以 100 后取整得到 1~100 的数字。
- 用户通过文本框输入猜测数字,点击按钮后程序判断结果。
二、倒计时器
这个小程序可以设置一个时间,然后从设定的时间开始倒计时,适合用来做学习提醒或者休息提醒。
```vb
Dim timeLeft As Integer
Private Sub Form_Load()
timeLeft = 60 ' 设置为60秒
Timer1.Interval = 1000 ' 每秒触发一次
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
timeLeft = timeLeft - 1
Label1.Caption = "剩余时间: " & timeLeft & " 秒"
If timeLeft = 0 Then
Timer1.Enabled = False
MsgBox "时间到!"
End If
End Sub
```
说明:
- 使用 `Timer` 控件实现定时功能。
- `Interval` 属性设置为 1000 表示每秒触发一次事件。
- 当时间归零时弹出提示信息。
三、简单的画图程序
这个程序可以让用户在窗体上自由绘制图形,适合喜欢画画的用户。
```vb
Dim drawing As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
drawing = True
Me.CurrentY = Y
Me.CurrentX = X
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
Line (Me.CurrentX, Me.CurrentY)-(X, Y)
Me.CurrentX = X
Me.CurrentY = Y
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
drawing = False
End Sub
```
说明:
- 使用 `Line` 函数绘制线条。
- 通过鼠标按下、移动、释放事件实现绘图功能。
四、简易计算器
这个程序实现了基本的加减乘除运算,适合初学者练习控件和事件处理。
```vb
Private Sub cmdAdd_Click()
Dim a As Double, b As Double
a = Val(txtA.Text)
b = Val(txtB.Text)
txtResult.Text = a + b
End Sub
Private Sub cmdSub_Click()
Dim a As Double, b As Double
a = Val(txtA.Text)
b = Val(txtB.Text)
txtResult.Text = a - b
End Sub
Private Sub cmdMul_Click()
Dim a As Double, b As Double
a = Val(txtA.Text)
b = Val(txtB.Text)
txtResult.Text = a b
End Sub
Private Sub cmdDiv_Click()
Dim a As Double, b As Double
a = Val(txtA.Text)
b = Val(txtB.Text)
If b <> 0 Then
txtResult.Text = a / b
Else
MsgBox "不能除以零!"
End If
End Sub
```
说明:
- 每个按钮对应一种运算,用户输入两个数值后点击按钮即可得到结果。
- 对除法做了分母为零的判断,避免程序崩溃。
总结
VB 虽然不是当前主流的开发语言,但它的简单性和可视化界面使得它非常适合制作一些趣味性强的小程序。以上几个例子涵盖了游戏、计时器、绘图和计算等功能,希望对初学者有所帮助。如果你对 VB 有兴趣,不妨多动手尝试,你会发现它其实非常有趣!
---
注意: 本文内容为原创,旨在提供 VB 实践参考,如需用于商业用途,请自行修改并遵守相关法律法规。