Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local created = {['0,0']=1,['1,0']=1}
- local target = 368078
- local Direction = 'U'
- local Directions = {['U']={0,-1},['D']={0,1},['L']={-1,0},['R']={1,0}}
- local Coordinate = {1,0}
- local len = 1
- Part.Create(0, 0, 1, workspace, true)
- Part.Create(1, 0, 1, workspace, true)
- function getSurroundings()
- local x,y = Coordinate[1], Coordinate[2]
- local function c(y,x)
- return created[x .. ',' .. y]
- end
- return {c(y-1,x), c(y+1,x), c(y-1,x-1), c(y-1,x+1), c(y+1,x+1), c(y+1,x-1), c(y,x-1), c(y,x+1)}
- end
- function getNum(surroundings)
- local num = 0
- for _,v in pairs(surroundings) do
- num = num + v
- end
- num = (num == 0 and 1 or num)
- return num
- end
- for _ = 1,20 do
- for i = 1,len do
- local dir = Directions[Direction]
- Coordinate[1] = Coordinate[1] + dir[1]
- Coordinate[2] = Coordinate[2] + dir[2]
- local surroundings = getSurroundings()
- local num = getNum(surroundings)
- created[Coordinate[1]..','..Coordinate[2]] = num
- Part.Create(Coordinate[1], Coordinate[2], num, workspace, true)
- if num > target then
- print(num)
- return
- end
- end
- Direction = (Direction=='R' and 'U' or Direction == 'U' and 'L' or Direction == 'L' and 'D' or Direction == 'D' and 'R')
- len = len + (Direction=='D' and 0 or Direction == 'U' and 0 or 1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement