最近照着网上的元胞自动机随机地图生成算法自己尝试着写了一下,发现效果不是很满意

local count1 = Tile_map.CheckNeighborWall(i,j)--1层墙的数量
local count2 = Tile_map.CheckNeighborWall(i,j,2)--2层墙的总数量
count2 = count2 - count1
--count1 >=5  会向四周扩散,中间会很空
--count2 <= 2 会往中间加东西
if(times<=4)then--先四次
Tile_map_m[i][j].type =  (count1>=5 or count2<=2) and "obs" or "path"
else--再三次
Tile_map_m[i][j].type =  (count1>5) and "obs" or "path"
end

效果图:


作者博文的一次的算法模仿出来的样子:
代码:

if Tile_map_m[i][j].type =="obs" thenTile_map_m[i][j].type = (count1>=4 and "obs") or "path"
elseif Tile_map_m[i][j].type == "path" thenTile_map_m[i][j].type = (count1>=5 and "obs") or "path"
end

图片:

总结

不知道是哪里出了问题可能和随机数有关,可能和我的地图行和列的数量有关,不过本着练手lua的目的也不是介怀啦,但是总是有点遗憾,看以后能不能弥补把

—2019,11-26.
今天上课的时候我又看了下元胞自动机的知识.发现我搞错了一件事.元胞自动机有一个很重要的性质

t时刻的unit影响t+1时刻的unit

我只用了一个数组来进行遍历
所以导致我当时遍历的单元(t+1时刻)会考虑上一个已经更新了的unit所以我整个代码都是混乱的,左上边的部分是t+1的时刻,右边是t时刻的!!!!
所以我要用2个数组来存储才行!!!
不过我仍然试了一下效果还是不是很满意

随机地图生成--自己的一次尝试相关推荐

  1. 这些坑别踩!游戏随机地图生成开发经验分享

    当时虽然简单实现了目的,但后来自己也感到世界地图的呈现并不十分完美,恐怕也就只值95分.为了精益求精且给自己找点事做,便想对大地图的呈现方式做些微调. 之前略有瑕疵的世界地图 为何选择2D? 素材好找 ...

  2. [Unity]Roguelike随机地图生成(一)

    初步随机地图生成 基础房间生成 房间门的判断 基础房间生成 首先需要确定每次房间生成都是在上一个房间的哪个方向上生成,为此需要声明一个枚举值来记录上下左右四个方向 创建脚本RoomGenerator, ...

  3. 《Dead Cells》的随机地图生成

    而对于平台动作(Platformer)类型的 Roguelike 来说,精妙的关卡设计显得更加重要了,于是大家也在考虑其它方式,比如预生成大量关卡模块再随机选择.整合,或者混合两种方式来做.预生成关卡 ...

  4. 一个简单的2DRoguelike游戏随机地图生成思路

    首先我们要先明确一张Roguelike地图里包含的最基本元素是什么,我的理解是房间与通道.我们可以将一张地图抽象成是房间与房间通过通道来连接. 那么基于这个大前提,我的思路如下. 以图中红色格子为中心 ...

  5. 【饥荒】关于随机地图生成的方式

    介绍世界的生成方式 原文 我注意到,几乎没有人知道如何在饥荒mod里建立新的地图,所以我想分享我的知识.如果在任何事情上我错了,请纠正我或给我信息. 介绍世界的生成方式 世界生成的组成是 第一部分 预 ...

  6. 游戏随机地图生成方法

    对于大多数的游戏来说,内容的消耗都是开发商非常棘手的问题,而随机生成地图的做法则大大增加了游戏的可重复性,并且可以丰富玩家的体验.最近,海外一名资深开发者在博客中分享了他做随机生成地图的方式,以下请看 ...

  7. 【大作业】基于MATLAB的PRM算法的路径规划设计(随机地图+GUI+源码+报告)

    基于MATLAB的PRM算法的路径规划设计 下载链接: [Matlab期末大作业]基于MATLAB的PRM算法的路径规划设计(大报告+源代码+注释) 课题内容和要求 学会运用MATLAB 解决实际优化 ...

  8. 随机迷宫生成算法浅析

    摘要 本文对随机迷宫生成进行了初步的研究和分析,并给出了两种不同的生成算法.最终的算法结合了图的深度优先遍历.通过对比两种算法之间,可发现,在实际问题中,结合了离散数学的方法往往非更有效率且效果更佳. ...

  9. Unity使用波函数坍缩 (Wave Collapse Function)算法生成随机地图

    在游戏领域和人工智能领域有一个随机生成地图用的比较多的算法叫做波函数坍缩 (Wave Collapse Function)算法,这个算法可以根据自己定制的规则生成随机地图. 根据波函数坍缩算法的源码 ...

最新文章

  1. Django Bakend--后台管理插件开发-01
  2. 安装phpMyAdmin图文教程
  3. 数字内容交易平台php,Demila数字内容交易系统 v1.0
  4. 使用Consul做服务发现的若干姿势
  5. 开启mysql慢查询日志,不重启数据库的方法
  6. DOS调用21H存取中断向量
  7. 【简单易懂】c++中组合与聚合
  8. 愚蠢的领导才会用程序员祭天!!
  9. vector 不初始化时什么状态_Vue原理解析(三):初始化时created之前做了什么?...
  10. sql server 2005 T-SQL BACKUP CERTIFICATE (Transact-SQL)
  11. matlab矩阵倒数,求解:用MATLAB生成空间距离倒数矩阵后面板分析出现下面的几句警告...
  12. 云网融合个人学习--云网融合典型场景分析【摘抄】
  13. QQ9.5.9 28650防撤回补丁
  14. fsf大流行政治天网抗议监视
  15. 华中师范大学 -技术类-- 导师信息
  16. laravel5.5 sendCloud 发送邮件(sendCloud Api and naux/sendcloud )
  17. 关于 国产麒麟系统编译Qt项目是报错:error: cannot find -lGL 的解决方法
  18. Docker的安装和使用
  19. MVC、POJO、PO、DTO、TO、BO、VO、DAO、domian、delegate、sql
  20. vue 自定义指令v-directive

热门文章

  1. flutter clean
  2. 未来计算机 教学反思,计算机基础教学反思.doc
  3. 一季度险资137亿建仓151股 业绩环增公司超四成(转自新浪)
  4. 基于ESP32的蓝牙刷屏器自动点击器的制作
  5. Unix File Permissions and ACLs in OS X
  6. Symfony2 ACLs
  7. 考研英语二计算机词汇,考研英语词汇84分的一些经验
  8. 基于c#winform的可视化打印标签模板设计器及Labview与C#调用模板Demo
  9. 项目管理中的各种技术,分析图(简介+应用子过程)
  10. java网课|Scanner