c实训教程课件第4章.ppt

上传人:b****1 文档编号:1368832 上传时间:2022-10-21 格式:PPT 页数:16 大小:348.50KB
下载 相关 举报
c实训教程课件第4章.ppt_第1页
第1页 / 共16页
c实训教程课件第4章.ppt_第2页
第2页 / 共16页
c实训教程课件第4章.ppt_第3页
第3页 / 共16页
c实训教程课件第4章.ppt_第4页
第4页 / 共16页
c实训教程课件第4章.ppt_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c实训教程课件第4章.ppt

《c实训教程课件第4章.ppt》由会员分享,可在线阅读,更多相关《c实训教程课件第4章.ppt(16页珍藏版)》请在冰豆网上搜索。

c实训教程课件第4章.ppt

C#实训教程,第4章八数码游戏,【学习概述】,通过制作小游戏软件,学习Panel、GroupBox、TabControl控件,Point、Random类,#region和while语句的使用。

4.1项目说明,4.1.1任务书

(1)项目名称:

八数码游戏

(2)工作期限:

3个工作日(3)工作任务:

人工智能里面有一个著名的八数码问题,在一个33的方阵中有8个数码,刚开始时它们是无序排列的,并剩下一个空格,空格可以在方阵中移动,要求通过有限次数的移动,使得数字方阵达到有序状态。

人工智能里面是要求通过某种搜索方式找到该问题的解,这里是通过用户自己操作移动数码满足游戏的要求。

具体要求如下:

需要8个数码和一个空格共同组成一个33的方阵。

设置两种游戏目标(即两种有序排列状态),供用户进行选择。

达到游戏目标,提示游戏成功“恭喜恭喜,你已经得到正确结果”,并显示“最终移动的次数”。

(4)项目需达到的技术性能:

用户可以使用软件进行游戏,鼠标控制,操作顺畅。

4.1项目说明,4.1.2计划书1时间分配

(1)分析项目要完成的功能,确定所使用的软件开发工具和开发系统环境,安装好所需工具软件和系统环境,备好所需资料(约需要时间:

1/2个工作日)。

(2)项目需求分析,确立开发方案,进行软件的概念分析、功能结构分析、逻辑设计和界面的初步设计等(约需要时间:

1/2个工作日)。

(3)软件的物理设计,模块功能设计,代码的初步实施(约需要时间:

1个工作日)。

(4)软件的代码实施,代码的功能测试,各模块的组装调试,软件的整体调试,软件注释文档的完善(约需要时间:

1/2个工作日)。

(5)创建软件系统的安装文件,发布软件的测试版本,并与用户完成软件的整体测试与功能完善(约需要时间:

1/2个工作日)。

4.1项目说明,2项目分析

(1)游戏共分为三个区域:

游戏区、初始状态区和目标状态区。

(2)区域化分可使用Panel、GroupBox、TabControl控件。

根据各自的特性,游戏区采用Panel控件,初始状态区采用GroupBox控件,目标状态区采用TabControl控件。

(3)游戏区顾名思义就是用于操作得以完成游戏的区域。

该区域包含8个数码和一个空格,用户游戏过程中,这几个数码和空格是可以移动的,使用Label控件进行设计。

(4)初始状态区,用于显示8个数码的初始状态,便于游戏时做参考,使用Label控件进行设计。

(5)目标状态区,用于显示游戏完成时欲达到的有序状态,使用Label控件进行设计。

(6)需要设置一个按钮,用于手动开始游戏,并且在游戏过程中可以手动重新开始游戏。

(7)达到游戏目标,提示游戏成功“恭喜恭喜,你已经得到正确结果”,使用Message.Box类,并显示“最终移动的次数”,使用Label控件加以实现。

4.2项目准备,4.2.1控件1Panel控件Panel控件也称为面板控件,用于为其他控件提供可识别的分组,常用于按功能细分窗体。

2GroupBox控件GroupBox控件也称为分组框控件,功能和用法类似于Panel控件,不同之处是没有滚动条,但能够显示标题,其标题由Text属性定义。

3TabControl控件TabControl控件可显示多个选项卡,这些选项卡类似于笔记本中的分隔卡和档案柜文件夹中的标签,选项卡中可包含图片和其他控件。

TabControl控件可用来产生多页对话框,这种对话框出现在Windows操作系统中的许多地方,如显示器控制面板。

4.2项目准备,4.2.2类1IContainer类IContainer类提供容器的功能。

容器是在逻辑上包含零个或更多个组件的对象,能够封装和跟踪组件,可以在多种方案下使用组件和容器,包括可视化方案和非可视化方案。

要成为容器,类必须实现IContainer接口,该接口支持添加、移除和检索组件的方法。

2Point类Point类表示在二维平面中定义点的x和y坐标的有序对。

由于该类在程序集usingSystem.Drawing中,所以在使用Point类时,需添加如下代码:

usingSystem.Drawing;3Random类Random类能够实现伪随机数生成器。

4.2项目准备,4.2.3语句1#region语句【例4-1】#region块的应用。

#regionMyClassdefinitionpublicclassMyClasspublicstaticvoidMain()#endregion,4.2项目准备,2while语句while语句是一种与for语句有所区别的循环语句,其一般形式如下:

while(表达式)循环体;,4.3项目开发,4.3.1界面设计

(1)启动VisualStudio2008,单击“项目”部分中的“新建项目”,或者选择“文件”“新建”“项目”,新建一个C#项目。

(2)这时会自动生成一个Form1.cs窗体,右键选择“属性”,修改“外观”中的Text为“八数码游戏”。

(3)选择“工具箱”“Windows窗体”,左键双击Panel或左键选中Panel拖拽到Form1窗体中,将其命名为mypanel。

(4)在Panel中添加九个Label,分别命名为“img1”、“img2”、“img3”、“img4”、“img5”、“img6”、“img7”、“img8”、“img0”,并修改“外观”中的“Text”为“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”和空白,在“外观”中的Font设置字体类型,在此设置字体为“MicrosoftSansSerif”、字型为“粗体”、大小为“72”。

(5)选择“工具箱”“Windows窗体”,左键双击GroupBox或左键选中GroupBox拖拽到Form1窗体中,其默认名称为groupBox1。

4.3项目开发,(6)在“GroupBox”中添加九个Label,分别命名为“lbl1”、“lbl2”、“lbl3”、“lbl4”、“lbl5”、“lbl6”、“lbl7”、“lbl8”、“lbl9”,并修改“外观”中的Text为“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”和空白,并在“外观”中的Font设置字体类型。

(7)选择“工具箱”“Windows窗体”,左键双击TabControl或左键选中TabControl拖拽到Form1窗体中,左键单击“杂项”中TabPage后的按钮,在弹出的“TabPage集合编辑器”中添加tabPage1、tabPage2,分别修改“外观”中的Text为“目标状态1”、“目标状态2”。

(8)分别在“目标状态1”、“目标状态2”中各添加九个Label,并分别将九个Label的“外观”中的Text修改为“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”和空白,并在“外观”中的Font设置字体类型。

(9)添加按钮【开始游戏】。

(10)添加Label,用于显示文本“移动次数:

”。

(11)添加Label,命名为“step_lbl”,设置“外观”中的Text为“0”,用于显示移动次数。

做好的八数码游戏界面如图4.1所示。

4.3.2代码设计,4.3项目开发,4.3.2代码设计1声明2按钮【开始游戏】代码3初始化函数InitGame()4目标状态改变事件5数字移动规则6游戏成功提示,4.3项目开发,4.1八数码游戏界面,4.4实训:

推箱子游戏,1项目要求经典的推箱子是一个古老的游戏,目的是在训练逻辑思考能力。

在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心,就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙地利用有限的空间和通道,合理安排移动的次序和位置,才能顺利地完成任务。

编写程序完成推箱子游戏,要求如下:

(1)棋盘采用33模式。

(2)游戏中有一只箱子和一个推动箱子的小人。

(4)箱子只能推动不能拉动。

(5)游戏成功提示“恭喜恭喜!

”,并显示箱子移动次数。

2设计提示本游戏可以看成是八数码游戏中一个数字的还原,不同的是要根据小人的位置移动箱子,例如:

小人在箱子左侧,箱子只能向右侧移动,同时小人也要跟着一起移动。

3项目评价项目评价是在教师的主持下,通过项目负责人的讲解演示,评估项目的完成情况,评价内容如下:

(1)工具类软件界面是否简洁,操作是否简便;

(2)使用过程中有无错误提示;(3)能否实现基本功能。

4.5习题,1填空

(1)Panel控件若要显示滚动条,应将其_属性设置为true。

(2)GroupBox控件用于_,分组框的标题由_属性定义。

当移动单个GroupBox控件时,包含的所有控件_移动。

(3)GroupBox控件类似于Panel控件;但只有_控件显示标题,而且只有_l_控件可以有滚动条。

(4)随机函数是_。

(5)TabControl控件最重要的属性是_,包含单独的选项卡。

(6)Point表示_的有序对。

2该段代码折叠后显示:

#regionMyClassdefinitionpublicclassMyClasspublicstaticvoidMain()#endregion,4.5习题,3下列代码的输出为:

usingSystem;classWhileTestpublicstaticvoidMain()intn=1;while(n6)Console.WriteLine(Currentvalueofnis0,n);n+;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1