第13课综合-益智游戏实验八

第13课综合-益智游戏实验八

ID:32702589

大小:189.89 KB

页数:5页

时间:2019-02-14

第13课综合-益智游戏实验八_第1页
第13课综合-益智游戏实验八_第2页
第13课综合-益智游戏实验八_第3页
第13课综合-益智游戏实验八_第4页
第13课综合-益智游戏实验八_第5页
资源描述:

《第13课综合-益智游戏实验八》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、益智游戏(一)仁实践目标(1)掌握数组的使用。(2)初步学会循环结构的算法和程序设计。(3)熟练掌握VB程序的调试和运行。2.任务描述参考图11-1,设计一个益智游戏程序。窗体中电灯从左到右依次编号分别为1,2,3,…,10,单击某电灯下方的按钮,则该电灯以及编号是当前电灯整数倍的电灯都同时改变状态(原来亮的变为灭,原来灭的变为亮),同时状态发生改变的电灯下方按钮标题也相应改变。图11-1所示为单击了4号电灯下方开关后的状态。一个特殊的灯是1号灯,单击1号灯下方开关,则只有1号灯自身会发生状态改变。程序运行时,所有电灯都是灭的。游戏的目标是用最少的开关操作次数将所有电灯变亮。

2、图11・1单击4号灯开关后所有电灯的状态3.操作提示(1)分析问题。为了提高程序自动化处理的程度,采用控件数组来表示10盏灯的“灭”和“亮”的状态,同时用控件数组来表示10盏灯下方对应的开关(命令按钮)。具体方法是用控件数组ImageO(1)、ImageO(2)、ImageO(10)表示10盏灭掉的灯,用控件数组Image1(1)>Image1(2)、Image1(10)表示10盏点亮的灯,同时用控件数组Command1(1)、Command1(2)、Command1(10)依次表示1、2>10号灯下方的开关(命令按钮)。程序运行时如果单击了某电灯下方按钮,则该电灯的编号就会

3、通过变量Index(实际就是命令按钮的编号)返回给程序。我们的程序只需让编号为Index以及Index整数倍的电灯进行状态改变即可。如果用变量S保存总操作次数,则需要该变量并在Form_Load()事件驱动程序屮初始化为零。(2)设计界面。打开实践十“开关灯程序“对应的工程文件,利用界面中己有的控件Image。、Image1、Command1,通过复制和粘贴操作,分别产生前面问题分析时所要求的三个控件数组,并将ImageO()控件数组至于Image1()控件数组的后方。另外,向窗体中添加2个标签Label1和Label2,1个文本框Textl(用来显示总操作次数)。如图11・

4、2所示。ImageO(l)Image0(2)Imagel(l)开开开0Label!…总揣作次数二Commandl(l)Image1(2)益智游戏1.0版JL[祝贺你!开启了你的程序之灯!□□□□□□13回区Label2图11・2界面设计中的各控件数组布局最后,需要将标签Label2的Caption属性值设置为“祝贺你!开启了你的程序Z灯!”,Visible属性值设置为“False”(使得一开始该对彖的标题不能显示,当所有灯变亮后才显示)。(1)设计算法。单击命令按钮Command1(Index)后,程序进行处理的总体算法如下:上面“对编号为Index整数倍的灯及开关进行相应

5、处理”部分的算法可进一步细化。要将所有编号是Index整数倍的灯及按钮进行状态改变,只需设计一个循环结构,循环变量i赋初值为Index,以后每执行一次循环体,让循环变量i值增加Index即可。此部分算法用自然语言描述为:①i<-Index;①如果当前i值没有超过10则转向③,否则转向⑦;②如果当前编号为i的电灯原来状态为“灭”,则转向④否则转向⑤;③将编号为i的电灯状态变为“亮”,编号为i的按钮的标题改为“关”,转向⑥;④将编号为i的电灯状态变为“灭”,编号为i的按钮的标题改为“开”,转向⑥;©i<-i+l;⑦算法结束。(1)编写程序。根据算法描述,完善下列程序,并将其输入到

6、PrivateSubCommand1_C1ick(IndexAsInteger)事件驱动程序中。IfIndex<>1Then'单击第一个灯以外的开关Fori=IndexTo10IfImagel(i).Visible=FalseThenImagel(i).Visible二Command1(i).Caption=ElseImagel(i).Visible=FalseCommandl(i).Caption=〃开"EndIfNextiElse'单击第一个灯的开关IfImagel(1).Visible=FalseThenImagel(1).Visible二TrueCommand1(1)

7、.Caption二"关"ElseImagel(1).Visible=FalseCommandl(1).Caption="开"EndIfEndIfs=s+1Textl.Text=Str(s)f=TrueFori=1To10'逐个判断所有电灯的状态IfImagel(i).Visible二FalseThenf=FalseNextiIffThenLabel2.Visible=True(2)运行调试程序。运行完成的VB应用程序并进行相应的操作,观察运行结果,若有错则修改程序直至正确。【扩展与提高】(3)对上述程序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。