fissh

termios terminal aquarium. demo at ssh://fish@kloet.net
Download | Log | Files | Refs

Ship.h (652B)


      1 #pragma once
      2 #include "../assets/ShipAssets.h"
      3 #include "Entity.h"
      4 
      5 class Ship : public Entity {
      6 private:
      7   static constexpr float SHIP_SPEED = 1.0f;
      8 
      9   const std::vector<std::string> &image;
     10   const std::vector<std::string> &mask;
     11   const float speed;
     12 
     13   explicit Ship(int asset_index);
     14   static int getRandomDirection();
     15 
     16 public:
     17   Ship();
     18 
     19   void update() noexcept override;
     20   const std::vector<std::string> &getImage() const override { return image; }
     21   const std::vector<std::string> &getMask() const override { return mask; }
     22   char getDefaultColor() const noexcept override { return 'W'; }
     23 
     24   int getPreferredLayer() const noexcept override;
     25 };