ZIYI CHEN ml17z4c 201214999
Dependencies: mbed
Game/Game.cpp
- Committer:
- ziyi11
- Date:
- 2019-05-09
- Revision:
- 13:08bdb4cffacd
File content as of revision 13:08bdb4cffacd:
#include "Game.h" Game::Game() { } Game::~Game() { } void Game::init(int x, int y) { memset(_x, 0, sizeof(_x)); memset(_y, 0, sizeof(_y)); _length = 5; Previous_direction = 'N'; for (int i = 0; i < _length; i++) { _x[i] = x; _y[i] = y + i; } } void Game::update(Direction d) { for (int i = _length-1; i >= 1; i--) { _x[i] = _x[i-1]; _y[i] = _y[i-1]; } switch(d) { case N: if(Previous_direction !='S') { _y[0] = _y[0] - 1; Previous_direction = 'N'; } break; case S: if(Previous_direction !='N') { _y[0] = _y[0] + 1; Previous_direction = 'S'; } break; case E: if(Previous_direction != 'W') { _x[0] = _x[0] + 1; Previous_direction = 'E'; } break; case W: if(Previous_direction != 'E') { _x[0] = _x[0]- 1; Previous_direction = 'W'; } break; } if (Previous_direction == 'N') { _y[0] = _y[0] - 1; } else if (Previous_direction == 'S') { _y[0] = _y[0] + 1; } else if (Previous_direction == 'E') { _x[0] = _x[0] + 1; } else if (Previous_direction == 'W') { _x[0] = _x[0] - 1; } } int Game::getLength() { return _length; } void Game::grow() { _length =_length + 1; printf("length + 1\n"); } int Game::xcoordinate(int now) { return _x[now]; } int Game::ycoordinate(int now) { return _y[now]; }