【问题标题】:Pygame random map generationPygame随机地图生成
【发布时间】:2013-06-05 17:59:13
【问题描述】:

我一直致力于使用 Pygame 模块在 Python 中编写游戏。 现在我正在尝试生成地图。我想生成一个大世界并将其保存为某种文件,然后在每次游戏加载时重用它。我可能想最好在 python 中编写一个不同的程序来生成世界,然后继续使用同一个世界。我不能让它完全随机,因为我不会只获得随机瓷砖的景观,所以我该怎么做呢?我有一些平铺图像,例如“terrain/grass.png、terrain/water.png”。

我尝试了一些类似的方法:

screen.blit(water, [river_startx, river_starty])
screen.blit(water, [river_startx, river_starty + 32])
screen.blit(water, [river_startx + 32, river_starty + 32])
screen.blit(water, [river_startx + 32, river_starty + 64])
screen.blit(water, [river_startx + 32, river_starty + 96])

我做了一条河,但手动完成需要很长时间。

科林·N.

【问题讨论】:

  • 这个问题与 Pygame 和 Python 的关系不大,而与非常普遍的“如何编程”方法有关。它真的不适合这个社区。​​span>
  • 什么意思?在我看来,它与 python 和 pygame 有关,这是一个关于在 python 中为 pygame 编写地图生成器的问题。我如何使它“非常适合这个社区”。我写 python 已经很多年了,我知道“如何编程”我只是有一个具体的问题。
  • 编写地图生成器并不是 pygame 特有的主题。编写地图生成器是特定于游戏开发的主题。编写地图生成器不是问答类型的主题。编写地图生成器至少是“一小时教程”类型的主题,甚至可能是“论文项目”类型的主题。
  • 如果我想用python写,难道不是python特有的吗?
  • 我并不想就此展开辩论;看来我不是唯一一个觉得这个问题不合适的人。 Python 问题可能类似于“我编写了这段代码来从文件中读取地图数据,但由于某种原因它不起作用;这是代码,这是输出。”

标签: python map pygame


【解决方案1】:

既然我已经发表了我的评论,我感到有点遗憾,因为我没有给你更多的建设性建议来解决你的问题。

您将希望以某种数据格式存储您的地图。您应该弄清楚该数据格式将是什么,以及您希望如何重新读取它。这里的可能性是无穷无尽的:您可以使用数据库,您可以使用数据文件,您可以使用源代码等等。但是您需要以某种数据格式存储地图,如果您使用图形上下文作为数据格式,您将不会走得太远。

如何构建地图是游戏逻辑的一部分,不一定是编程逻辑的一部分。也就是说,您可以定义诸如“除非我在山中,否则不要开始河流;除非我在水体中,否则不要停止河流”或“瓷砖更有可能是山,如果它在其他山附近”。程序化地图设计是游戏编程中一个非常大的话题,您可能会在游戏开发社区中找到一些有用的讨论。尝试http://www.pixelprospector.com/the-big-list-of-indie-game-development-forums/ 作为一个可能的起点。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-02
  • 1970-01-01
  • 1970-01-01
  • 2019-08-22
  • 2019-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多