Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions build/Desktop_Qt_6_2_4_MinGW_64_bit-Debug/.qmake.stash
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
QMAKE_CXX.QT_COMPILER_STDCXX = 201703L
QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 11
QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 2
QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_GCC_MAJOR_VERSION \
QMAKE_GCC_MINOR_VERSION \
QMAKE_GCC_PATCH_VERSION
QMAKE_CXX.INCDIRS = \
C:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++ \
C:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/x86_64-w64-mingw32 \
C:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/c++/backward \
C:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include \
C:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0/include-fixed \
C:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/include
QMAKE_CXX.LIBDIRS = \
C:/Qt/Tools/mingw1120_64/lib/gcc/x86_64-w64-mingw32/11.2.0 \
C:/Qt/Tools/mingw1120_64/lib/gcc \
C:/Qt/Tools/mingw1120_64/x86_64-w64-mingw32/lib \
C:/Qt/Tools/mingw1120_64/lib
3 changes: 3 additions & 0 deletions gamecontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@
#include <QMessageBox>
#include <QAction>
#include <iostream>
#include <cstdlib> // 添加头文件

// 在文件开头定义(不推荐长期使用)
#define qrand() rand()
#include "gamecontroller.h"
#include "food.h"
#include "snake.h"
Expand Down
8 changes: 8 additions & 0 deletions snake.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Snake::Snake(GameController &controller) :
moveDirection(NoMove),
controller(controller)
{
lastDirectionChangeTime = QTime::currentTime(); // 初始化时间
}

QRectF Snake::boundingRect() const
Expand Down Expand Up @@ -72,7 +73,14 @@ void Snake::setMoveDirection(Direction direction)
return;
if (moveDirection == MoveDown && direction == MoveUp)
return;
// 检查时间间隔
QTime currentTime = QTime::currentTime();
if (lastDirectionChangeTime.isValid() && lastDirectionChangeTime.msecsTo(currentTime) < 100) { // 100 毫秒的时间间隔
return;
}

moveDirection = direction;
lastDirectionChangeTime = currentTime; // 更新时间
}

Snake::Direction Snake::currentDirection()
Expand Down
4 changes: 2 additions & 2 deletions snake.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <QGraphicsItem>
#include <QRectF>

#include <QTime> // 添加这一行
class GameController;

class Snake : public QGraphicsItem
Expand Down Expand Up @@ -36,7 +36,7 @@ class Snake : public QGraphicsItem
void moveDown();

void handleCollisions();

QTime lastDirectionChangeTime; // 添加成员变量
QPointF head;
int growing;
int speed;
Expand Down