thing.cpp

来自「一个语言识别引擎」· C++ 代码 · 共 42 行

CPP
42
字号
// -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*-

#include <stdio.h>


#include "Thing.h"
#include "Game.h"

Thing Thing::NOTHING;

void Thing::set(ID n_x, ID n_y, ID n_id) {
    x = n_x;
    y = n_y;
    id = n_id;
    Game& game = Game::getGame();
    game.setCell(x,y,id);
}

void Thing::applyMove() {
    Game& game = Game::getGame();

    if (dx!=0 || dy!=0) {

        ID x2 = x.asInt()+dx;
        ID y2 = y.asInt()+dy;
    
        if (game.getCell(x2,y2)==0) {
            game.setCell(x,y,0);    
            x = x2;
            y = y2;
            game.setCell(x,y,id);
            printf("Implemented move for %ld\n", id.asInt());
        } else {
            printf("Ignored blocked move\n");
        }

        dx = dy = 0;
    }
}
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?