VB 数字的移动,数字拼图游戏九格的! 截图如下,求打乱的方法?我做出来的会重复。不知道为什么,求高手
还原的时候程序顺利执行但图片不见了,autoredraw设置为true但没有用呵。有人答案满意就加分怎么转化到键盘上下左右呢。或者将程序发到我邮箱756021724…视情...
还原的时候程序顺利执行但图片不见了,autoredraw设置为true但没有用呵。有人答案满意就加分
怎么转化到键盘上下左右呢。或者将程序发到我邮箱756021724…视情况加分 展开
怎么转化到键盘上下左右呢。或者将程序发到我邮箱756021724…视情况加分 展开
3个回答
展开全部
我以前有做过拼图游戏,我是用控件组做的。8块图名字分别为pic(1~8)。那时那种打乱方法原理大概是这样:8个拼图随机抽取2个,交换它们的位置,即交换top值和left值。这样循环多次。若你在picturebox里添加image也可以。
代码框架就是这样:
for i = 1 to 10 '这里10指进行10次位置交换
a = rnd(7) + 1
b = rnd(7) + 1
do while (a = b) '判断a是否=b,若为是,继续产生随机数,直到a<>b为止。
a = rnd(7) + 1
b = rnd(7) + 1
loop
cucuntop = pic(a).top
cucunleft = pic(a).left
pic(a).top = pic(b).top
pic(a).left = pic(b).left
pic(b).top = cucuntop
pic(b).left = cucunleft
next i
代码框架就是这样:
for i = 1 to 10 '这里10指进行10次位置交换
a = rnd(7) + 1
b = rnd(7) + 1
do while (a = b) '判断a是否=b,若为是,继续产生随机数,直到a<>b为止。
a = rnd(7) + 1
b = rnd(7) + 1
loop
cucuntop = pic(a).top
cucunleft = pic(a).left
pic(a).top = pic(b).top
pic(a).left = pic(b).left
pic(b).top = cucuntop
pic(b).left = cucunleft
next i
展开全部
你们确定随机打乱的,最终就一定能拼好吗?我自己也在做一个拼图的游戏,是那种只能和空白位置相邻的图片才可以交换的那种,开始我也采用随机打乱,后来才发现有可能最终拼不出来。这是问题的其一,还有就是我想要算出在打乱后最快可以多少步就拼成功,一直不知道该用什么算法来计算,找了好久,没个解决实际问题的呀。很多东西做出来后不要认为想当然的没问题,测试过了再说话
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-03-01
展开全部
设快捷键为上下左右不行吗
打乱一般是用随机生成吧 即a[]数组的a[1]~a[9]用rnd填,当然填的时候要检测是否某数字已被使用
另 为了防止每次第一次运行程序都得到相同的随机序列 程序首要加上一个renseed的随机种子(VB函数名是不是这个不敢确定)
不用VB 所以只能说个大概了
打乱一般是用随机生成吧 即a[]数组的a[1]~a[9]用rnd填,当然填的时候要检测是否某数字已被使用
另 为了防止每次第一次运行程序都得到相同的随机序列 程序首要加上一个renseed的随机种子(VB函数名是不是这个不敢确定)
不用VB 所以只能说个大概了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询