
#ifndef header_gameobject
#define header_gameobject

#if _MSC_VER > 1000
#pragma once
#endif

class GameObject
{
//!Construction:
public:
	//: Destructor.
	virtual ~GameObject() { return; }

//!Attributes:
public:
	//: Returns x position of the object.
	virtual float get_x() = 0;

	//: Returns y position of the object.
	virtual float get_y() = 0;

//!Operations:
public:
	//: Draw object on graphic context, where map is at (view_x, view_y).
	virtual void show(int view_x, int view_y, CL_GraphicContext *gc = 0) = 0;

	//: Moves the object around.
	virtual bool turn(float time_elapsed) = 0;

//!Implementation:
private:
};

#endif
