题目内容 (请给出正确答案)
[主观题]

利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基...

利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基本功能: (1)窗口中有16张图片,共8种图案,每种图案有两张。 (2)游戏开始时程序向用户展示所有的图片,片刻之后图片翻过去。 (3)用户凭记忆连续单击两张自己认为是相同图案的图片,这时被单击图片翻起。 (4)如果被单击图片不相同,则自动翻回去。 (5)如果被单击图片相同,则这两张图片消失。 (6)这样不断单击,直到16张图片均配对成功消失,游戏结束。 2.扩展功能: 为游戏增加菜单、计时功能。 (1)通过菜单的“新游戏”选项可以重复进行多次游戏。 (2)通过菜单的“帮助”->“游戏规则”选项显示一个模式窗体,向用户介绍游戏规则。 (3)在每次游戏结束时,弹出对话框显示用户配对成功所花的时间。 (4)游戏所用时间越短越好,在程序中保存最高记录。 (5)在窗体上显示最高纪录和当前游戏已经进行的时间。 3.功能具体描述: 注意:以下图片中的菜单和计时功能属于扩展功能。 (1)程序开始界面如图1所示。利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基...利用C#/WinForms图1 游戏开始界面 (2)3秒后,所有图片翻过去,此时开始计时,如图2所示。利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基...利用C#/WinForms图2 所有图片翻过去 (3)用户连续单击两张图片,图片翻起,如图3所示。利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基...利用C#/WinForms图3 翻起两张图片 (4)如果两张图片相同,则图片消失,如图4所示。利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基...利用C#/WinForms图4 相同的两张图片消失 (5)游戏结束,弹出对话框提示,并显示所用时间,如图5所示。利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基...利用C#/WinForms图5 游戏结束 3.主要实验方法 1.设置窗体的“BackgroundImage”属性为“bg.jpg”; 2.添加菜单:从工具框中拖入“MenuStrip”并正确设置其各菜单项。 3.最高记录“、“0秒”、“已用时”、“20秒”等内容为“Label”控件。 4.在窗体上用16个图片框控件(PictureBox)显示16张图片。注意设置每个图片框控件的Tag属性为(0~15),设置其“BackColor”属性为Transparent(透明)。 5.用图像列表控件(ImageList)来保存要显示的8张正面图和1张背面图。(该图像列表控件已经设置好,在示例程序中名为:ilPictures,可以直接复制到自己的项目中。 6.图片翻转就是改变PictureBox的Image属性,让它对应ImageList中的不同图片。 7.为窗体增加一个整型数组字段,数组长度为16,数组的每个元素都与窗体上的一个PictureBox对应,元素的值就是相应的PictureBox中显示的图片在ImageList中的索引。把数组每个元素的下标(从0到16)写在每个PictureBox的Tag属性中。 8.游戏开始时,利用生成随机数的办法,循环将8张正面图随机放在2个PictureBox中,也就是记录在相应的一维数组的两个元素中。参考代码: // 随机指定每个图片框显示的图片 for (int i = 1; i <= 8; i++) { 每张图片都放在两个图片框中 putintobox(i); } 将指定索引的图片随机放在一个图片框中,记录在一维数组中 private void putintobox(int pictureindex) random r="new" random(); int index="r.Next(16);" 随机找到一个图片框的数组索引 if (this.pictureids[index] !="-1)" 已经有图片了 找到一个还没有指定图片的图片框 while(this.pictureids[index] 指定这个图片框对应的图片 this.pictureids[index]="pictureIndex;" 9.显示所有图片,需要遍历窗体上的所有picturebox控件,参考代码: 显示所有图片 foreach (control item in this.controls) (item is picturebox) 取得当前图片框对应的数组索引 获得图片框中显示的图片在imagelist中的索引 pictureindex="this.pictureIds[index];" 设置图片框可见 ((picturebox)item).visible="true;" 设置图片框显示的图片 ((picturebox)item).image="ilPictures.Images[pictureIndex];" 10.单击每一张图片后,都进入同一个事件处理函数。可以用下面代码获取以下信息。 当前点中的图片框在数组中的索引 newindex="Convert.ToInt32(((PictureBox)sender).Tag);" 当前点中的图片框显示的图片的索引 newpictureid="this.pictureIds[newIndex];" 11.两张图片匹配成功应满足条件 this.firstindex && this.firstpictureid="=" this.secondpictureid12.将指定索引的图片框设为不可见 (convert.toint32(((picturebox)item).tag)="=" index) 13.程序应有3个计时器控件(timer) (1)一个计时器用来控制在开始游戏前显示所有图片3秒钟后翻转(3秒显示计数器); (2)一个计时器,用来计算用户已用总时间 (3)一个计时器用来控制延时0.5s计时器,当用户选择了两张图片后,0.5秒后决定是否配对成功(消除这两张图片)或配对不成功(翻转这两张图片)。 (4)计时器的停止和起动可以使用stop()和start()方法。 14.程序流程如下所示: style="width:347px;height:184px" src="http://static.jiandati.com/c35bb8c-chaoxing2016-1051888.jpeg">利用C#/WinForms编程,编写一个小游戏“图片配对”。 1.基...利用C#/WinForms图6 程序流程图 15.说明:以上实验方法只供参考,其设计方法和算法不是唯一方法也并不是最优方法,鼓励学生们对该设计的算法进行改进和创新。

提问人:网友deamongel 发布时间:2022-01-07
参考答案
  抱歉!暂无答案,正在努力更新中……
如搜索结果不匹配,请 联系老师 获取答案
更多“利用C#/WinForms编程,编写一个小游戏“图片配对”。…”相关的问题
第1题
利用栈可以检查表达式中括号是否配对,试编写算法实现之。
点击查看答案
第2题
编程题 请编写一个函数int fun(); /*****************************/ }
点击查看答案
第3题
参看《C语言程序设计》P309-327关于C文件编程的内容,完成以下任务: 1.复习C语言文件的相关知识,编写一个文件复制程序,将附件中所给文件读入到一个数组,然后将图片数据写成另一个文件,图片能正常显示即为完成。
点击查看答案
第4题
试编写一个算法,检查一个程序中的花括号、方括号和圆括号是否配对,若能够全部配对则返回1,否则返回0。

点击查看答案
第5题
这里的Windows编程是指直接利用Windows系统函数编写应用程序、即直接调用应用程序接口(API)函数进行编程。
点击查看答案
第6题
4.编程题 (1)编写一个应用程序,给出汉字“你”“我”“他”在 Unicode 表中的位置。
点击查看答案
第7题
编程实现:输入一个1~7之间的任意整数,输出一个对应的星期的英文单词。要求用switch语句编写
点击查看答案
第8题
不属于利用图片的教学游戏的是()。

A.配对游戏

B.接龙游戏

C.口头游戏

D.看图找错游戏

点击查看答案
第9题
编写一个不同型号的椭圆程序,模拟上传不同的图片
点击查看答案
第10题
在状态机编程中,有一个编程技巧是CASE结构通常与()配对使用。

A.枚举常量、枚举控件

B.捆绑

C.解除捆绑

D.数组与簇转换

点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
简答题
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
简答题
点击打开微信