Circles half work in orientation. I can finally move on from godot. Yipee
This commit is contained in:
@@ -116,13 +116,14 @@ func _input(event):
|
|||||||
func _process(delta):
|
func _process(delta):
|
||||||
#FoundGoal()
|
#FoundGoal()
|
||||||
#AllObjectsFound()
|
#AllObjectsFound()
|
||||||
|
Circling()
|
||||||
CallableRaycastData()
|
CallableRaycastData()
|
||||||
Mark(Prev_dir)
|
Mark(Prev_dir)
|
||||||
WhatMove()
|
WhatMove()
|
||||||
BackTracking()
|
BackTracking()
|
||||||
GiveOrder()
|
GiveOrder()
|
||||||
Intersection_Tree()
|
Intersection_Tree()
|
||||||
#Circling()
|
|
||||||
CheckForTreeDeadEnds()
|
CheckForTreeDeadEnds()
|
||||||
TravelLog()
|
TravelLog()
|
||||||
#DeadEndCircles()
|
#DeadEndCircles()
|
||||||
@@ -132,7 +133,7 @@ func _process(delta):
|
|||||||
IntersectionWaysAvailable()
|
IntersectionWaysAvailable()
|
||||||
IntersectionDumping()
|
IntersectionDumping()
|
||||||
CordsDumping()
|
CordsDumping()
|
||||||
FinishCircling()
|
#FinishCircling()
|
||||||
#print(TrackBack)
|
#print(TrackBack)
|
||||||
#print(Tree_Array)
|
#print(Tree_Array)
|
||||||
func FoundGoal():
|
func FoundGoal():
|
||||||
@@ -401,7 +402,6 @@ func TravelLog():
|
|||||||
func BackTracking():
|
func BackTracking():
|
||||||
if Cicling == false:
|
if Cicling == false:
|
||||||
if Detail_Dict.Type != "Plain Path" and Detail_Dict.Been_There == false:
|
if Detail_Dict.Type != "Plain Path" and Detail_Dict.Been_There == false:
|
||||||
|
|
||||||
if BackTrack_Array.find(move) == -1:
|
if BackTrack_Array.find(move) == -1:
|
||||||
print("GO TIME")
|
print("GO TIME")
|
||||||
BackTrack_Array.push_back(move)
|
BackTrack_Array.push_back(move)
|
||||||
@@ -433,11 +433,18 @@ func Circling():
|
|||||||
HowManyIntsInCircle()
|
HowManyIntsInCircle()
|
||||||
if CircleInts == 0:
|
if CircleInts == 0:
|
||||||
print("This Circle is exhausted go back")
|
print("This Circle is exhausted go back")
|
||||||
|
print(Individual_Steps)
|
||||||
|
print(CircleIntsMax)
|
||||||
for n in CircleIntsMax:
|
for n in CircleIntsMax:
|
||||||
Individual_Steps.pop_front()
|
Individual_Steps.pop_front()
|
||||||
|
Reorient(Intersections.find(Current_Position)-1)
|
||||||
|
FlipAround()
|
||||||
|
print(Individual_Steps[0])
|
||||||
|
print(Individual_Steps[0])
|
||||||
GoBack(Individual_Steps[0])
|
GoBack(Individual_Steps[0])
|
||||||
|
FlipAround()
|
||||||
Individual_Steps.pop_front()
|
Individual_Steps.pop_front()
|
||||||
print(Individual_Steps)
|
#print(Individual_Steps)
|
||||||
Cicling = false
|
Cicling = false
|
||||||
print("Circling is false!!!!")
|
print("Circling is false!!!!")
|
||||||
for ints in CircleIntsMax+1:
|
for ints in CircleIntsMax+1:
|
||||||
@@ -446,9 +453,9 @@ func Circling():
|
|||||||
Ordered_Commands_Backward.clear()
|
Ordered_Commands_Backward.clear()
|
||||||
print(Tree_Array)
|
print(Tree_Array)
|
||||||
|
|
||||||
if CircleInts != 0:
|
#if CircleInts != 0:
|
||||||
print("Go back to circle part :(")
|
# print("Go back to circle part :(")
|
||||||
FirstCirclePart()
|
# FirstCirclePart()
|
||||||
move_check5 = move
|
move_check5 = move
|
||||||
|
|
||||||
func HowManyIntsInCircle():
|
func HowManyIntsInCircle():
|
||||||
@@ -612,19 +619,19 @@ func Intersection_Tree():
|
|||||||
Move_Check2 = move
|
Move_Check2 = move
|
||||||
|
|
||||||
func CheckForTreeDeadEnds():
|
func CheckForTreeDeadEnds():
|
||||||
|
if Cicling == false:
|
||||||
if Tree_Array.size() > 0:
|
if Tree_Array.size() > 0:
|
||||||
if Tree_Array[-1] <= 0:
|
if Tree_Array[-1] <= 0:
|
||||||
Tree_Array.pop_back()
|
Tree_Array.pop_back()
|
||||||
FlipAround()
|
FlipAround()
|
||||||
print("vvvvvv GOING FROM THIS PATH vvvvvv")
|
print("vvvvvv GOING FROM THIS PATH vvvvvv")
|
||||||
print(Individual_Steps[0])
|
print(Individual_Steps[0])
|
||||||
GoBack(Individual_Steps[0])
|
GoBack(Individual_Steps[0])
|
||||||
Reorient(Intersections.find(Current_Position) -1)
|
Reorient(Intersections.find(Current_Position) -1)
|
||||||
Individual_Steps.pop_front()
|
Individual_Steps.pop_front()
|
||||||
Tree_Array[-1] -= 1
|
Tree_Array[-1] -= 1
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func GiveOrder():
|
func GiveOrder():
|
||||||
if Cicling == false:
|
if Cicling == false:
|
||||||
@@ -1072,12 +1079,12 @@ func RMove(SetDirection):
|
|||||||
FullCount += 1
|
FullCount += 1
|
||||||
|
|
||||||
func AutoSolve():
|
func AutoSolve():
|
||||||
var DirectionStrengths = [6 ,6,8]
|
var DirectionStrengths = [6 ,6,12]
|
||||||
var Colliders = RaycastHelper()
|
var Colliders = RaycastHelper()
|
||||||
var DirArray = ["R","L","F"]
|
var DirArray = ["R","L","F"]
|
||||||
var Turns = ["R","L"]
|
var Turns = ["R","L"]
|
||||||
var OriChange90 = ["L", "R", "F","Flip"]
|
var OriChange90 = ["R", "L", "Flip","F"]
|
||||||
var OriChange270 = ["R", "L","FLip","F"]
|
var OriChange270 = ["L", "R","F","Flip"]
|
||||||
var OriChange0 = ["Flip", "F", "L", "R"]
|
var OriChange0 = ["Flip", "F", "L", "R"]
|
||||||
var OriChnage180 = ["F","Flip","R","L"]
|
var OriChnage180 = ["F","Flip","R","L"]
|
||||||
var DumpDuplicate = LogDump
|
var DumpDuplicate = LogDump
|
||||||
@@ -1087,6 +1094,7 @@ func AutoSolve():
|
|||||||
var OptionArrays = [[cp[0],cp[1]+1],[cp[0],cp[1]-1],[cp[0]+1,cp[1]],[cp[0]-1,cp[1]]]
|
var OptionArrays = [[cp[0],cp[1]+1],[cp[0],cp[1]-1],[cp[0]+1,cp[1]],[cp[0]-1,cp[1]]]
|
||||||
var GoOrNot = []
|
var GoOrNot = []
|
||||||
var Options = ["Above", "Below", "The Right", "The Left"]
|
var Options = ["Above", "Below", "The Right", "The Left"]
|
||||||
|
var FoundOrNot = [Cords.find(OptionArrays[0]),Cords.find(OptionArrays[1]),Cords.find(OptionArrays[2]),Cords.find(OptionArrays[3])]
|
||||||
var ALLORI = [OriChange0,OriChange90,OriChnage180,OriChange270]
|
var ALLORI = [OriChange0,OriChange90,OriChnage180,OriChange270]
|
||||||
var OriNums = [0,90,180,270]
|
var OriNums = [0,90,180,270]
|
||||||
|
|
||||||
@@ -1096,12 +1104,22 @@ func AutoSolve():
|
|||||||
DirectionStrengths[n] -= 5000
|
DirectionStrengths[n] -= 5000
|
||||||
if DirArray[n] == "R" or DirArray[n] == "L":
|
if DirArray[n] == "R" or DirArray[n] == "L":
|
||||||
if Turns.find(Prev_dir) != -1:
|
if Turns.find(Prev_dir) != -1:
|
||||||
print("Kill turns")
|
#print("Kill turns")
|
||||||
DirectionStrengths[n] -= 2500
|
DirectionStrengths[n] -= 2500
|
||||||
#for x in OptionArrays:
|
#print(FoundOrNot)
|
||||||
#print(Ori)
|
#print(Options)
|
||||||
#print(Options[OptionArrays.find(x)])
|
#print(ALLORI[OriNums.find(Ori)])
|
||||||
#0 #print(Cords.find(x))
|
var Boom = ALLORI[OriNums.find(Ori)]
|
||||||
|
var subtracted = []
|
||||||
|
for x in FoundOrNot:
|
||||||
|
if x != -1:
|
||||||
|
subtracted.push_back(Boom[FoundOrNot.find(x)])
|
||||||
|
subtracted.erase("Flip")
|
||||||
|
for p in subtracted:
|
||||||
|
var takeout = DirArray.find(p)
|
||||||
|
DirectionStrengths[takeout] -= 1000
|
||||||
|
|
||||||
|
|
||||||
if Individual_Steps.size() < 1 and Ordered_Commands_Backward.size() > 1:
|
if Individual_Steps.size() < 1 and Ordered_Commands_Backward.size() > 1:
|
||||||
if Ordered_Commands_Backward[0] == DirArray[n]:
|
if Ordered_Commands_Backward[0] == DirArray[n]:
|
||||||
DirectionStrengths[n] -= 25
|
DirectionStrengths[n] -= 25
|
||||||
@@ -1129,5 +1147,5 @@ func AutoSolve():
|
|||||||
print("The Direction with the lowest points is ", DirArray[HighestPoints], "!")
|
print("The Direction with the lowest points is ", DirArray[HighestPoints], "!")
|
||||||
Move(DirArray[HighestPoints])
|
Move(DirArray[HighestPoints])
|
||||||
#print(Detail_Dict)
|
#print(Detail_Dict)
|
||||||
print(move)
|
#print(move)
|
||||||
#print(Ordered_Commands_Backward)
|
#print(Ordered_Commands_Backward)
|
||||||
|
|||||||
Reference in New Issue
Block a user