之前我们学习过了自动打字的相关知识点,但是发现有些同学不够熟练。与此同时,对于会的同学,如果题目稍加改变以后,还是会出现不少问题。那么,我们今天就一起修改一下这个题目。
我们的目标:将文字正向逐字打印之后,随机变换一种颜色,反向逐渐减少一个字。
目标案例
以上案例,我们需要打印“我们是五月的花海”。
一、开发思路
往返打字程序思路:
1.考虑临界点
明确哪个位置开始一直增加文字,
哪个位置开始一直减少文字。
2.设置临界点标识。
3.根据临界点来实现文字的加减。
文字的加减,采用left函数来实现。
4.颜色设置
设置颜色的函数rgb
参数的值的范围:[0,255]的整数
提问:随机整数怎么写?
0<=rnd<1
0<=int(rnd*256)<=255
int函数:表示向下取整。
int(5.999) 的结果是5
int(-5.111)的结果是-6
二、end if介绍
三、类型补充
1.定义
布尔类型变量boolean
布尔类型的值只有true或者false
2.声明
声明一个布尔类型的变量a
dim a as boolean
3.赋值
为a赋值:
a=true
或者
a=false
界面设计
本节知识源代码:
Dim a As String '存储需要打印的字符串
Dim b As Integer '表示需要打几个字
Dim c As String '临界点标识
Private Sub Form_Load()
'初始化窗体的数据
a = "我们是五月的花海"
b = 0 '初始化要打的字数
Label1.FontSize = 30 '设置字体大小
End Sub
Private Sub Timer1_Timer()
Randomize '默认以系统时间随机数种子
If b = Len(a) Then '打完所有字的临界点
c = "减"
Label1.ForeColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256))
End If
If b = 0 Then '没有字的临界点
c = "加"
Label1.ForeColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256))
End If
'根据临界点的判断后,进行相应的字数增减
If c = "减" Then
b = b - 1
Label1.Caption = Left(a, b)
Else
b = b + 1
Label1.Caption = Left(a, b)
End If
End Sub