//在头文件声明
QVector<int>* _InitSnakeCor;
//构造函数内_InitSnakeCor初始化
QtGreedySnake::QtGreedySnake(QWidget *parent)
: QMainWindow(parent)
{
this->setWindowTitle(tr("贪吃蛇"));//设置窗口名称
this->setGeometry(600, 200, 700, 600);
//初始化贪吃蛇蛇头坐标容器,用容器_InitSnakeCor的第一个值表示x坐标,第二个值表示y坐标
_InitSnakeCor = new QVector<int>;
int initSnakeX = 15;
int initSnakeY = 10;
_InitSnakeCor->push_back(initSnakeX);
_InitSnakeCor->push_back(initSnakeY);
}
//成员函数内修改_InitSnakeCor指针容器特定位置的元素的值
void QtGreedySnake::snakeMove()
{
{
switch (_Direct)
{
case UP: (*_InitSnakeCor)[1] += 20 ;//这样的写法是正确的
case DOWN: (*_InitSnakeCor)[1] -= 20;
case RIGHT: _InitSnakeCor->at(0) += 20;//这样是错误的,无法被赋值的左值
case LEFT: _InitSnakeCor->at(0) -= 20;//
{
case UP: (*_InitSnakeCor)[1] += 20 ;//这样的写法是正确的
case DOWN: (*_InitSnakeCor)[1] -= 20;
case RIGHT: _InitSnakeCor->at(0) += 20;//这样是错误的,无法被赋值的左值
case LEFT: _InitSnakeCor->at(0) -= 20;//
default:
break;
}
}
break;
}
}