MCPcopy Create free account
hub / github.com/codecombat/codecombat / generateDefendThangs

Function generateDefendThangs

app/lib/terrain-generation.js:705–730  ·  view source on GitHub ↗
(result, defendThangsGoal)

Source from the content-addressed store, hash-verified

703}
704
705function generateDefendThangs (result, defendThangsGoal) {
706 let lastThangCount = result.thangs.length
707 let addedThangCount = 0
708 for (let i = 0; i <= Math.floor(Math.random() * 8);) {
709 const defendThang = {
710 id: getRandomThang(['Chicken Junior']),
711 pos: getRandomPosition(result),
712 margin: 0
713 }
714 if (addThang(result, defendThang)) {
715 if (result.thangs.length === lastThangCount) { break }
716 lastThangCount = result.thangs.length
717 if (i === 0) {
718 defendThangsGoal.saveThangs = []
719 }
720 const newID = defendThang.id + (addedThangCount ? ' ' + addedThangCount : '')
721 defendThangsGoal.saveThangs.push(newID)
722 ++addedThangCount
723 ++i
724 }
725 if (!defendThangsGoal.saveThangs.length) {
726 console.log("Couldn't find space for a chicken; removing defendThangsGoal")
727 result.goals = _.without(result.goals, defendThangsGoal)
728 }
729 }
730}
731
732const buildFunctions = {}
733

Callers 1

generateThangsFunction · 0.85

Calls 4

getRandomThangFunction · 0.85
getRandomPositionFunction · 0.85
addThangFunction · 0.85
logMethod · 0.80

Tested by

no test coverage detected