小型基本 - 我在网上找到的简单 Minecraft 克隆的更多地形生成"natural"



这是问题的主要焦点:

For BlockX = 0 To 900 Step 30 'Try to carve out Hills
 GraphicsWindow.BrushColor = "SkyBlue"
 depth = Math.GetRandomNumber(5)
 GraphicsWindow.FillRectangle(BlockX,BlockY,30,depth*30)
EndFor

和整个程序:

GraphicsWindow.Clear()
GraphicsWindow.CanResize = 0
GraphicsWindow.BackgroundColor = "SkyBlue"

gw = GraphicsWindow.Width
gh = GraphicsWindow.Height
gw = 900
gh = 600
For BlockX = 0 To 900 Step 30
For BlockY = 420 to 270 Step -30
    b = Math.GetRandomNumber(2)    
    If b = 1 Then 'Stone
      GraphicsWindow.DrawImage("C:AllVersionsVersionsv0.4SBCraftassetsrock.png",BlockX,BlockY) 
    EndIf
If b = 2 Then 'Dirt
      GraphicsWindow.DrawImage("C:AllVersionsVersionsv0.4SBCraftassetsdirt.png",BlockX,BlockY)
    EndIf
  EndFor 
EndFor
For BlockX = 0 To 900 Step 30 'Grass Layer
  BlockY = 240
  GraphicsWindow.DrawImage("C:AllVersionsVersionsv0.4SBCraftassetsgrass.png",BlockX,BlockY)
EndFor
For BlockX = 0 To 900 Step 30 'Try to carve out Hills
  GraphicsWindow.BrushColor = "SkyBlue"
  depth = Math.GetRandomNumber(5)
  GraphicsWindow.FillRectangle(BlockX,BlockY,30,depth*30)
EndFor   

解释:我在网上找到了一个非常简单的 Minecraft 克隆,我正在尝试通过添加地形生成器来扩展到它。地形生成器支持 3 块泥土、草和石头。对于底部的6层,泥土和石头随机产生,上面有一层草。这个问题的主要焦点是最后一个 For 语句。对于每一列,选择一个随机数。选择的随机数是每列中删除的块数。但这会产生非常锯齿状和不自然的地形。我可以做一些奇怪的三角函数来制作丘陵/自然地形,还是其他方法?

您可以使用

绝对图方程y= -|x|。 你将如何实现这一点我一无所知,但如果你看一下这个等式的图表,它看起来像一个尖山,通过它你可以去建造你的山丘。

相关内容

  • 没有找到相关文章

最新更新