♚肆寂♪ 2021-08-08 14:06 采纳率: 100%
浏览 44
已结题

Java贪吃蛇原地回头

Java贪吃蛇如何解决按的太快蛇原地回头的问题

  • 写回答

2条回答 默认 最新

  • ♚肆寂♪ 2021-08-08 14:12
    关注

    if (isStart&&!isOver){
    //蛇移动的方法
    if(dir.equals("R")){
    this.follow();//这个是蛇身体往头的方向移动一格的方法
    snakeX[0] = snakeX[0] + 25;
    }
    if(dir.equals("L")){
    this.follow();
    snakeX[0] = snakeX[0] - 25;
    }
    if(dir.equals("U")){
    this.follow();
    snakeY[0] = snakeY[0] - 25;
    }
    if(dir.equals("D")){
    this.follow();
    snakeY[0] = snakeY[0] + 25;
    }
    //边界判断
    if (snakeX[0]<0||snakeX[0]>775){
    isOver = true;
    }
    if (snakeY[0]<50||snakeY[0]>575){
    isOver = true;
    }
    //撞到自己判断
    for (int i = 1; i < length; i++) {
    if (snakeX[0] == snakeX[i] && snakeY[0] == snakeY[i]) {
    isOver = true;
    break;
    }
    }
    //吃到食物(蛇头碰到食物)长度加1,刷新食物位置
    if(snakeX[0]==foodX&&snakeY[0]==foodY){
    length++;
    food();
    }
    repaint();
    }

    评论

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 创建了问题 8月8日