连连看 地图生成原理

lemonice 2007-01-29 10:56:24
小弟我初社入语言编程里来,想做个连连看的游戏供大家娱乐下,只是苦思凝想也没有想到地图是用什么来生成的,是怎么生成的,如果我想做几个地图,没关的地图生成后的样式都要有点变化,那该怎么做呢?谁来帮帮我,还有方块元素是怎么成双配对的,让他们随即安放位置呢.救命啊各位大哥大姐们.小弟我提前给路人拜年了,祝路过的人新年快乐,祝帮我的路人出门拣金元宝!!
...全文
1686 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
有问题请先GOOGLE,BAIDU
terry2008 2007-03-27
  • 打赏
  • 举报
回复
LZ的问题太多了,没有一点是自已想的,这可怎么教啊. 动动脑筋,其实很容易就实现的.
terry2008 2007-03-27
  • 打赏
  • 举报
回复
哈哈,那是我两年前写的游戏哦,花了我半年的时间,能想到的问题都解决了.看来我也得做了Blog了,以后也好跟大家分享分享.
FingerStyle 2007-02-01
  • 打赏
  • 举报
回复
在csdn里找 连连看 下载下来 我已经传上了, 有原代码... 有很多问题.. 指正....
lemonice 2007-02-01
  • 打赏
  • 举报
回复
没有人理俺啊
lemonice 2007-01-31
  • 打赏
  • 举报
回复
谁能帮忙说的明白一点,我现在还是蛮糊涂的,我很想了解下xiaocai0001说的游戏地图生成算法, 写死的毕竟少了很多趣味性.我的想法是随机生成部分地图,如果是那样的话,我想试试,地图没必要全是方块什么的
lemonice 2007-01-31
  • 打赏
  • 举报
回复
怎么分份啊,说明白点,谁能给俺点这个地图的策划方案,寻路上的方案也要,谢谢啦!!!
dream_y06 2007-01-31
  • 打赏
  • 举报
回复
分份,然后随机,感觉可行呀~
  • 打赏
  • 举报
回复
我的是用随机数字,比如1-40生成4份,随机放到棋盘中。
FingerStyle 2007-01-30
  • 打赏
  • 举报
回复
当时由于时间关系, 从开始到最后用了3天时间, 也没想那么多..
楼上把信箱给我 我给你Send一份, 多多指教....
xiaocai0001 2007-01-30
  • 打赏
  • 举报
回复
呵呵, 从简单做起..

实际上这个游戏难点在于,

第一: 连接算法, 玩家选择了两个, 如何确定是否符合规则连接?
第二: 游戏地图生成算法, 写死的毕竟少了很多趣味性.

开始做起, 可以回避第二个问题, 从整体上把游戏实现, 后面慢慢修改.
FingerStyle 2007-01-30
  • 打赏
  • 举报
回复
恩 当时考虑的时候只是想怎么实现一下, 后面没想的太深

我这个连连看 只是弄了选择: 简单 中等 困难


简单: 0 ~ 2

1 0 2 1 0 1 1
2 1 0 0 1 2 0
1 0 2 1 0 1 1
2 1 0 0 1 2 0 打乱..

中等: 0 ~ 5
0 2 3 4 5 0 1
0 1 4 3 1 2 0
0 2 3 4 5 0 1
0 1 4 3 1 2 0 打乱....
原理差不多就这样, 当时做的时候也就想了这么多, 楼上说的是, 有待改进...


xiaocai0001 2007-01-30
  • 打赏
  • 举报
回复
这个做的, 算是预定义好的各个关卡?

那玩的次数稍多一下, 就会发现老重复了...

再说, 这个随机显示图片, 那就有可能随机到同一个图片上, 很多方面还是需要进一步考虑的.
FingerStyle 2007-01-30
  • 打赏
  • 举报
回复
//上半部分
for(int i=1; i<6; i++)
for (int j = 1; j < 16; j++)
{   //产生随机显示的图片
string name = string .Format ("image/{0}.bmp",(int)(r.NextDouble ()*hard)+1);//这里可以控制游戏的难度
map[i, j] = new MapNode(name, normalState, normalState);
}


///我的部分代码. 图片从 0.bmp ~ 40.bmp
(int)(r.NextDouble ()*hard)+1 这里的hard控制难度
hard 如果是20 , 那地图的图片只有 1 ~ 20.bmp随机
hard 如果是40, 那地图的图片从 1 ~ 40.bmp随机 这样难度就增大了....

楼上的看看对不?



xiaocai0001 2007-01-30
  • 打赏
  • 举报
回复
上半部分和下半部分一样了 这样保证了都是偶数个 ,
然后
for循环 打乱一下 , 详细 见我的博客.....

-----------------------------
这样地图生成的问题解决了, 但每关的难度控制上就有问题了吧?
gaooo 2007-01-29
  • 打赏
  • 举报
回复
哈哈,太谦虚了。

学习了!
FingerStyle 2007-01-29
  • 打赏
  • 举报
回复
呵呵 一点拙见...
gaooo 2007-01-29
  • 打赏
  • 举报
回复
好主意啊!楼上的
FingerStyle 2007-01-29
  • 打赏
  • 举报
回复
我的博客里有篇文章 c# 连连看实现地图的原理 (http:\\jiangzhiliang002.blog.tom.com)

先生成上半部分

! # $ % %
* & * * !
然后Clone到下半部分
! # $ % %
* & * * !

就这样了:
! # $ % %
* & * * !
! # $ % %
* & * * !

上半部分和下半部分一样了 这样保证了都是偶数个 ,
然后
for循环 打乱一下 , 详细 见我的博客.....




5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧