Icon representing a recipe

Recipe: enderjunzi bluprnt single shy devil whole sheets

created by zo3xiaJonWeinberg

Profile


Name
enderjunzi bluprnt single shy devil whole sheets
ID
106500
Shared with
Public
Parent
enderjunzi bluprnt shy devil whole sheets
Children
Created on
April 09, 2022 at 23:50 PM UTC
Updated on
April 09, 2022 at 23:50 PM UTC
Description

may be considered cheating on
puzzles without blueprint,
but blueprint is probably disabled
on puzzles that don't benefit
from it,
and this recipe alone won't
always succeed
in making building blocks in those.
However, this is a step in giving A.i.
the tools that players have
from the get-go;
"One small step for man,"
one giant leap for NPC's.
Hopefully there will be recipe
functions in the future.
If someone streams the recipe,
I would probs watch it, because
Foldit heats up the air and dries it.
Even though the recipes can't
get the blueprint just right, it still
somewhat resembles a
top-player's moves,
so it's fun to try.
I may unshare recipes so as not to
clog the repo.
Experimentally added
random sheets.
Preluded with endgame detection,
hold space to skip or give it a hint.
For single-start puzzles, but has
a 1/40 chance of restarting each
block that is placed.

Best for


Code


-- keep blank help() print("cur "..current.GetEnergyScore()) print("credit "..creditbest.GetEnergyScore()) recentbest.Save() local controlgroup=false --made sure not to load old environment variables, guess lua here is ok fuseki=false --opposite of endgame, beg. game really --assume playr has already tried something before starting the recipe, try polish while true do if not controlgroup and fuseki then if math.random(40)>1 then recentbest.Restore() band.DeleteAll() else puzzle.StartOver() end behavior.SetClashImportance(1) behavior.SetSidechainHBondImportance(1) behavior.SetBackboneHBondImportance(1) selection.DeselectAll() xloop=math.random(0,2) --extra loops in the cornerstone of the arch, --set to -1 for just helices? crash xlup=--2-xloop math.random(0,2) --set to 0 for just hel? --sometimes the recipe fails anyways (even in an otherwise successful location, making a big helix) repeat cornerstone=math.random(1+5+xloop,structure.GetCount()-5-xlup) for i=cornerstone-xloop,cornerstone+xlup do segslocked=false or structure.IsLocked(i) end until not segslocked seth={cornerstone-2-xloop,cornerstone-1-xloop,cornerstone+1+xlup,cornerstone+2+xlup, cornerstone-4-xloop,cornerstone-3-xloop,cornerstone+3+xlup,cornerstone+4+xlup, cornerstone-5-xloop, cornerstone+5+xlup,} ss={"h","e","l","a"} pillar1ss=ss[math.random(2)] pillar2ss=ss[math.random(2)] for i =cornerstone-5-xloop,cornerstone-1-xloop do print("first pillar "..i) structure.SetSecondaryStructure(i,pillar1ss) selection.Select(i) end for i =cornerstone+1+xlup,cornerstone+5+xlup do print("2nd pillar "..i) structure.SetSecondaryStructure(i,pillar2ss) selection.Select(i) end structure.SetSecondaryStructure(cornerstone-xloop,"l") structure.SetSecondaryStructure(cornerstone+xlup,"l") structure.SetSecondaryStructure(cornerstone,"l") --selection.Select(cornerstone) structure.IdealSSSelected()--seth[i]) cornerstoneToHel=band.AddBetweenSegments(cornerstone-2-xloop,cornerstone+1+xlup) cornerstoneBow=band.AddBetweenSegments(cornerstone-1-xloop,cornerstone+1+xlup) cornerstoneToHel2=band.AddBetweenSegments(cornerstone-1-xloop,cornerstone+2+xlup) helixToHelix=band.AddBetweenSegments(cornerstone-2-xloop,cornerstone+2+xlup) downHelixToDownHelix=band.AddBetweenSegments(cornerstone-4-xloop,cornerstone+4+xlup) downHelix5ToDownHelix5=band.AddBetweenSegments(cornerstone-5-xloop,cornerstone+5+xlup) --sometimes swapping close and far after it looks good can help squeeze the helices together closeHel=band.AddBetweenSegments(cornerstone+2+xlup,cornerstone) farHel=band.AddBetweenSegments(cornerstone-2-xloop,cornerstone) print(cornerstoneBow,cornerstoneToHel,helixToHelix,cornerstoneToHel2) band.SetGoalLength(cornerstoneBow,6.63+xloop+xlup+9)--extra extra extra expansion at before fulcrum band.SetGoalLength(cornerstoneToHel,8.98+xloop+xlup) band.SetGoalLength(cornerstoneToHel2,6.05+xloop+xlup)--approx band.SetGoalLength(downHelix5ToDownHelix5,12.21-12)--jiayou band.SetGoalLength(downHelixToDownHelix,5.31) band.SetGoalLength(helixToHelix,9.54)--fulcrum band.SetGoalLength(farHel,5.53)-- far hel (corner+2) to corner band.SetGoalLength(closeHel,5.25)-- close hel (corner-2) to corner band.SetStrength(cornerstoneToHel,1.5) band.SetStrength(cornerstoneToHel2,1.5) band.SetStrength(downHelixToDownHelix,1.5)--max band.SetStrength(downHelix5ToDownHelix5,1.5)--max band.SetStrength(helixToHelix,1.5) band.SetStrength(farHel,1.5) band.SetStrength(closeHel,1.5) band.SetStrength(cornerstoneBow,1.5) structure.LocalWiggleAll(10) structure.WiggleAll(6)--10) behavior.SetClashImportance(1) behavior.SetSidechainHBondImportance(1) behavior.SetBackboneHBondImportance(1) band.SetGoalLength(cornerstoneBow,6.63+xloop+xlup)--extra extra w/o expansion past fulcrum band.SetGoalLength(downHelix5ToDownHelix5,12.21)--fangxin --structure.IdealSSSelected()--seth[i]) wannafreeze=false if wannafreeze then for i =1,#seth do print(i) --freeze.Freeze(seth[i],true,false)--bb ss --selection.Select(seth[i]) end end end band.DisableAll() previters=current.GetEnergyScore() repeat previters=current.GetEnergyScore() structure.LocalWiggleAll(10) structure.WiggleAll(10) structure.ShakeSidechainsAll(1) structure.MutateSidechainsAll(1) until previters+2>=current.GetEnergyScore() fuseki=true --forfeit, rematch, reopen the [drawing] board end

Comments