VB课程设计报告--英语词汇游戏

VB课程设计报告--英语词汇游戏本文简介:VB课程设计报告题目:英语词汇游戏姓名:xxx学号:xxxxx院系:xxxx指导老师:xxxx目录1.课程设计目的12.课程设计题目及简介.13.设计方法简介.14.部分源代码实现.25.运行结果截图显示.76.心得与体会.。15一.课程设计目的:随着计算机、计算机应用技术的不断发展,计算机应用已经
VB课程设计报告--英语词汇游戏本文内容:
VB课程设计报告
题目:英语词汇游戏
姓
名:
xxx
学
号:xxxxx
院
系:
xxxx
指导老师:
xxxx
目录
1.
课程设计目的1
2.
课程设计题目及简介.1
3.
设计方法简介.1
4.
部分源代码实现.2
5.
运行结果截图显示.7
6.
心得与体会.。15
一.
课程设计目的:
随着计算机、计算机应用技术的不断发展,计算机应用已经深入到政治、经济、军事、教育、生活的各个领域,计算机软件是计算机应用的核心内容,作为开发计算机软件的程序设计显得尤为重要。VB程序开发语言以其简单易学的特性,在全社会得到广泛的使用和推广,各行各业的人员通过学习VB程序开发语言,能够很快的成为计算机和信息技术应用的开发者。
本次课程设计为学生提供了一个既动手又动脑的,独立实践的机会,将课本上的理论知识和实践有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力。
二.课程设计题目及简介:
英语词汇连接游戏通过在给出的英语单词和中文含义之间进行连接来学习英语。游戏按照英语字典的顺序,系统地安排从A到Z的不同游戏小局,用户可以根据自己的情况选择进行娱乐学习,并给出学习效果评价。通过反复游戏,用户可以提高英语单词词汇量,在用户从A到Z地选择不同游戏小局后,将在显示界面上出现10个英语单词的英文及对应中文卡片,同时进行10s计时,时间到了,将出现下一组10个英语单词的英文及对应的中文卡片,直至游戏小局结束。同时,对连接正确的进行计数,给出学习效果。
3.
设计方法简介:
本次课程设计英语单词按照文件进行组织,从A到Z组织成26个文件。每个文件每一行由单词英文,单词中文构成,例如:单词1英文、单词1中文、单词2英文、单词2中文、、单词n英文,单词n中文。
数据流程图如下:
功能结构图如下:
4.
部分源代码实现如下:
ublic
Class
wordlink
Dim
currentgame
As
String
=
““Dim
gamenow
As
String
=
“0“Dim
gameover
As
Boolean
=
False
Dim
words(10,2)
As
String
Dim
wordscoor(10,2)
As
String
Dim
first
As
Integer
=
-1
Dim
second
As
Integer
=
-1
Dim
nums
As
Integer
=
0
Dim
totalwords
As
String
=
““Dim
wordstring
As
String
=
““Dim
currentwords
As
Integer
=
1
Dim
openmidi
As
Boolean
=
False
Dim
seconds
As
Integer
=
0
Private
Declare
Function
mciExecute
Lib
“winmm.dll“Alias
“mciExecute“()
Private
Sub
game_SelectedIndexChanged(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
game.SelectedIndexChanged
Dim
filename
As
String
currentgame
=
game.GetItemText(game.SelectedItem)
filename
=
currentgame
+
“.text“If
readwords(filename)
Then
nums
=
0
matchnum.Text
=
nums.ToString
ProgressBar1.Value
=
0
checkclear(0)
checkclear(3)
first
=
-1
second
=
-1
wordstring
=
getwords()
splitword()
ProgressBar1.Step
=
Int(550
/
(5
currentwords
/
2))
checkclear(2)
Timer2.enabled
=
True
End
If
End
Sub
Private
Function
readwords(ByVal
file
As
String)
As
Boolean
readwords
=
False
If
System.IO.File.Exists(file)
Then
totalwords
=
System.IO.File.ReadAllText(file)
If
totalwords.Trim.Length
=
0
And
temp.Trim.Length
>
1
Then
mystr
=
mystr
+
temp
currentwords
=
i
+
1
Else
mystr
=
mystr
+
“,“End
If
Loop
If
totalwords.Trim.Length
>
0
Then
gameover
=
False
Else
gameover
=
True
End
If
getwords
=
mystr
End
Function
Private
Sub
splitword()
Dim
aword()
As
String
Dim
i,j
As
Integer
Dim
splitchar()
As
String
=
{“,“}
Dim
gen
As
New
System.Random
Dim
ok
As
Boolean
=
False
Dim
tempstr
As
String
tempstr
=
wordstring
For
i
=
0
To
9
wordscoor(i,0)
=
““wordscoor(i,1)
=
““Next
i
=
0
j
=
0
aword
=
tempstr.Split(splitchar(0))
For
i
=
0
To
9
words(i,0)
=
aword(2
i)
words(i,1)
=
aword(2
i
+
1)
Next
For
i
=
0
To
9
ok
=
False
Do
While
Not
ok
j
=
Int(gen.NextDouble
10)
tempstr
=
wordscoor(j,0)
If
System.String.IsNullOrEmpty(tempstr)
Then
wordscoor(j,0)
=
words(i,0)
ok
=
True
End
If
Loop
Next
For
i
=
0
To
9
ok
=
False
Do
While
Not
ok
j
=
Int(gen.NextDouble
10)
tempstr
=
wordscoor(j,1)
If
System.String.IsNullOrEmpty(tempstr)
Then
wordscoor(j,1)
=
words(i,1)
ok
=
True
End
If
Loop
Next
Me.Label1.Text
=
wordscoor(0,0)
Me.Label2.Text
=
wordscoor(1,0)
Me.Label3.Text
=
wordscoor(2,0)
Me.Label4.Text
=
wordscoor(3,0)
Me.Label5.Text
=
wordscoor(4,0)
Me.Label6.Text
=
wordscoor(5,0)
Me.Label7.Text
=
wordscoor(6,0)
Me.Label8.Text
=
wordscoor(7,0)
Me.Label9.Text
=
wordscoor(8,0)
Me.Label10.Text
=
wordscoor(9,0)
Me.Label11.Text
=
wordscoor(0,1)
Me.Label12.Text
=
wordscoor(1,1)
Me.Label13.Text
=
wordscoor(2,1)
Me.Label14.Text
=
wordscoor(3,1)
Me.Label15.Text
=
wordscoor(4,1)
Me.Label16.Text
=
wordscoor(5,1)
Me.Label17.Text
=
wordscoor(6,1)
Me.Label18.Text
=
wordscoor(7,1)
Me.Label19.Text
=
wordscoor(8,1)
Me.Label20.Text
=
wordscoor(9,1)
End
Sub
Private
Sub
musicplay_CheckedChanged(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
musicplay.CheckedChanged
End
Sub
Private
Sub
Timer2_Tick(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
Timer2.Tick
If
openmidi
And
musicplay.Checked
Then
mciExecute(“close
sound“)
mciExecute(“open
“)
mciExecute(“play
sound“)
End
If
End
Sub
Private
Sub
wordlink_Load(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
MyBase.Load
Timer2.Enabled
=
True
End
Sub
Private
Sub
Label1_Click(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
Label1.Click
Dim
wd
As
String
=
““Dim
i
As
Integer
wd
=
Label1.Text.Trim
If
wd.Length
>
0
Then
If
first
>=
0
Or
second
>=
0
Then
If
first
>=
0
Then
If
words(first,1).ToString.Trim
=
wd
Then
nums
=
nums
+
1
matchnum.Text
=
nums.ToString
Label1.Enabled
=
False
first
=
-1
second
=
-1
checkclear(1)
End
If
Else
If
words(second,0).ToString.Trim
=
wd
Then
nums
=
nums
+
1
Label1.Enabled
=
False
matchnum.Text
=
nums.ToString
first
=
-1
second
=
-1
checkclear(1)
End
If
End
If
Else
For
i
=
0
To
9
If
words(i,0).ToString.Trim
=
wd
Then
Label1.Enabled
=
False
first
=
1
Exit
For
ElseIf
words(i,1).ToString.Trim
=
wd
Then
second
=
i
Label1.Enabled
=
False
Exit
For
End
If
Next
End
If
End
If
End
Sub
Private
Sub
Timer1_Tick(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
Timer1.Tick
If
ProgressBar1.Value
+
1
<=
100
Then
seconds
=
seconds
+
1
secnum.Text
=
seconds.ToString
Else
Timer1.Enabled
=
False
ProgressBar1.Value
=
0
checkclear(2)
checkclear(0)
checkclear(3)
first
=
-1
second
=
-1
If
Not
gameover
Then
wordstring
=
getwords()
ProgressBar1.Step
=
Int(550
/
(5
currentwords
/
2))
splitword()
checkclear(2)
Timer1.Enabled
=
True
Else
nums
=
0
seconds
=
0
End
If
End
If
End
Sub
Private
Sub
allover_Click(ByVal
sender
As
System.Object,ByVal
e
As
System.EventArgs)
Handles
allover.Click
Application.Exit()
End
Sub
End
Class
5.
运行结果截图显示
主窗体效果如图
窗体main添加进度控件效果
窗体mian添加时间按钮控件效果
窗体mian添加多个标签控件效果
实例全局变量初始化
代码设计窗口
输入生成单词文件名称的代码效果
输入读取文件内容代码效果
变量,控制赋初值代码输入后效果
变量,控件赋初值代码输入后效果
单词序列分组,排列和游戏计时设置代码输入效果
6.
心得与体会:
VB程序设计的入门学习并不难,但却是一个十分重要的过程,因为程序设计思想的形成,以及之前学习积累的经验,很快就对VB有了一定的了解。下面就是我这段时间学习的新的与体会。
我认为作为学习程序设计最重要的一点是要注重理解一些重要的概念.VB程序设计本身并不复杂,翻开一本程序设计学习的书籍,看到的无非就是变量,函数,条件语句,循环语句等概念.但要真正能进行程序设计,需要深入理解这些概念.因此,在
程序入门阶段还是应该重视概念的学习.我们学习VB并没有从正常的途径,而是通过老师的演示与讲解,了解并学习了这门课程,可以说VB语言相对来说比其他语言简单,从他的语法就可以看出
其次,自己动手编写程序。程序设计入门阶段要经常自己动手抄写或编写一些小程序,亲自动手进行程序设计是创造性思维应用的体现,是培养逻辑思维的好方法.因此一定要多动手编写程序,而且要从小程序开发开始,逐渐提高写程序的能力.只有不断的从自己的程序中积累经验,从中进步,才能写出好的程序。程序设计课是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的.只有自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,学起来才比较从容.动手能力的培养是这门课和以往课程最大的不同之处.重点放在思路,算法,编程构思和程序实现上.语句只是表达工具,要求堂上积极思考,尽量当堂学懂,并做到灵活应用.
编程序不像做其它的事情,写程序之前一定要计划周详,把所有的可能性都想到,并想好相应的解决方法,不然思想会很混乱,很容易出现错误。还有就是编程序最重要的其实是思想,思想确定之后用什么语言或什么方法就简单了,接下来就是设计并写成代码的事情了。
13
