private void doesEatRegime() { if (isEnd) return; if (Math.abs(blocks.peekFirst().getX() - regimeRectangle.getX()) < 10 && Math.abs(blocks.peekFirst().getY() - regimeRectangle.getY()) < 10 && System.currentTimeMillis() - currentTime <= 10000) { regimeRectangle.setX(1200); isRegime = false; ++score; scoreLabel.setText(String.valueOf(score)); blocks.pollLast(); blocks.pollLast(); blocks.pollLast(); group.getChildren().remove(rectangles.peekLast()); rectangles.pollLast(); group.getChildren().remove(rectangles.peekLast()); rectangles.pollLast(); group.getChildren().remove(rectangles.peekLast()); rectangles.pollLast(); } if (System.currentTimeMillis() - currentTime > 10000) { regimeRectangle.setX(1200); isRegime = false; } }
private void play() { if (isReload) reloadGame(); if (isEnd || isPause) return; addFeed(); doesEatFeed(); addRegime(); doesEatRegime(); crossBorder(); head = blocks.peekFirst(); Block newHead = new Block(head.getX() + dx[inputDirection], head.getY() + dy[inputDirection]); Rectangle headRect = new Rectangle(head.getX(), head.getY(), 10, 10); if (isEnd(newHead)) { isEnd = true; // Image image = new Image(this.getClass().getResourceAsStream("/gameOver.png")); // ImageView imageView = new ImageView(image); // group.getChildren().add(imageView); // scene.setOnKeyPressed(null); saveRecord(); showRecord(); return; } else { blocks.push(newHead); rectangles.push(headRect); blocks.pollLast(); updateGui(); } }
public int pop() { stack.pollLast(); size--; if (stack.isEmpty()) { // System.out.println("EMPTY"); return 0; } int result = stack.peekLast(); return result; }
public int inc(int bom, int dis) { bom %= size; if (bom == 0) { bom = size; } Deque<Integer> tempStack = new LinkedList<Integer>(); for (int i = 0; i < bom; i++) { tempStack.offerLast(stack.pollFirst() + dis); } for (int i = 0; i < bom; i++) { stack.offerFirst(tempStack.pollLast()); } return stack.peekLast(); }
private void updateGui() { if (isEnd) return; group.getChildren().remove(rectangles.peekLast()); rectangles.pollLast(); List<Rectangle> rectangleList = new ArrayList<>(rectangles); try { for (int i = 0; i < rectangleList.size() - 1; i++) group.getChildren().add(rectangleList.get(i)); } catch (Exception e) { } }