Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.63 KB | None | 0 0
  1. // #region game core
  2. // ...
  3. const getStateAfterFoodProcessing = (state) => {
  4. const headSegment = new Segment(
  5. getLastElement(getWithoutLastElement(state.snake)),
  6. getLastElement(state.snake)
  7. )
  8. if (!headSegment.isPointInside(state.food)) return state
  9.  
  10. const [tailEnd, beforeTailEnd, ...restOfSnake] = state.snake
  11. const tailSegment = new Segment(beforeTailEnd, tailEnd)
  12. const newTailEnd = tailEnd.add(tailSegment.getVector().normalize())
  13. const snake = [newTailEnd, beforeTailEnd, ...restOfSnake]
  14. const food = getFood(state.width, state.height, snake)
  15. return {
  16. ...state,
  17. snake,
  18. score: state.score + 1,
  19. food
  20. }
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement