当前位置: 首页 > 面试题库 >

如何在Java中像make一样以过程方式生成Zelda

濮阳安澜
2023-03-14
问题内容

我将如何在Java中制作程序生成的地图?游戏本身就像Zelda是按程序生成的一样。


问题答案:

不久前Zelda地图的图例使用等距图块视图。您需要做的第一件事是将等距图块集加载到程序中,我确定您可以找到Zelda图块集。然后,您需要确定如何以过程方式生成地图。会有海洋,不同的生物群落,建筑物吗?在制定生成地图的方程式时,必须考虑所有这些因素。每个图块都需要存储在某个位置,因此我将制作一个2d数组以打包所有图块值。然后使用嵌套的for循环渲染图块。代码看起来像这样

int[][] world = new int[50][50];

for( int i = 0; i < 50; i++ ){
    for( int b = 0; b < 50; b++ ){
        int tile = world[i][b];
        render(tile, i, b);
        //use i and b to position the tile on your world

生成哪些图块去哪里要麻烦一些,然后在创建图块后对其进行渲染。上面仅制作了一个空矩阵。我将再次使用for循环,使用代表图块的不同int
id值填充您喜欢的世界。但是,这是完全随机的,因此您需要采取一些措施来解决问题。我将在生成时测试周围的图块,并给周围的图块更高的生成概率,以便更平滑地势。如果您希望每个游戏都拥有相同的世界,则只需为矩阵提供恒定的值即可,而不是生成它们。我不打算编写整个等轴测视图引擎,但我希望其中一些概念可以对您有所帮助。



 类似资料:
  • 问题内容: 我编写了python代码,以编程方式生成卷积神经网络(CNN),用于训练和验证caffe中的.prototxt文件。下面是我的功能: 有没有办法类似地生成deploy.prototxt以测试不在lmdb文件中的看不见的数据?如果是这样的话,如果有人可以给我提供参考,我将不胜感激。 问题答案: 很简单: 现在调用函数: 正如你可以看到有两处修改到prototxt(条件上是): 第一个,而

  • 问题内容: 我想为Java的玩具语言编写一个编译器。我想生成可运行的.class文件。我想知道执行此操作的最佳库或工具是什么?我知道我可以学习所有指令的二进制格式并建立自己的常量池等,但这似乎应该已经完成​​:没必要重新发明轮子,对吗? 在线搜索我发现了两种不同的Java汇编语言Jasmin和Jamaica,但是只有Jasmin看起来有所维护。 是否存在用于将字节码写入流的Java库?这是Apac

  • 问题内容: 我有一个Dropwizard应用程序,需要为配置列表中的每个配置生成十几个bean。健康检查,石英计划程序等。 像这样: 我有多个MyConfiguration实例,都需要这样的bean。现在,我必须复制并粘贴这些定义,并为每个新配置重命名它们。 我可以以某种方式遍历我的配置类并为每个配置类生成一组bean定义吗? 我可以使用子类解决方案或任何类型安全的方法,而无需每次添加新服务时都复

  • 在控制器中引用FactoryBean,然后。但是,对于这样一个简单的情况,我真的需要创建一个新类吗? 有一个工厂方法来构造托管bean。这个方法仍然存在显式实例化POJO的问题,因此它本身需要对它进行Spring注入。此外,这是完整的样板文件。 bean的构造非常琐碎,所以我认为Spring中有一种更简单的方法来完成它。有吗?

  • 问题内容: 如何以编程方式(无需触摸)设置an的主题 ,使其看起来像一个对话框? 注意:我可以修改,只要不需要对其进行修改即可在使其看起来像是正常活动还是对话框之间进行切换。 到目前为止我尝试过的 我根据这个答案尝试了以下方法: 我也尝试了: 但这最终使一切变黑了。 做什么?谢谢。 问题答案: 背景 在后面的绘制,如果根据其前景活动的主题是对话; 否则,Android操作系统将 不会 在其后面绘制

  • 演员系统是惊人的。我想知道我是否能使它更灵活地使用。 我有一系列相关的节点对(可以是文件的形式),比如: A-- 我想在服务器启动时以编程方式生成一个包含6种参与者(即a~F)的系统。而且他们有监督孩子的关系,就像上面提到的两个人。 这对阿克卡有可能吗? 编辑2014-05-28 抱歉搞混了。 我是阿克卡的新手,到目前为止我学到的一些概念可能并不那么准确。 真正的用例是,我想使用包含参与者之间关系