求VB高手(大一VB期末程序设计题)
一、题目:设计拼拼看程序。二、目的与要求:1、目的:略。2、基本要求:1.要求用VisualBasic对象的程序设计思想完成程序的设计。2.由对话框装入一图形文件到图像控...
一、题目:设计拼拼看程序。
二、目的与要求:
1、目的:略。
2、基本要求:1.要求用Visual Basic对象的程序设计思想完成程序的设计。
2.由对话框装入一图形文件到图像控件,图片分割成九组再装入到图片控件数组各元素。
3.单击start按钮生成要拼的图形。(隐藏图片位置随机产生)
4.单击隐藏图片的相邻图片可以移动图片位置,重复移动图片最终完成所要拼的图形。
5.如果未完成拼图操作,可以单击show按钮,恢复图片的原状。
3、创新要求:达到基本要求后,进行创新设计:
1.设置难度系数,如基本要求是九组,创新要求为十六组。
2.在规定的时间内提前、按时、或未完成,设置相应的提示。
三、设计方法和基本原理
1、把图片装入Image1控件
2、保存图片控件数组元素的原始位置数据。
3、按照给定的分割系数分割图像,将分割得到的图像画入各控件数组元素。
4、随即产生一个图片控件数组元素索引号,将该元素隐藏,将其与其它充分交换位置,将图片原有位置打乱。
5、在拼装过程中,每一次交换图片位置,都要判断一次拼装是否成功。
四、主要技术问题:
1、图片的控件数组各元素的原始位置数据是指各元素的.left和.top属性值:
PIC(1).left
PIC(1).top
2、将装入图像控件的图片分割并装入图片控件数组各元素的方法提示如下:
For k=0 To Nub 'Nub是控件元素的个数,C分割系数
Pic(k).paintpicture Image.Picture, 0 ,0 _
Pic(k).ScaleWidth,Pic(k).ScaleHight,_
(Pic(k).left - Pic(0).left)/1200*frmPICG.ImW/C,_
(Pic(k).Top - Pic(k).Top)/1600*frmPICG.ImH/C,_
frmPICG.ImW/C,frmPICG,ImH/C,_
vbSrcCopy 'vbSrcCopy 将源位图复制到目标位置
next
3、将随机产生的控件数组元素隐藏,判断其他元素的.left值是否与隐藏元素的left值或是其left值加图片控件元素的Width相同,若相同就可以与隐藏元素交换位置(即水平交换);类似的方法垂直交换位置。为将原有的位置充分交换,可以再次循环。
4、具体拼图时,每一次移动位置,都要将当前的拼图中所有图片的位置具体与图片的原始位置数据相比较,只要不同,则继续拼图,全部相同拼图成功。
5、回复拼图原状就是将原先的图片数组各元素的位置值复原。
感谢VB高手,答对还有更多加分。至少(100)
答案如图~ 展开
二、目的与要求:
1、目的:略。
2、基本要求:1.要求用Visual Basic对象的程序设计思想完成程序的设计。
2.由对话框装入一图形文件到图像控件,图片分割成九组再装入到图片控件数组各元素。
3.单击start按钮生成要拼的图形。(隐藏图片位置随机产生)
4.单击隐藏图片的相邻图片可以移动图片位置,重复移动图片最终完成所要拼的图形。
5.如果未完成拼图操作,可以单击show按钮,恢复图片的原状。
3、创新要求:达到基本要求后,进行创新设计:
1.设置难度系数,如基本要求是九组,创新要求为十六组。
2.在规定的时间内提前、按时、或未完成,设置相应的提示。
三、设计方法和基本原理
1、把图片装入Image1控件
2、保存图片控件数组元素的原始位置数据。
3、按照给定的分割系数分割图像,将分割得到的图像画入各控件数组元素。
4、随即产生一个图片控件数组元素索引号,将该元素隐藏,将其与其它充分交换位置,将图片原有位置打乱。
5、在拼装过程中,每一次交换图片位置,都要判断一次拼装是否成功。
四、主要技术问题:
1、图片的控件数组各元素的原始位置数据是指各元素的.left和.top属性值:
PIC(1).left
PIC(1).top
2、将装入图像控件的图片分割并装入图片控件数组各元素的方法提示如下:
For k=0 To Nub 'Nub是控件元素的个数,C分割系数
Pic(k).paintpicture Image.Picture, 0 ,0 _
Pic(k).ScaleWidth,Pic(k).ScaleHight,_
(Pic(k).left - Pic(0).left)/1200*frmPICG.ImW/C,_
(Pic(k).Top - Pic(k).Top)/1600*frmPICG.ImH/C,_
frmPICG.ImW/C,frmPICG,ImH/C,_
vbSrcCopy 'vbSrcCopy 将源位图复制到目标位置
next
3、将随机产生的控件数组元素隐藏,判断其他元素的.left值是否与隐藏元素的left值或是其left值加图片控件元素的Width相同,若相同就可以与隐藏元素交换位置(即水平交换);类似的方法垂直交换位置。为将原有的位置充分交换,可以再次循环。
4、具体拼图时,每一次移动位置,都要将当前的拼图中所有图片的位置具体与图片的原始位置数据相比较,只要不同,则继续拼图,全部相同拼图成功。
5、回复拼图原状就是将原先的图片数组各元素的位置值复原。
感谢VB高手,答对还有更多加分。至少(100)
答案如图~ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询