全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
益智游戏(一) 1.实践目标(1)掌握数组的使用。(2)初步学会循环结构的算法和程序设计。(3)熟练掌握VB程序的调试和运行。 2.任务描述参考图11-1,设计一个益智游戏程序。窗体中电灯从左到右依次编号分别为1,2,3,10,单击某电灯下方的按钮,则该电灯以及编号是当前电灯整数倍的电灯都同时改变状态(原来亮的变为灭,原来灭的变为亮),同时状态发生改变的电灯下方按钮标题也相应改变。图11-1所示为单击了4号电灯下方开关后的状态。一个特殊的灯是1号灯,单击1号灯下方开关,则只有1号灯自身会发生状态改变。程序运行时,所有电灯都是灭的。游戏的目标是用最少的开关操作次数将所有电灯变亮。图11-1 单击4号灯开关后所有电灯的状态 3.操作提示(1)分析问题。为了提高程序自动化处理的程度,采用控件数组来表示10盏灯的“灭”和“亮”的状态,同时用控件数组来表示10盏灯下方对应的开关(命令按钮)。具体方法是用控件数组Image0(1)、Image0(2)、Image0(10)表示10盏灭掉的灯,用控件数组Image1(1)、Image1(2)、Image1(10)表示10盏点亮的灯,同时用控件数组Command1(1)、Command1(2)、Command1(10)依次表示1、2、10号灯下方的开关(命令按钮)。程序运行时如果单击了某电灯下方按钮,则该电灯的编号就会通过变量Index(实际就是命令按钮的编号)返回给程序。我们的程序只需让编号为Index以及Index整数倍的电灯进行状态改变即可。如果用变量S保存总操作次数,则需要该变量并在Form_Load( )事件驱动程序中初始化为零。(2)设计界面。打开实践十“开关灯程序“对应的工程文件,利用界面中已有的控件Image0、Image1、Command1,通过复制和粘贴操作,分别产生前面问题分析时所要求的三个控件数组,并将Image0()控件数组至于Image1()控件数组的后方。另外,向窗体中添加2个标签Label1和Label2,1个文本框Text1(用来显示总操作次数)。如图11-2所示。Image0(1)Image1(1)Command1(1)Image0(2)Image1(2)Label2Label1图11-2 界面设计中的各控件数组布局 最后,需要将标签Label2的Caption属性值设置为“祝贺你!开启了你的程序之灯!”,Visible属性值设置为“False”(使得一开始该对象的标题不能显示,当所有灯变亮后才显示)。(3)设计算法。单击命令按钮Command1(Index)后,程序进行处理的总体算法如下:开始Index1?对编号为Index整数倍的灯及开关进行相应处理对1号灯及其开关进行相应处理结束YN保存操作总次数的变量s值增加1在文本框Text1中显示s的值逐个判断10盏灯的当前状态所有灯都变亮?YN使标签Label2可见上面“对编号为Index整数倍的灯及开关进行相应处理”部分的算法可进一步细化。要将所有编号是Index整数倍的灯及按钮进行状态改变,只需设计一个循环结构,循环变量i赋初值为Index,以后每执行一次循环体,让循环变量i值增加Index即可。此部分算法用自然语言描述为:iIndex;如果当前i值没有超过10则转向,否则转向;如果当前编号为i的电灯原来状态为“灭”,则转向否则转向;将编号为i的电灯状态变为“亮”,编号为i的按钮的标题改为“关”,转向;将编号为i的电灯状态变为“灭”,编号为i的按钮的标题改为“开”,转向;ii+1;算法结束。(4)编写程序。根据算法描述,完善下列程序,并将其输入到Private Sub Command1_Click(Index As Integer)事件驱动程序中。If Index 1 Then 单击第一个灯以外的开关 For i = Index To 10 Step If Image1(i).Visible = False Then Image1(i).Visible = Command1(i).Caption = Else Image1(i).Visible = False Command1(i).Caption = 开 End If Next i Else 单击第一个灯的开关 If Image1(1).Visible = False Then Image1(1).Visible = True Command1(1).Caption = 关 Else Image1(1).Visible = False Command1(1).Caption = 开 End If End If s = s + 1 Text1.Text = Str(s) f = True For i = 1 To 10 逐个判断所有电灯的状态 If Image1(i).Visible = False Then f = False Next i If f Then Label2.Visible = True (5)运行调试程序。运行完成的VB应用程序并进行相应的操作,观察运行结果,若有错则修改程序直至正确。 【扩展与提高】(6)对上述程序进行改进,使程序能有20盏电灯以及相应的开关。(7)根据实践结果分析,并在下方描述能得到最少总操作次数的开关灯方法: _。 4.相关练习(1)分析下列两段程序并写出程序运行结果:s = 0For i = 1 To 10 s = s + iNext iPrint ss = 0: i = 1Do While i = 10 s = s + i i = i + 1LoopPri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年八年级化学下册第6单元化学计算测试卷
- 2025年陕西省苏教版初中英语八年级上册第6单元语法练习题
- 2026年滨州职业学院高职单招笔试英语试题库含答案解析3套试卷
- 2026年湖南工业职业技术学院高职单招笔试数学试题库含答案解析3套试卷
- 2026年湖南九嶷职业技术学院高职单招笔试物理试题库含答案解析2套试卷
- 2026年湖北三峡职业技术学院高职单招笔试综合素质试题库含答案解析3套试卷
- 2026年海南经贸职业技术学院高职单招笔试英语试题库含答案解析3套试卷
- 2026年浙江经济职业技术学院高职单招笔试语文试题库含答案解析2套试卷
- 2026年浙江农业商贸职业学院高职单招笔试职业技能测验试题库含答案解析3套试卷
- 2026年泰山护理职业学院高职单招笔试化学试题库含答案解析2套试卷
- 2026秋小学新版人教版数学五年级上册教学计划、教学设计(附目录)适用于新课标
- 摩洛哥建筑业市场供需分析及投资评估趋势分析研究报告
- 抗血小板药物消化道黏膜损伤防治共识2026
- 2026-2030中国环保包装行业市场发展趋势与前景展望战略分析研究报告
- 2026城市通信基础设施规划技术标准
- 酒店总卡使用制度规范
- 五升六数学暑假思维应用题训练100题含答案
- 医院神经内科常见病历书写范例
- 2025年全国新闻记者职业资格考试(新闻采编实务)综合试题及答案
- 新能源船舶产业政策分析及2025年可行性研究报告
- 宗教政策法律法规课件
评论
0/150
提交评论