使用GDScript(godot)生成仿杀戮尖塔地图
代码如下:需要中文增强版才可以运行
extends Node2D
export (PackedScene) var Ball
var 被连接数 = {
} # 每个怪物被下层怪物连接的数量 最多为2
var 连接1 = {
} # 第一次连接的上层怪物位置
var 连接2 = {
} # 第二次连接的上层怪物位置
var 怪物数量 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0] # 每层怪物的数量
var 总层数 =8 # 总层数
var 怪物坐标行 = {
} # 存储随机处理后的怪物行坐标
var 怪物坐标列 = {
} # 存储随机处理后的怪物列坐标
func _ready():
生成怪物()
位置调整()
画地图()
func 生成怪物():
for i in range(总层数):
怪物数量[i] = 生成随机数(4,6) # 生成每层怪物的数量 4 5 6
if i>0 :
首尾连接(i)
第一次连接(i)
第二次连接(i)
func 首尾连接(层数):
# 将下层最外侧的怪和上层最外层的怪相连
连接1[Vector2(层数,1)] = 1
连接1[Vector2(层数,怪物数量[层数])] = 怪物数量[层数-1]
被连接数[Vector2(层数-1,1)] = 1
被连接数[Vector2(层数-1,怪物数量[层数-1])] = 1
pass
func 第一次连接 (层数):
var 当前位置 = 1 # 上层怪物的位置指针,从1开始
var 待连接点 = 怪物数量[层数] - 2
var 上层未连接点 = 怪物数量[层数 - 1] - 2
var 本层未连接点 = 怪物数量[层数] - 2
for i in range(待连接点):
#默认可选位置为2,既当前位置和下一位置
var 可选位置 = 2
# 如果本层未连接点<上层未连接点,则上层指针+1
if 本层未连接点 <