我爱做算数幼儿园算数游戏程序设计报告书.docx
《我爱做算数幼儿园算数游戏程序设计报告书.docx》由会员分享,可在线阅读,更多相关《我爱做算数幼儿园算数游戏程序设计报告书.docx(28页珍藏版)》请在冰豆网上搜索。
我爱做算数幼儿园算数游戏程序设计报告书
石家庄铁道大学课程设计
我爱做算数—幼儿园算数游戏程序设计书
单位交通运输学院分院(系)
专业交通运输
学号********
学生姓名田静雅
指导教师李中华
完成日期2010年7月14日
摘要
本次小学期课程设计是学生学习的重要部分之一。
平时的学习只能使学生掌握书本上的基本内容,并不能激发学生的自主创新能力。
本次小学期的课程设计从选题到完成设计报告,可以使学生对VisualBasic6.0软件有更深一步的了解和掌握。
“我爱做算数——幼儿园算数游戏程序设计”的课程设计使学生掌握软件开发过程的问题分析、程序设计、程序编码、测试等基本方法和技能;掌握利用VB开发多媒体系统的方法以及掌握VB绘图的方法。
本软件运用到了一些常用控件,基本语句中的赋值、数据输入、结束语句,运用到了Msgox()函数,设计结构中的if条件语句和selectcase语句,数组中的控件数组的建立和应用,界面设计中的计时器控件和图形框控件等。
本次课程设计以3到6岁儿童为应用对象,整个程序生动、活泼,插有图片、动画,并设置背景音乐,符合幼儿的水平。
软件主要包括练习题和考试卷部分,可以帮助幼儿园小朋友练习算术并进行水平测试,形式多样,寓教于乐。
论文首先介绍了程序开发涉及的相关知识点,主要包括随机变量、多媒体系统开发、控件数组的应用、图片和文字的动态效果、设置文字的阴影效果等;其次,介绍了“我爱做算数——幼儿园算数程序设计”程序的总体分析与设计,包括窗体间转换、随机练习题和考试题等。
最后对幼儿园算数游戏程序进行了实现,并作了详细描述,主要采用图片与代码结合的方式详细地叙述了程序功能的实现。
关键词:
我爱做算数——幼儿园算数游戏程序,多媒体,VB绘图方法,随机变量
1.选题的意义……………………………………………………………1
2.系统功能需求分析……………………………………………………
2.1系统概述…………………………………………………………………………
2.2系统的组成及各模块的功能………………………………………………
2.3系统的运行环境………………………………………………
3.系统设计…………………………………………………………………
3.1总体结构设计………………………………………………………………
4.系统实现…………………………………………………………………
4.1模块的设计与实现…………………………………
5.总结……………………………………………………………………
5.1总结………………………………………………………………
5.2存在的主要问题………………………………………………………………
参考文献………………………………………………………………
我爱做算术——幼儿园算术游戏
1.选题的意义
我爱做算术——幼儿园算术游戏课程设计使学生掌握软件开发过程的问题分析、程序设计、程序编码、测试等基本方法和技能;掌握利用VB开发多媒体系统的方法以及掌握VB绘图的方法。
可以使学生对VisualBasic6.0软件有更深一步的了解和掌握。
这个题目内容新颖引人注目,并且可应用性较强,寓教于乐,主要以练习题和考试题两种形式对幼儿园小朋友的学习起到了很大帮助。
2、系统功能需求分析
2、1系统概述
我爱做算术——幼儿园算术游戏系统涉及到了软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;该游戏系统以3到6岁儿童为应用对象,整个程序生动、活泼,插有图片、动画,并设置背景音乐,符合幼儿的水平。
软件主要包括练习题和考试卷部分,可以帮助幼儿园小朋友练习算术并进行水平测试,形式多样,寓教于乐。
2、2系统的组成及各模块的功能
该系统主要包括四部分,即首页、选项页、练习题部分和考试卷部分。
其中练习题部分包括1套选择题练习和3套填空题练习,考试卷部分包括1套以图形为主的简单试卷一和易算式为主的试卷二。
为了符合幼儿的心理,系统中每个窗体上都用到了Timer()控件以实现字体颜色改变和图片的移动,以此吸引小朋友的注意力,尽量完成题目。
系统中的题目包括随机题目和固定题目两种,均给出了正确答案,并以图片和文字的形式进行完成情况的提示,练习题和考试卷部分均具有评分功能。
2、3系统的运行环境
我爱做算术——幼儿园算术游戏课程设计,是利用VisualBasic6.0软件编写的一款软件。
3、系统设计
3.1总体结构设计
我爱做算数——幼儿园算数游戏程序设计流程图
注释:
表示窗体
表示窗体间可转换
表示按钮command
4、系统实现
4、1模块设计与实现
本系统一共有4个部分,12个模块
4、1、1首页
1、界面
首页是本软件的脸面。
载入首页时,同时载入背景音乐《春天在哪里》;文字“我爱做算术”应用了用label设置文字的阴影效果,同时在Timer控件的作用下,文字和阴影均随机变色;文本“——幼儿算数游戏”除设置随机色外还设置了从右向左滚动,重复出现;软件设计者条同样应用了随机色的知识点。
整个首页具有动画效果,基本能吸引小朋友的注意力。
2、用到的主要控件及其属性设置
控件名称
属性
属性值
Label1
Caption
我爱做算术
Label4
Caption
我爱做算术
Label2
Caption
——幼儿算术游戏
Command1
Caption
进入
3、主要代码
PrivateSubform_load()
Setc=CreateObject("wmplayer.ocx")
c.url=App.Path&"\音频\春天在哪里.mp3"
c.settings.playCount=1'打开首页的背景音乐
Label1.ForeColor=vbGreen
Label4.ForeColor=vbRed
Label4.Left=Label1.Left+100
Label4.Top=Label1.Top-100
Label2.ForeColor=vbBlue'设置文字的阴影效果
EndSub
PrivateSubTimer1_Timer()
IfLabel2.Left+Label2.Width>0Then
Label2.MoveLabel2.Left-20
Else
Label2.Left=sy.ScaleWidth
EndIf'文字向左移动
Label2.ForeColor=RGB(Rnd*256,Rnd*256,Rnd*256)'设置随机色
EndSub
PrivateSubTimer2_Timer()
Label4.ForeColor=RGB(Rnd*256,Rnd*256,Rnd*256)
Label1.ForeColor=RGB(Rnd*256,Rnd*256,Rnd*256)'设置随机色
EndSub
4、1、2选项页
1、界面
PrivateSubCommand4_Click()
Loadlxt1
lxt1.Show
xx.Visible=False'显示到练习题页
EndSub
PrivateSubcommand5_Click()
Loadksj1
ksj1.Show
xx.Visible=False'显示考试卷页
EndSub
PrivateSublabel1_click()
Loadsy
sy.Show
Unloadxx'返回首页
EndSub
PrivateSubTimer3_Timer()
IfImage1.Left+Image1.Width>0Then
Image1.MoveImage1.Left-20
Else
Image1.Left=xx.ScaleWidth'图片向左移动
EndIf
EndSub
4、1、3练习题页
1、界面
PrivateSublabel1_click()
Loadlxxz
lxxz.Show
lxt1.Visible=False'窗体由练习题页切换到选择练习页
EndSub
PrivateSubTimer1_Timer()
IfImage1.Top+Image1.Height>0Then
Image1.Top=Image1.Top-40
Else
Image1.Top=lxt1.ScaleHeight'设置图片向上移动
EndIf
EndSub
(一)选择题
DimssAsString,jgAsInteger
DimzqAsInteger,cwAsInteger'声明变量
PrivateSubCommand3_Click()
Dimnum1AsInteger,num2AsInteger
DimtAsInteger
DimysfAsInteger,jjAsString*1'声明变量
num1=Int(51*Rnd)
num2=Int(51*Rnd)'产生两个100以内的随机数
Ifnum1num1=num2:
num2=t'调整减数和被减数
ysf=Int(2*Rnd)'确定运算符号
SelectCaseysf
Case1
jj="+"
jg=num1+num2
Case0
jj="-"
jg=num1-num2
EndSelect'确定运算式
ss=num1&jj&num2&"=?
"
Label5.Caption=ss'将算式显示在label5中
Option1.Caption=Val(jg)+1
Option2.Caption=Val(jg)
Option3.Caption=Val(jg)-1
Option4.Caption=Val(jg)+2'显示选项
EndSub
PrivateSubCommand4_Click()
IfOption2.Value=TrueThen
Setf=CreateObject("wmplayer.ocx")
f.url=App.Path&"\音频\掌声.mp3"'加载音频文件《掌声》
f.settings.playCount=1'音频文件播放一次
Form1.Show
Image1.Visible=True
Image2.Visible=False
Else
Setg=CreateObject("wmplayer.ocx")
g.url=App.Path&"\音频\乌鸦叫.mp3"'加载音频文件《乌鸦叫》
g.settings.playCount=1'音频文件播放一次
Form2.Show
Image2.Visible=True
Image1.Visible=False
EndIf
Label1.Caption=jglabel1显示正确答案
EndSub
PrivateSubCommand1_Click()
UnloadForm1
EndSub
PrivateSubTimer1_Timer()
Label1.BackColor=RGB(Rnd*256,Rnd*256,Rnd*256)
EndSub
(二)填空题一
Dimnum1AsInteger,num2AsInteger
DimssAsString,jgAsInteger
DimzqAsInteger,cwAsInteger'声明变量
PrivateSubform_load()
DimtAsInteger
DimysfAsInteger,jjAsString*1'声明变量
num1=Int(21*Rnd)
num2=Int(21*Rnd)'产生两个20以内的随机数
Ifnum1num1=num2:
num2=t'调整减数和被减数
ysf=Int(2*Rnd)'确定运算符号
SelectCaseysf
Case1
jj="+"
jg=num1+num2
Case0
jj="-"
jg=num1-num2
EndSelect'确定运算式
ss=num1&jj&num2&"="
Label1.Caption=ss'将算式显示在label1中
EndSub
PrivateSubCommand3_Click()
IfText1.Text=""ThenText1.Text=0'不输入结果则认为输入数值0
IfVal(Text1.Text)=jgThen
Picture1.Printss;Text1;"√o(∩_∩)o"'把算式和结果显示在picture1中
zq=zq+1'若判断结果正确,计数
Picture2.Visible=True
Picture3.Visible=False
Else
Picture1.Printss;Text1;"×~_~"'把算式和结果显示在picture1中
cw=cw+1'如果判断结果错误,计数
Picture3.Visible=True
Picture2.Visible=False
EndIf
Label2.Caption=jg
Text1.Text=""'text1清空
Text1.SetFocus'获得焦点
form_load'重新出题
EndSub
PrivateSubCommand1_Click()
MsgBox"小朋友,你计算了"&(zq+cw)&"道题哦o(∩_∩)o"&"做对了"&zq_
&"道题o(∩_∩)o"&","&"做错了"&cw&"道题~_~"&"得分"&Int(zq/(zq+cw)*100)&_
"分,加油",vbOK,"看看你的分数吧"'评分
EndSub
(三)填空题二
Dimnum1AsInteger,num2AsInteger
Dimss1AsString,ss2AsString,jgAsInteger
DimzqAsInteger,cwAsInteger'声明变量
PrivateSubform_load()
DimtAsInteger
DimysfAsInteger,jjAsString*1'声明变量
num1=Int(21*Rnd)
num2=Int(21*Rnd)'产生两个20以内的随机数
ysf=Int(2*Rnd)'确定运算符号
SelectCaseysf
Case1
jj="+"
Ifnum2num1=num2:
num2=t
jg=num2-num1
Case0
jj="-"
Ifnum1num1=num2:
num2=t
jg=num1-num2
EndSelect
ss1=num1&jj
ss2="="&num2
Label1.Caption=ss1
Label2.Caption=ss2
EndSub
(四)填空题三
Dimnum1AsInteger,num2AsInteger
DimssAsString,jgAsInteger
DimzqAsInteger,cwAsInteger'声明变量
PrivateSubform_load()
DimtAsInteger
DimysfAsInteger,jjAsString*1'声明变量
num1=Int(21*Rnd)
num2=Int(21*Rnd)'产生两个20以内的随机数
ysf=Int(2*Rnd)'确定运算符号
SelectCaseysf
Case1
jj="+"
Ifnum2num1=num2:
num2=t
jg=num2-num1
Case0
jj="-"
jg=num1+num2
EndSelect
ss=jj&num1&"="&num2
Label1.Caption=ss
EndSub
4、1、4考试卷页
1、界面
PrivateSubCommand1_Click()
Loadxx
xx.Show
Unloadksj1
xx.Enabled=True
EndSub'窗体切换到选项页
PrivateSubform_load()
Label1.ForeColor=RGB(168,0,178)
Label2.ForeColor=RGB(150,150,0)
EndSub'设置标签字体颜色
PrivateSublabel1_click()
Loadsj1
sj1.Show
ksj1.Visible=False
EndSub'窗体切换到试卷一
PrivateSubLabel2_Click()
Loadsj2
sj2.Show
ksj1.Visible=False
EndSub'窗体切换到试卷二
PrivateSubTimer1_Timer()
IfImage1.Top+Image1.Height>0Then
Image1.Top=Image1.Top-20
Else
Image1.Top=lxt1.ScaleHeight
EndIf
EndSub
PrivateSubTimer2_Timer()
Label1.ForeColor=RGB(Rnd*256,Rnd*256,Rnd*256)'设置随机色
EndSub
(一)试卷一
PrivatescoreAsInteger
PrivateSubCommand3_Click()
Label6.Caption="1.A"'显示正确答案
Label7.Caption="2.C"
Label8.Caption="3.B"
Label9.Caption="4.D"
Label10.Caption="5、9"
Label11.Caption="6、13"
Label12.Caption="7、7"
IfText1.Text=""ThenText1.Text="0"
IfText2.Text=""ThenText2.Text="0"
IfText3.Text=""ThenText3.Text="0"
IfOption1.Value=TrueThen'判断正误并计分
Label13.Caption="√"
score=score+10
Else
Label13.Caption="×"
score=score+0
EndIf
IfOption7.Value=TrueThen
Label14.Caption="√"
score=score+10
Else
Label14.Caption="×"
score=score+0
EndIf
IfOption10.Value=TrueThen
Label15.Caption="√"
score=score+10
Else
Label15.Caption="×"
score=score+0
EndIf
IfOption16.Value=TrueThen
Label16.Caption="√"
score=score+10
Else
Label16.Caption="×"
score=score+0
EndIf
IfText1.Text=Val("9")Then
Label17.Caption="√"
score=score+20
Else
Label17.Caption="×"
score=score+0
EndIf
IfText2.Text=Val("13")Then
Label18.Caption="√"
score=score+20
Else
Label18.Caption="×"
score=score+0
EndIf
IfText3.Text=Val("7")Then
Label19.Caption="√"
score=score+20
Else
Label19.Caption="×"
score=score+0
EndIf
Label20.Caption=score&"分"'显示得分和评语
Ifscore=100Then
Label25.Caption="小朋友,你真聪明,太棒啦!
"
Image1.Visible=True
ElseIfscore=90Then
Label25.Caption="小朋友,不错哦,你很聪明!
"
Image2.Visible=True
ElseIfscore=80Then
Label25.Caption="小朋友,还不错,加油!
"
Image3.Visible=True
ElseIfscore=70Then
Label25.Caption="小朋友,要继续努力呀!
"
Image4.Visible=True
Else
Label25.Caption="小朋友,要多做练习哦!
"
Image5.Visible=True
EndIf