Loading draw/spaceinvaders/spaceinvaders.go +24 −14 Original line number Diff line number Diff line Loading @@ -182,7 +182,6 @@ func hasArm2(invader invader, squares, xQ, yQ int) (arm bool) { if xQ == half-1 || xQ == squares-half { arm = true } } return } Loading Loading @@ -225,6 +224,28 @@ func hasArmExtension2(invader invader, squares, xQ, yQ int) (armExtension bool) return } func hasArmDown(invader invader, armIndex, squares, xQ, yQ int) (armDown bool) { if yQ != armIndex || invader.armsUp || invader.armSize >= 3 { return } if invader.arms <= 0 { return } leftOver := squares - invader.length half := leftOver / 2 if (squares - half - half - 1) >= invader.length { if xQ == half-1 || xQ == squares-half { armDown = true } } else { if xQ == half-2 || xQ == squares+1-half { armDown = true } } return } func hasBody(invader invader, squares, xQ int) (body bool) { leftOver := squares - invader.length half := leftOver / 2 Loading Loading @@ -375,20 +396,9 @@ func SpaceInvaders(w http.ResponseWriter, key string, colors []color.RGBA, size armIndex := getArmIndex(invader, lowBodyIndex) if yQ == armIndex && !invader.armsUp && invader.armSize < 3 { leftOver := squares - invader.length if invader.arms > 0 { if (squares - leftOver/2 - (leftOver / 2) - 1) >= invader.length { if xQ == (leftOver/2)-1 || xQ == squares-leftOver/2 { if hasArmDown(invader, armIndex, squares, yQ, xQ) { fill = draw.FillFromRGBA(colorMap[xQ]) } } else { if xQ == (leftOver/2)-2 || xQ == squares+1-leftOver/2 { fill = draw.FillFromRGBA(colorMap[xQ]) } } } } // arm down extension. if yQ == armIndex && !invader.armsUp && invader.armSize == 3 { Loading Loading
draw/spaceinvaders/spaceinvaders.go +24 −14 Original line number Diff line number Diff line Loading @@ -182,7 +182,6 @@ func hasArm2(invader invader, squares, xQ, yQ int) (arm bool) { if xQ == half-1 || xQ == squares-half { arm = true } } return } Loading Loading @@ -225,6 +224,28 @@ func hasArmExtension2(invader invader, squares, xQ, yQ int) (armExtension bool) return } func hasArmDown(invader invader, armIndex, squares, xQ, yQ int) (armDown bool) { if yQ != armIndex || invader.armsUp || invader.armSize >= 3 { return } if invader.arms <= 0 { return } leftOver := squares - invader.length half := leftOver / 2 if (squares - half - half - 1) >= invader.length { if xQ == half-1 || xQ == squares-half { armDown = true } } else { if xQ == half-2 || xQ == squares+1-half { armDown = true } } return } func hasBody(invader invader, squares, xQ int) (body bool) { leftOver := squares - invader.length half := leftOver / 2 Loading Loading @@ -375,20 +396,9 @@ func SpaceInvaders(w http.ResponseWriter, key string, colors []color.RGBA, size armIndex := getArmIndex(invader, lowBodyIndex) if yQ == armIndex && !invader.armsUp && invader.armSize < 3 { leftOver := squares - invader.length if invader.arms > 0 { if (squares - leftOver/2 - (leftOver / 2) - 1) >= invader.length { if xQ == (leftOver/2)-1 || xQ == squares-leftOver/2 { if hasArmDown(invader, armIndex, squares, yQ, xQ) { fill = draw.FillFromRGBA(colorMap[xQ]) } } else { if xQ == (leftOver/2)-2 || xQ == squares+1-leftOver/2 { fill = draw.FillFromRGBA(colorMap[xQ]) } } } } // arm down extension. if yQ == armIndex && !invader.armsUp && invader.armSize == 3 { Loading