宣布枚举以及是否在其元素上

Declared enum and IF on its elements

本文关键字:是否 元素 布枚举 枚举      更新时间:2023-10-16

我正在从事蛇游戏。虽然我有一个小问题。我用可能的方向创建了枚举:

    enum Direction{
    n = 0, // north
    e = 1, // east
    s = 2, // south
    w = 3 // west
};

,然后我创建了一个更改的函数,基于先前的方向将改变它。(例如,如果您转到右/向东,则不能切换到左/西):

void ChangeDirection(char key){
    switch (key){
    case 'w':
        if (Direction != 2)
            Direction = 0;
        break;
    case 'd':
        if (Direction != 3)
            Direction = 1;
        break;
    case 's':
        if (Direction != 0)
            Direction = 2;
        break;
    case 'a':
        if (Direction != 1)
            Direction = 3;
        break;
    }

但是我的IF显然不起作用;发生以下错误:

在'!='令牌之前预期的主要表达

有人可以帮忙吗?如何重新排列它工作?为什么不起作用?谢谢!

Direction CurrentDir = e; // somewhere in the code
// ....
//another place in the code, so on..
CurrentDir = s; 
//....

void ChangeDirection(char key){
    switch (key){
    case 'w':
        if (CurrentDir != s)
            CurrentDir = n;
        break;
    case 'd':
        if (CurrentDir != w)
            CurrentDir = e;
        break;
   // so on ..
    }
相关文章: