public void OnKeyPressed(Int32 x, Int32 y, System.Windows.Forms.Keys key) { // 1 represents obstacles if (key == System.Windows.Forms.Keys.Up) { if (x - 1 != -1 && _table[x - 1, y] != 1) { _table.Player.setXY(x - 1, y); } } else if (key == System.Windows.Forms.Keys.Down) { if (x + 1 < _table.Size && _table[x + 1, y] != 1) { _table.Player.setXY(x + 1, y); } } else if (key == System.Windows.Forms.Keys.Left) { if (y - 1 != -1 && _table[x, y - 1] != 1) { _table.Player.setXY(x, y - 1); } } else if (key == System.Windows.Forms.Keys.Right) { if (y + 1 < _table.Size && _table[x, y + 1] != 1) { _table.Player.setXY(x, y + 1); } } //3 represents baskets if (_table[_table.Player.GetX, _table.Player.GetY] == 3) { _score++; } //if game is won, emitting game won signal if (_score == _table.MaxScore) { EventArgs e; e = new EventArgs(); GameWon(this, e); } for (int i = 0; i < _table.EnemyNum; i++) { Int32 e_x = _table.Enemy(i).GetX; Int32 e_y = _table.Enemy(i).GetY; Int32 p_x = _table.Player.GetX; Int32 p_y = _table.Player.GetY; //if players coordinate is around one of the enemies coordinates, //emitting game lost signal if (p_x == e_x + 1 && p_y == e_y + 1 || p_x == e_x + 1 && p_y == e_y - 1 || p_x == e_x - 1 && p_y == e_y - 1 || p_x == e_x - 1 && p_y == e_y + 1 || p_x == e_x + 1 && p_y == e_y || p_x == e_x - 1 && p_y == e_y || p_x == e_x && p_y == e_y + 1 || p_x == e_x && p_y == e_y - 1 ) { EventArgs e; e = new EventArgs(); GameLost(this, e); return; } } }