使用它的计划是基于文本的Space RPG游戏。我想生成随机点(x,y坐标) - 我已经完成了 - 然后用2d网格上显示的连接绘制它们。作为一方,我如何标记这些坐标?
随机生成的代码如下:
import time
import random
import math
radius = 200
rangeX = (0, 2500)
rangeY = (0, 2500)
qty = 40
deltas = set()
for x in range(-radius, radius+1):
for y in range(-radius, radius+1):
if x*x + y*y <= radius*radius:
deltas.add((x,y))
randPoints = []
excluded = set()
i = 0
while i<qty:
x = random.randrange(*rangeX)
y = random.randrange(*rangeY)
if (x,y) in excluded: continue
randPoints.append((x,y))
i += 1
excluded.update((x+dx, y+dy) for (dx,dy) in deltas)
time.sleep(0.001)
stars = {}
keyName = 1
for item in randPoints:
stars[str(keyName)] = [item, 0,]
keyName += 1
答案 0 :(得分:0)
与其向您提供直接答案,我会指出您的大方向,因为这个问题的范围似乎很大。
考虑使用pygame;它为您提供绘图功能,有一个可用于检测用户输入的事件系统,并且具有许多其他有用的功能,用于创建游戏,顾名思义。
强烈考虑使用课程;您的代码将变得更具可读性和灵活性。为星星添加功能,如标签,表面温度,发射(脉冲?)光的颜色,可用的原材料等等,变得更容易处理。
要生成名称,您可以将现有的星名称放在文本文件中,加载它并随机选择一个。对于额外的奖励积分,请使用马尔可夫链来生成看似随机的名称。