问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

数字拼图问题(十五数码) VB

发布网友 发布时间:2022-04-21 19:56

我来回答

2个回答

热心网友 时间:2023-09-27 15:39

欢迎加QQ群30686911一起学VB
我已经做成贴图的魔板了,很考校眼力的,图片打散之后再重新拼出来算完成。双击右边图片框可以更换图片。放在群空间里啦,名字是魔板。欢迎大家来下载测试。

至于这个题目

picture控件组都用正方形的,下标1-16。然后如下排好位置。
(1)(2)(3)(4)
(5)(6)(7)(8)
(9)(10)(11)(12)
(13)(14)(15)(16)
还要加一个开始按钮。

Public A As Integer

Private Sub Command1_Click() '开始按钮,作用:打乱顺序;因为每次都是把正常交换,所以不可能出现无法复位的情况
Randomize
For I = 1 To 10000
Call change(Int(Rnd * 15 + 1))
Next
End Sub

Private Sub Form_Load()

for i=1 to 15
Picture1(i).AutoRedraw = True
picture1(i).print i
next

A = Picture1(2).Left - Picture1(1).Left
For I = 1 To 15
Picture1(I).Appearance = 0
Next
Picture1(16).BackColor = vbYellow '就这一个是凹的,当作空位使用。
End Sub

Private Function beOK() '判断是不是正确完成了排序
For I = 1 To 4
If (Picture1(I).Top = Picture1(I + 4).Top - A) And (Picture1(I).Top = Picture1(I + 8).Top - 2 * A) And (Picture1(I).Top = Picture1(I + 12).Top - 3 * A) Then
sum1 = sum1 + 1
End If
Next
For j = 1 To 13 Step 4
If (Picture1(j).Left = Picture1(j + 1).Left - A And Picture1(j).Left = Picture1(j + 2).Left - 2 * A And Picture1(I).Left = Picture1(I + 3).Left - 3 * A) Then
sum1 = sum1 + 1
End If
Next
If sum1 = 8 Then
MsgBox "顺利完成"
End If
End Function

Private Sub Picture1_Click(index As Integer)

Call change(index)

Call beOK

End Sub

Private Function change(ind As Integer) '判断下标为ind的picture是否与空位挨着,如果是就互换位置
If Picture1(ind).Left = Picture1(16).Left And Abs(Picture1(ind).Top - Picture1(16).Top) = A Or Picture1(ind).Top = Picture1(16).Top And Abs(Picture1(ind).Left - Picture1(16).Left) = A Then
l = Picture1(ind).Left
t = Picture1(ind).Top
Picture1(ind).Left = Picture1(16).Left
Picture1(ind).Top = Picture1(16).Top
Picture1(16).Left = l
Picture1(16).Top = t
End If
End Function

热心网友 时间:2023-09-27 15:40

什么意思?说清楚点
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
缘起缘灭美文 个人取得交易手续费返还收入需缴个人所得税吗 个人所得税返还手续费交增值税吗 输血有什么不良反应? 总是梦见很恐怖的快速飞 梦里面还知道自己在做梦想赶紧醒来 问题... 武汉商学院地址是什么 武汉商学院交通方便吗。离市区远吗 武汉商学院地理位置很偏吗 ...2013年10月10日, 农历2013年9月6日, 阴历二零一三癸巳年九月初六日12... 男孩 出 生于2013年10月10日(农历九月初六)凌晨3:07分五行缺什么啊? javascript数字拼图 求教 如何用C语言制作 数字拼图? 电脑上桌面小工具的数字拼图的方法 二年级数学35页拼图9题,制作一个数字转盘,怎么做 ps做数字内嵌拼图 请教会数字拼图的高手~~~~这样该怎么弄?? 国有三不祥体现了晏子怎样的治国理想 国有三不祥中,晏子借什么机会,巧妙向君王进谏,... 国有三不祥文言文翻译 wap.5156edu.com 国有三不祥晏子劝谏有何特点 国有三不祥,晏子借为景公解惑的机会,向景公提了... 景公出猎 国有三不祥含义 国有三不祥文言文晏子是什么样的人 文言文阅读 国有三不祥 景公出猎,上... 你能谈谈对典故“国有三不详”的理解吗? 国有三不祥带来了什么 文言文《国有三不详》的翻译 国有三不祥的原文 《国有三不祥》晏子借什么的机会,巧妙向君王进谏... 国有三不祥的意思 数字拼图游戏中,保证完成的实现方法???? 数字拼图怎么拼!!!求救!!! 哪有能将图片转换成数字拼图形式的软件 3*3的VB数字拼图怎么做 ? VB九宫数字拼图游戏 数字拼图 治疗类风湿的土方法有哪些 类风湿关节炎有没有偏方可以治疗 怎样写感谢信给资助我的人 类风湿关节炎的治疗有啥偏方嘛? 急求一份对个人爱心助学的感谢信 治疗类风湿关节炎最有效的偏方? 治疗类风湿的土方法 怎么写对方给我的爱心资助的感谢信 类风湿特效偏方? 助学金的感谢信怎么写 类风湿关节炎偏方 求帮忙,求各位朋友! “爱心助学”感谢词怎么写 求救,类风湿关节炎最有效的偏方… 类风湿有什么偏方吗?很痛苦,该怎么去治疗类风湿呀?