12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /**
- * one room arena
- * Copyright (C) 2016 POSITIVE MENTAL ATTITUDE
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 3 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- #pragma once
- #include <SFML/Graphics.hpp>
- using namespace sf;
- class Map;
- class Player;
- class Bullet: public RectangleShape
- {
- public:
- Bullet(Vector2f position, float angle, int strength);
- void registerMap(Map* map);
- void registerSelf(Player* player);
- void update(float delta);
- bool isDead() const;
- bool isExplosive() const;
- void setColor(Color color);
- void madeByPlayer();
- protected:
- bool _explosive;
- float _speed;
- private:
- Map* _map;
- Player* _self;
- bool _dead;
- int _strength;
- bool _madeByPlayer;
- };
- class RectBullet: public Bullet
- {
- public:
- RectBullet(Vector2f position, float angle, int strength);
- };
- class NukeBullet: public Bullet
- {
- public:
- NukeBullet(Vector2f position, float angle, int strength);
- private:
- Texture _badlyAllocatedTexture;
- };
|