使用GDScript(godot)生成仿杀戮尖塔地图

使用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 本层未连接点 < 上层未连接点:
			当前位置 
  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值