#if !defined (__POINT_HPP)
#define __POINT_HPP 1

enum Boolean     { false, true };
// ------------------------------------------------------- CLASS Point

class Point
{
public:
  Point(int initX, int initY, int initCol);      // Konstruktor
  Point();
  ~Point();

  void Show( int color=-1 );                     // T„nd punkten
  void Hide();	                                 // Sl„ck punkten
  void MoveTo(int new_x, int new_y);             // Flytta punkten

  Boolean IsVisible() { return visible; };       // Returnera status
  int GetX() { return x; };
  int GetY() { return y; };
  int GetColor() { return color; };

  void SetX(int new_x) { x = new_x; };
  void SetY(int new_y) { y = new_y; };
  void SetColor( int col ) { color = col; };

private:
  int color;                                     // Punktens f„rg
  int x;                                         // X koordinat
  int y;	                                       // Y koordinat
  Boolean visible;                               // Status
};

// ------------------------------------------------------- CLASS Target

class Target {
  Boolean visible;                               // Status
  int x_pos, y_pos;

public:
  int value;
  int color;
  int size;

  Target(int InitValue, int InitColor, int InitSize); // Konstruktor

  void Show();                                   // T„nd m†let
  void Hide();	                                 // Sl„ck m†let
  void RandomPlace();                            // Slumpa ut ny position
  Boolean Hit(int x, int y);                     // Kolla efter kollision
};

#endif // __POINT_HPP 
